Discovery synthesis, docs tree, Python src layout, CLAUDE.md, pyproject.toml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
<!-- Type: explanation (Diataxis). Style: discursif, synthese des besoins et decisions, produit par /forge --discovery. -->
|
|
|
|
# Discovery Synthesis — gitea-dashboard
|
|
|
|
## Contexte
|
|
|
|
Besoin d'un outil de supervision rapide pour l'instance Gitea personnelle.
|
|
Actuellement, il faut naviguer dans l'interface web repo par repo pour voir
|
|
l'etat des issues, releases et milestones. Un dashboard CLI permet d'avoir
|
|
une vue d'ensemble en une commande.
|
|
|
|
## Utilisateurs cibles
|
|
|
|
Utilisateur unique (admin de l'instance Gitea). Usage en terminal, execution
|
|
ponctuelle pour avoir un snapshot de l'etat des repos.
|
|
|
|
## Besoins identifies
|
|
|
|
### Fonctionnels
|
|
- Lister tous les repos de l'utilisateur
|
|
- Afficher le nombre d'issues ouvertes par repo
|
|
- Afficher la derniere release par repo (tag, date)
|
|
- Afficher l'etat des milestones (ouvertes, progression)
|
|
- Formatage terminal lisible et structure (tableaux, couleurs)
|
|
|
|
### Non-fonctionnels
|
|
- Temps de reponse acceptable (< 10s pour une dizaine de repos)
|
|
- Code maintenable, teste, structure proprement
|
|
- Configuration externalisee (URL, token)
|
|
|
|
## Contraintes
|
|
|
|
- API Gitea REST a http://192.168.0.106:3000
|
|
- Authentification par token API (variable d'environnement)
|
|
- Python 3.x avec requests et rich
|
|
- Affichage unique (pas de mode watch/refresh)
|
|
- Pas de filtre par owner/org en v1 — tous les repos
|
|
|
|
## Decisions prises
|
|
|
|
| Decision | Justification |
|
|
|----------|---------------|
|
|
| Python + requests | Stack simple, maitrisee, suffisante pour des appels REST |
|
|
| rich pour le formatage | Tableaux, couleurs, mise en page terminal de qualite |
|
|
| Token en variable d'env | Securite : pas de secret dans le code ou les fichiers |
|
|
| Pas de filtre en v1 | Nombre de repos limite, simplifier le scope initial |
|
|
|
|
## Questions ouvertes
|
|
|
|
- Pagination API : verifier si l'API Gitea pagine les resultats (a traiter en recherche step 4)
|
|
- Gestion des repos sans release ou sans milestone (affichage gracieux)
|