# Forgejo Repository Analysis **Date:** 2026-02-02 ## Summary Analyzed **42 repositories** across 4 organizations: Cloonar, Paraclub, infrastructure, renovate, and dominik.polakovics. ### Repository Type Breakdown | Type | Count | Examples | |------|-------|----------| | TYPO3 Projects | 7 | ai-image-alt, diabetes-austria, dialog-relations-website, gbv-aktuell, lena-schilling-website, wohnservice-wien-typo3 (×2) | | Laravel (PHP) | 1 | amz-api | | Go Projects | 7 | code, eidas.monitor, fit, phishguard, support-invoiced, updns, soundscape-sync | | Node/Frontend | 3 | amz-frontend, phishguard-frontend, korean-skin.care | | Hugo Sites | 4 | cloonar-technologies-website, mehr-leistbaren-wohnraum-schaffen, korean-skin.care, website | | Nix/Config | 2 | nixos, cloonar-assistant | | Empty/Archived | 9 | bookmap, ghetto-nixos, gitapi, rantem-api, etc. | --- ## Configuration Status Matrix ### Active Repositories (with content) | Repository | CI | Claude/Agents | Renovate | Tests | Docs | |------------|:--:|:-------------:|:--------:|:-----:|:----:| | **TYPO3 Projects** | | ai-image-alt | ❌ | CLAUDE ✅ | ❌ | ✅ phpunit, Tests/ | ✅ | | diabetes-austria | drone (loose) | ❌ | ❌ | tests/ | ❌ | | dialog-relations-website | .gitea | ❌ | ✅ | ❌ | ❌ | | gbv-aktuell | drone + .gitea | CLAUDE ✅ | ✅ | tests/ | ❌ | | lena-schilling-website | .gitea | ❌ | ✅ | ❌ | ❌ | | wohnservice-wien-typo3 | drone + .gitea | CLAUDE + AGENTS ✅ | ✅ | ❌ | ❌ | | wohnservice-wien-typo3-old | drone | ❌ | ✅ | Tests/ | ❌ | | **Laravel/PHP** | | amz-api | drone + .gitea | CLAUDE ✅ | ✅ | ✅ phpunit, tests/ | ❌ | | ldap2vcard | .gitea | ❌ | ❌ | ❌ | ❌ | | **Go Projects** | | code | ❌ | CLAUDE ✅ | ❌ | ❌ | ✅ | | eidas.monitor | ❌ | AGENTS ✅ | ❌ | ❌ | ✅ | | fit | .gitea | CLAUDE + AGENTS ✅ | ❌ | ❌ | ✅ | | phishguard | ❌ | ❌ | ❌ | ❌ | ✅ | | soundscape-sync | .gitea | ❌ | ❌ | ❌ | ❌ | | support-invoiced | ❌ | ❌ | ❌ | ❌ | ❌ | | updns | .github | ❌ | ❌ | ❌ | ❌ | | ai-mailer | ❌ | CLAUDE ✅ | ❌ | ❌ | ❌ | | **Frontend/Node** | | amz-frontend | drone + .gitea | CLAUDE ✅ | ❌ | ❌ | ✅ | | phishguard-frontend | ❌ | ❌ | ❌ | ❌ | ✅ | | **Hugo/Static Sites** | | cloonar-technologies-website | drone + .gitea | ❌ | ❌ | ❌ | ❌ | | korean-skin.care | .github | ❌ | ❌ | ❌ | ❌ | | mehr-leistbaren-wohnraum-schaffen | drone | ❌ | ❌ | ❌ | ❌ | | website | .gitea + .github | CLAUDE + AGENTS ✅ | ❌ | ❌ | ❌ | | **Infrastructure** | | nixos | ❌ | CLAUDE + AGENTS ✅ | ❌ | ❌ | ❌ | | cloonar-assistant | ❌ | ❌ | ❌ | ❌ | ❌ | | renovate-config | drone + .gitea | ❌ | N/A | ❌ | ❌ | --- ## Key Findings ### 🔴 Critical Issues 1. **TYPO3 Projects Inconsistent CI Setup** - gbv-aktuell, wohnservice-wien-typo3: Both drone AND .gitea workflows (redundant?) - ai-image-alt: No CI at all despite being a production extension with tests - diabetes-austria: Has `drone.yml` in root (should be `.drone.yml`) 2. **Missing Tests in Key Projects** - wohnservice-wien-typo3: Main production system has NO tests - dialog-relations-website: No tests - lena-schilling-website: No tests - All Go projects except none have test coverage configured 3. **Renovate Adoption Partial** - Only 6/27 active repos have renovate.json - Missing on: ai-image-alt, amz-frontend, all Go projects, Hugo sites ### 🟡 Inconsistencies 1. **CI Strategy Mixed** - Some repos: Drone only - Some repos: Gitea Actions only - Some repos: GitHub Actions (for upstream forks?) - Some repos: Both Drone + Gitea (why?) 2. **CLAUDE.md vs AGENTS.md** - 11 repos have CLAUDE.md - 5 repos have AGENTS.md - 3 repos have both (fit, nixos, website, wohnservice-wien-typo3) - No standard template observed 3. **Documentation Gaps** - Many repos have README.md but no docs/ folder - TYPO3 projects especially lack developer documentation --- ## Top 5 Actionable Recommendations ### 1. **Standardize CI for TYPO3 Projects** (High Impact) Create a shared `.gitea/workflows/typo3-ci.yml` template with: - PHP linting - PHPStan static analysis - PHPUnit tests (if exist) - TYPO3 extension validation **Quick win:** Fix diabetes-austria's `drone.yml` → `.drone.yml` ### 2. **Add Renovate to All Active Repos** (Medium Effort, High Value) Create organization-wide renovate preset in `renovate/renovate-config`: ```json { "extends": ["local>renovate/renovate-config"] } ``` Then add minimal `renovate.json` to: - ai-image-alt, amz-frontend, code, eidas.monitor, fit, phishguard, all Hugo sites ### 3. **Add Tests to wohnservice-wien-typo3** (High Priority) This is a production multi-site system with no tests. Start with: - Functional tests for critical form handlers - Unit tests for any custom service classes - At minimum, smoke tests that pages render ### 4. **Consolidate CI Strategy** (Cleanup) Pick ONE CI system and standardize: - **Recommendation:** Gitea Actions (native, no external dependency) - Migrate all Drone configs to `.gitea/workflows/` - Remove dual-CI setups ### 5. **Create CLAUDE.md Template** (Developer Experience) Standardize AI-assisted development across repos: ```markdown # Project: {name} ## Tech Stack ## Key Files ## Testing ## Common Tasks ``` Prioritize for: eidas.monitor, phishguard, soundscape-sync --- ## Quick Wins (< 30 min each) | Task | Repo | Effort | |------|------|--------| | Rename `drone.yml` → `.drone.yml` | diabetes-austria | 2 min | | Add `renovate.json` with org preset | ai-image-alt | 5 min | | Add basic `CLAUDE.md` | eidas.monitor (has AGENTS.md) | 15 min | | Enable Gitea Actions | ai-image-alt | 10 min | | Add `renovate.json` | amz-frontend | 5 min | --- ## Empty/Archived Repos (consider cleanup) These repos have no content or appear abandoned: - ai.nvim, bookmap, cloonar-assistant-customers, ghetto-nixos - gitapi, gitea-runner, imperfect-perfect.com, lego-hetzner-bridge - mail-autoconfig, rantem-api **Recommendation:** Archive or delete to reduce clutter. --- ## Next Steps 1. Create `.gitea/workflows/` templates in a shared repo 2. Draft organization-wide renovate config 3. Prioritize wohnservice-wien-typo3 test coverage 4. Schedule cleanup of empty repos