175 lines
6.2 KiB
Markdown
175 lines
6.2 KiB
Markdown
# 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
|