🛡️ Nimeäminen-luokittelu¶
Tämä dokumentti määrittelee ekosysteemin yhtenäisen nimeämisstandardin. Standardi mahdollistaa dokumentaation automaattisen rakentamisen, projektien tarkan luokittelun ja saumattoman hallinnan kaikilla infrastruktuurin tasoilla.
Ydinperiaate: Projektin nimi on sen ensisijainen metadata-lähde. Jos nimeäminen epäonnistuu, automaattinen luokittelu ja haku portaalissa eivät toimi oikein.
Nimeämistyylien vertailu (Naming Conventions)¶
Tämä taulukko auttaa ymmärtämään eri koodaus- ja järjestelmästandardien välisiä eroja. Repostage-projektissa käytämme ensisijaisesti kebab-case-muotoa.
| Tyyli | Esimerkki | Kuvaus |
|---|---|---|
| kebab-case | tool-bash-script | Sanat erotettu väliviivalla. Suosittu URL-osoitteissa, tiedostonimissä ja pilvi-infrastruktuurissa. |
| snake_case | tool_bash_script | Sanat erotettu alaviivalla. Yleinen erityisesti Python-ohjelmoinnissa ja tietokantojen sarakkeissa. |
| camelCase | toolBashScript | Sanat alkavat isolla kirjaimella, paitsi ensimmäinen. Yleisin tyyli JavaScript- ja Java-muuttujissa. |
| PascalCase | ToolBashScript | Jokainen sana alkaa isolla kirjaimella. Käytetään yleisesti luokkien nimissä (esim. Java, C#, Python). |
Miksi kebab-case?¶
- URL-yhteensopivuus: Väliviivat ovat selainystävällisiä ja helposti luettavia.
- Selkeys: Erottuu selvästi koodin sisäisistä muuttujista (jotka ovat usein snake tai camel).
- Moderni standardi: Käytetään lähes kaikissa pilvipalveluissa (Docker, Kubernetes, AWS) resurssien nimeämiseen.
graph TD
%% Sisääntulo
subgraph Repot [Repositoriot: GitLab & GitHub]
NIMI[<b>Nimi:</b> kebab-case-rakenne]
META[<b>Metadata:</b> Topics/Tagit]
end
%% Automaatiokerros
subgraph Engine [Python Automaatio: main.py]
API[API-haku: requests]
REG[Regex: CATEGORY_REGEX]
DOC[Paikallinen README-analyysi]
end
%% Prosessi
NIMI --> API
META --> API
API --> REG
API --> DOC
%% Lopputulos
subgraph Output [Generointi]
TABLE[AutoEcosystem.md -taulukko]
PAGES[.pages navigaatio]
end
REG --> TABLE
DOC --> TABLE
TABLE --> PAGES
PAGES --> WEB[🌐 Dokumentaatiosivusto]
%% Tyylittely
style Engine fill:#fff4dd,stroke:#d97706,stroke-width:2px
style Output fill:#dcfce7,stroke:#166534
style Repot fill:#f1f5f9,stroke:#475569 1. Repositorion nimen rakenne¶
Käytetään kebab-case-muotoa (pienet kirjaimet, väliviiva erottimena).
Malli: [kategoria]-[aihe]-[tarkenne/vuosi]
Malli: study-fullstack-jamk2025
Readme.md: meta: JAMK ohjelmistotuotannon -kurssikokonaisuus.
Repositori-tagit: Täsmentävät sisältöä
Jokaisen repositorion README.md sisältää lyhyen, yhden rivin metatiedon, joka kuvaa projektin tarkoituksen, taustan tai alkuperän.
GitLab/GitHub‑tagit ovat manuaalisesti lisättäviä luokittelutietoja, joita automaatio käyttää täydentämään repositorion nimeä ja README.md:n meta:‑kenttää. Ne eivät muuta nimeämismallia, mutta tarjoavat lisäinformaatiota projektin teknologiasta, aiheesta ja tasosta automaation tuottamiin koosteisiin.
2. Kategoriat ja kuvaukset¶
Study- (opintokokonaisuudet)¶
Selite: Käytetään laajoille, monivuotisille tai useasta moduulista koostuville kokonaisuuksille, kuten tutkinnoille, sertifikaattipoluille tai laajoille ammatillisille kursseille. Tämä kategoria toimii "kotina" opintopoluille, jotka voivat sisältää useita konsepteja ja labroja.
Esimerkkejä: * study-softwareengineering-jamk2025 Meta: Ammattikorkeakoulun ohjelmistotuotannon koulutuskokonaisuus.
-
study-azuresolutions-architectMeta: Sertifikaattiin tähtäävä laaja opintopolku materiaaleineen. -
study-fullstack-hel2028Meta: Laaja Full Stack opintokokonaisuus, muistiinpanot ja harjoitukset.
Concept- (teoria ja arkkitehtuuri)¶
Selite: Sisältää teoreettista osaamista, muistiinpanoja ja teknologiavertailuja. Painopiste on syvässä ymmärryksessä ja dokumentaatiossa.
concept-aiprompt-engineeringMeta: Dokumentaatio ja testit promptien optimoinnista.concept-virtualization-basicsMeta: Selvitys virtualisoinnin eri muodoista.
Lab- (harjoitukset ja kokeilut)¶
Selite: Pieniä teknisiä kokeiluja tai kurssitehtäviä. Tarkoituksena on kokeilla uutta teknologiaa käytännössä (esim. koodi-labrat).
-
lab-linuxpermissions-audit: Meta: Harjoitus Linuxin tiedosto-oikeuksien hallinnasta. -
lab-javaoop-patterns: Meta: Harjoituskokoelma Java-suunnittelumalleista.
Project- (sovellukset ja kokonaisuudet)¶
Selite: Täysimittaiset ohjelmistoprojektit, joilla on selkeä käyttötarkoitus ja valmis lopputuote.
-
project-fastapi-inventoryapiMeta: Varastonhallinnan taustajärjestelmä. -
project-pythonllm-ragMeta: Tekoälysovellus omalla tietokannalla (RAG).
Tool- (skriptit ja apuvälineet)¶
Selite: Käytännön työkaluja (Bash, PowerShell, Python), jotka automatisoivat rutiinitehtäviä tai ylläpitoa.
-
tool-bashlog-analyzerMeta: Skripti palvelimen virhelokien parsimiseen. -
tool-powershelluser-onboardingMeta: Automaatio uusien AD-käyttäjien luontiin.
Config- (infrastruktuuri ja IaC)¶
Selite: Järjestelmien, palvelimien ja pilviympäristöjen konfigurointi (Ansible, Terraform, Docker Compose).
config-linuxnginx-hardenedMeta: Kiristetty Nginx-konfiguraatio.config-docker-fullstackMeta: Docker Compose -kokonaisuus verkkokaupalle.
Engine- (Ydinjärjestelmät)¶
Selite: Projektin omat "metajärjestelmät", jotka pyörittävät tätä automaatiota.
engine-repostage-v2Meta: Projektin nykyiset automaatiomoottorit.
3. Käytettävät tagit ja tilan merkitseminen (Tags)¶
| Kategoria | Tagi-esimerkkejä | Selite |
|---|---|---|
| Osaamistaso | level-100, level-200, level-300, level-400 | Osaamisen syvyys (Perusteet -> Arkkitehtuuri). |
| Projektin tila | state-discovery, state-prototype, state-stable | Projektin kypsyysaste. |
| Kielet | lang-python, lang-bash, lang-powershell, lang-js, lang-sql | Ensisijainen käytetty ohjelmointi- tai skriptauskieli. |
| Käyttöjärjestelmät | os-linux, os-windows, os-debian, os-rhel, os-active-directory | Kohdejärjestelmä tai hallittava ympäristö. |
| AI & LLM | ai-llm, ai-rag, ai-agents, ai-prompting, lib-langchain | Tekoälyintegraatiot ja kielimalliteknologiat. |
| Infra & Pilvi | tech-docker, tech-kubernetes, cloud-aws, cloud-azure, srv-proxmox | Kontitus, virtualisointi ja pilvialustat. |
| Automaatio (IaC) | sys-ansible, sys-terraform, sys-powershell-dsc, devops-pipeline | Infrastruktuuri koodina ja CI/CD-automaatio. |
| Verkko & Sec | net-vpn, net-firewalls, sec-hardening, sec-owasp | Verkkoasetukset ja tietoturvan kiristäminen. |
| Fullstack | fs-frontend, fs-backend, lib-react, lib-fastapi | Sovelluskerrokset ja käytetyt kirjastot. |
4. Automaatio ja Rakenne¶
study- kategoriassa automaatio voi kerätä kaikki kyseiseen opintopolkuun liittyvät lab- ja project- työt yhteen näkymään.
Näin voidaan osoittaa, miten yksittäiset harjoitukset muodostavat suuren kokonaisuuden ja johtavat lopulta esimerkiksi sertifikaattiin.
Tiivistys¶
Tämä rakenne mahdollistaa sen, että voidaan esitellä sekä pieniä täsmätaitoja (tool-) että valtavia, vuosia kestäneitä kehitysprojekteja (project-) samassa järjestelmässä loogisesti.
Dokumentin tila: Luonnos — Pvm: 11.01.2026