đź“‘ Projektit: lähtötilanne¶
⚙️ Repostage Automation: Ecosystem Discovery Engine¶
Repostagen kehitys alkaa tästä: Tämä Python-pohjainen automaatio on Repostagen "moottori". Se suorittaa projektien etsinnän (Discovery), metadatan keräämisen ja automaattisen dokumentaation generoinnin. Se muuttaa staattiset repositorio-listat dynaamiseksi ja eläväksi tietoportaaliksi.
🚀 Skriptin ydinliiketoimintalogiikka¶
Skripti toteuttaa Repostagen kolme pääperiaatetta, jotka varmistavat portaalin skaalautuvuuden:
- Aggregointi: Yhdistää hajautetut GitLab- ja GitHub-projektit yhteen navigoitavaan näkymään, poistaen tekniset siilot.
- Kategorisointi: Käyttää älykästä Regex-pohjaista tunnistusta (
CATEGORY_REGEX) ryhmittelemään projektit loogisiin kokonaisuuksiin (esim.infra,ml,devops). - Dokumentaation rikastaminen: Ei tyydy vain tekniseen API-dataan, vaan hakee projektin todellisen tarkoituksen lukemalla paikallisen
README.md-tiedoston sisällön kuvaukseksi.
📊 Automaattisesti generoitu "Project Ecosystem" -näkymä¶
Automaatio tuottaa _autogenerated.md -tiedoston, joka toimii koko organisaation ohjelmistoportfolion digitaalisena näyteikkunana.
Rakenteen analyysi:¶
- Source Branding: Käyttäjä näkee välittömästi, sijaitseeko koodi GitLabissa vai GitHubissa.
- Tech Stack:
get_languages-funktiot tunnistavat käytetyt ohjelmointikielet ja tägit, helpottaen asiantuntijoiden löytämistä. - Hierarkia: Rakentaa selkeän hierarkian kategorioittain (esim. DATA, APPS, INFRA), mikä parantaa kokonaiskuvan hahmottamista.
🛠️ Tekninen työnjako skriptissä¶
Tämä työnjako varmistaa, että automaatio tukee organisaation hallintamallia (Governance):
| Funktio | Tehtävä | Governance-arvo |
|---|---|---|
extract_category | Tunnistaa projektin tyypin nimestä. | Palkitsee nimeämisstandardien noudattamisesta. |
get_local_description | Lukee repon todellisen README-tiedoston. | Kannustaa tiimejä laadukkaaseen sisällöntuotantoon koodin vieressä. |
nav_entries.append | Rakentaa .pages-navigaation dynaamisesti. | Poistaa manuaalisen työn; uusi tieto on heti kaikkien saatavilla. |
shutil.copy2 | Kopioi README-tiedostot koottuun portaaliin. | Varmistaa, että Source of Truth säilyy repossa, mutta näkyvyys on keskitetty. |
đź’ˇ Tulevaisuuden laajennusmahdollisuudet (Security & Quality)¶
Skripti on suunniteltu laajennettavaksi. Se voi toimia aktiivisena laatuporttina integroimalla seuraavat ominaisuudet:
Security Status Badges¶
Lisäämällä dynaamista URL-logiikkaa, skripti voi visualisoida kunkin projektin tietoturvastatuksen suoraan ekosysteemi-taulukkoon:
# Esimerkki: Lisätään dynaaminen badge taulukkoon
repo_link = f"[{proj['repo_name']}]({proj['url']})"
security_badge = f""
f.write(f"| {proj['source']} | {repo_link} | {security_badge} | {proj['langs']} | {proj['desc']} |\n")
Automaattinen laatuindikaattori¶
Skripti voi analysoida dokumentaation tuoreutta ja koodin testikattavuutta, nostaen parhaiten hoidetut projektit esikuviksi muille.
Tämä automaatiomoottori on ensimmäinen askel kohti tiedolla johtamista ohjelmistokehityksessä. Se tekee näkyväksi sen, mitä organisaatio todellisuudessa rakentaa.