Plan 2 phases : bugfix timeout + config YAML, puis vue milestones + colonnes. ADR-012 a ADR-015 couvrant degradation gracieuse, config.py, MilestoneData, et colonnes configurables. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
gitea-dashboard
Dashboard CLI affichant en une commande l'état de tous les repos d'une instance Gitea : issues ouvertes, dernières releases et progression des milestones.
Prérequis
- Python >= 3.10
- Accès à une instance Gitea avec un token API
Installation
pip install -e .
Configuration
Le dashboard se configure via deux variables d'environnement :
| Variable | Description | Défaut |
|---|---|---|
GITEA_URL |
URL de l'instance Gitea | http://192.168.0.106:3000 |
GITEA_TOKEN |
Token API Gitea (requis) | — |
Pour créer un token : Gitea > Settings > Applications > Generate Token.
Exemple de configuration dans votre shell :
export GITEA_URL=https://gitea.tsmse.fr
# Définir GITEA_TOKEN avec la valeur obtenue depuis Gitea > Settings > Applications
Usage
gitea-dashboard
# ou
python -m gitea_dashboard
Vérification de la connexion
L'option --health vérifie que l'instance Gitea est accessible et affiche sa version ainsi que le nombre de repos disponibles. Exit code 0 si la connexion réussit, 1 sinon.
gitea-dashboard --health
# Gitea 1.21.4 — 12 repos accessibles
Filtrage des repos
L'option --repo/-r filtre les repos à afficher (sous-chaîne, insensible à la casse).
L'option --exclude/-x exclut des repos de l'affichage.
Les deux options sont cumulables et répétables.
# Afficher uniquement les repos contenant "api"
gitea-dashboard --repo api
# Afficher les repos contenant "dashboard" ou "monitor"
gitea-dashboard -r dashboard -r monitor
# Exclure les repos contenant "archive" ou "test"
gitea-dashboard --exclude archive --exclude test
# Combiner inclusion et exclusion
gitea-dashboard --repo projet --exclude archive
Tri des repos
L'option --sort/-s trie les repos selon un critère :
| Valeur | Description |
|---|---|
name |
Ordre alphabétique (défaut) |
issues |
Nombre d'issues décroissant |
release |
Date de release décroissante |
activity |
Date du dernier commit décroissante |
# Trier par nombre d'issues (les plus actifs en premier)
gitea-dashboard --sort issues
# Trier par activité récente
gitea-dashboard -s activity
Colonne Description
Le tableau affiche par défaut une colonne "Description" (tronquée à 40 caractères). Pour la masquer :
gitea-dashboard --no-desc
Export JSON
L'option --format json exporte les données du dashboard au format JSON au lieu de l'affichage tabulaire. Utile pour intégrer le dashboard dans d'autres outils.
gitea-dashboard --format json
gitea-dashboard --format json > export.json
Exemple de sortie
Gitea Dashboard
┏━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Repo ┃ Issues ┃ Release ┃ Dernier commit ┃ Description ┃
┡━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ mon-projet │ 3 │ v1.3.0 (il y a 2j) │ il y a 3h │ Mon super projet de dashboard │
│ autre-repo │ 0 │ — │ il y a 5j │ — │
└─────────────────┴────────┴──────────────────────┴────────────────┴──────────────────────────────────────────┘
Milestones
mon-projet / v2.0 : 3/5 (60%) [échéance dépassée]
Développement
# Installer avec les dépendances de développement
pip install -e ".[dev]"
# Lancer les tests
pytest
# Vérifier le style
ruff check src/ tests/
Licence
Usage personnel.