chore: init project structure
Discovery synthesis, docs tree, Python src layout, CLAUDE.md, pyproject.toml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
48
docs/README.md
Normal file
48
docs/README.md
Normal file
@@ -0,0 +1,48 @@
|
||||
<!-- Type: reference (Diataxis). Style: index de navigation, structure de la doc. -->
|
||||
|
||||
# Documentation — gitea-dashboard
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
docs/
|
||||
├── project/ # Pilotage projet
|
||||
│ ├── descriptif.md # Brief initial (etape 3)
|
||||
│ └── demandes.md # Inbox features (/workflow demande)
|
||||
├── technical/ # Architecture et decisions
|
||||
│ ├── ARCHITECTURE.md # Architecture technique (etape 6, architect)
|
||||
│ ├── decisions.md # ADR (Architecture Decision Records)
|
||||
│ └── research.md # Resultats de recherche (etape 4, researcher)
|
||||
├── discovery/ # Livrables discovery (etape 1, majeur uniquement)
|
||||
│ └── synthesis.md # Synthese d'interview
|
||||
├── plans/ # Plans de version (etape 6)
|
||||
│ └── vX.Y.Z-plan.md # Un plan par version (architect)
|
||||
├── guides/ # Documentation utilisateur (optionnel)
|
||||
│ └── [sujet].md # deployment.md, api-usage.md, getting-started.md
|
||||
├── dev/ # Notes de developpement (optionnel)
|
||||
│ └── [sujet].md # setup.md, conventions.md, troubleshooting.md
|
||||
└── README.md # Ce fichier
|
||||
```
|
||||
|
||||
## Conventions
|
||||
|
||||
- **MAJUSCULES.md** : documents officiels et de pilotage (ARCHITECTURE, CHANGELOG)
|
||||
- **minuscules.md** : documents de travail et notes (descriptif, demandes, research, decisions)
|
||||
- **Nommage fichiers** : minuscules, tirets pour separer les mots (deployment.md, api-usage.md)
|
||||
- Les dossiers `guides/` et `dev/` sont crees quand le besoin apparait
|
||||
- Chaque document a un emplacement unique — pas de doc ailleurs que dans cette arborescence
|
||||
- **Roadmap** : Gitea milestones (pas de ROADMAP.md local)
|
||||
- **Backlog** : Gitea issues avec label `backlog` (pas de BACKLOG.md local)
|
||||
|
||||
## Ou mettre ma doc ?
|
||||
|
||||
| Type de doc | Ou |
|
||||
|-------------|-----|
|
||||
| Guide utilisateur (install, usage, config) | `guides/` |
|
||||
| Notes dev (setup, conventions, debug) | `dev/` |
|
||||
| Architecture, ADR, recherche | `technical/` |
|
||||
| Brief, demandes | `project/` |
|
||||
| Plan de version | `plans/` |
|
||||
| Synthese discovery | `discovery/` |
|
||||
| Roadmap, jalons | Gitea milestones |
|
||||
| Backlog, idees, dette technique | Gitea issues (label `backlog`) |
|
||||
51
docs/discovery/synthesis.md
Normal file
51
docs/discovery/synthesis.md
Normal file
@@ -0,0 +1,51 @@
|
||||
<!-- 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)
|
||||
23
docs/project/demandes.md
Normal file
23
docs/project/demandes.md
Normal file
@@ -0,0 +1,23 @@
|
||||
<!-- Type: reference (Diataxis). Style: inbox format libre, traite par /workflow demande. -->
|
||||
|
||||
# Demandes — gitea-dashboard
|
||||
|
||||
> **Note** : ce projet utilise Gitea, les issues Gitea sont la source de verite.
|
||||
> Ce fichier sert de fallback.
|
||||
> Utiliser `/workflow demande` pour traiter les demandes.
|
||||
|
||||
## En attente de classification
|
||||
|
||||
-
|
||||
|
||||
## Classifiees — en attente
|
||||
|
||||
-
|
||||
|
||||
## Terminees
|
||||
|
||||
-
|
||||
|
||||
## Demandes ecosystem
|
||||
|
||||
-
|
||||
50
docs/project/descriptif.md
Normal file
50
docs/project/descriptif.md
Normal file
@@ -0,0 +1,50 @@
|
||||
<!-- Type: reference (Diataxis). Style: factuel, fige apres creation. Capture l'intention originale. -->
|
||||
|
||||
# Descriptif — gitea-dashboard
|
||||
|
||||
## Contexte
|
||||
|
||||
Supervision de l'instance Gitea personnelle (192.168.0.106:3000).
|
||||
Pas de vue d'ensemble disponible sans naviguer repo par repo dans l'interface web.
|
||||
|
||||
## Objectifs
|
||||
|
||||
- Afficher en une commande l'etat de tous les repos Gitea
|
||||
- Visualiser les issues ouvertes, dernieres releases et milestones
|
||||
- Fournir un output terminal lisible et structure
|
||||
|
||||
## Perimetre
|
||||
|
||||
### Inclus
|
||||
|
||||
- Connexion API Gitea avec authentification token
|
||||
- Liste de tous les repos de l'utilisateur
|
||||
- Nombre d'issues ouvertes par repo
|
||||
- Derniere release par repo (tag + date)
|
||||
- Etat des milestones (nom, progression open/closed)
|
||||
- Formatage rich (tableaux, couleurs)
|
||||
|
||||
### Exclus
|
||||
|
||||
- Interface web ou GUI
|
||||
- Mode watch / rafraichissement automatique
|
||||
- Filtrage par owner/organisation
|
||||
- Modification de donnees (lecture seule)
|
||||
- Notifications ou alertes
|
||||
|
||||
## Utilisateurs cibles
|
||||
|
||||
Administrateur unique de l'instance Gitea. Usage terminal.
|
||||
|
||||
## Contraintes
|
||||
|
||||
- Python 3.x
|
||||
- Dependances : requests, rich
|
||||
- API Gitea REST v1
|
||||
- Token en variable d'environnement (GITEA_TOKEN)
|
||||
- Instance locale : http://192.168.0.106:3000
|
||||
|
||||
## References
|
||||
|
||||
- API Gitea : https://gitea.io/en-us/ (documentation Swagger disponible sur l'instance)
|
||||
- Rich : https://rich.readthedocs.io/
|
||||
5
docs/technical/ARCHITECTURE.md
Normal file
5
docs/technical/ARCHITECTURE.md
Normal file
@@ -0,0 +1,5 @@
|
||||
<!-- Type: reference (Diataxis). Style: factuel, exhaustif, structure par le code. Pas de tutoriel ici. -->
|
||||
|
||||
# Architecture — gitea-dashboard
|
||||
|
||||
<!-- A completer a l'etape 6 par l'architect -->
|
||||
18
docs/technical/decisions.md
Normal file
18
docs/technical/decisions.md
Normal file
@@ -0,0 +1,18 @@
|
||||
<!-- Type: reference (Diataxis). Style: factuel, format ADR Nygard (Contexte/Decision/Consequences). Jamais supprimer un ADR. -->
|
||||
|
||||
# Architecture Decision Records — gitea-dashboard
|
||||
|
||||
## ADR-001 : Stack Python + requests + rich
|
||||
|
||||
**Date** : 2026-03-10
|
||||
**Statut** : accepte
|
||||
|
||||
**Contexte** : Besoin d'un outil CLI de dashboard pour Gitea. Choix du langage et des librairies.
|
||||
|
||||
**Decision** : Python avec requests pour les appels API et rich pour le formatage terminal.
|
||||
|
||||
**Consequences** :
|
||||
- Stack simple et maitrisee par l'utilisateur
|
||||
- Pas de framework CLI lourd (argparse suffit si besoin)
|
||||
- rich offre des tableaux et couleurs sans configuration complexe
|
||||
- Dependance a requests (pas de client async, acceptable pour un affichage unique)
|
||||
5
docs/technical/research.md
Normal file
5
docs/technical/research.md
Normal file
@@ -0,0 +1,5 @@
|
||||
<!-- Type: explanation (Diataxis). Style: discursif, comparaisons argumentees, sources citees. -->
|
||||
|
||||
# Recherche technique — gitea-dashboard
|
||||
|
||||
<!-- A completer a l'etape 4 par le researcher -->
|
||||
Reference in New Issue
Block a user