sylvain e02e211d86 fix(audit): correct v1.4.0 findings (6 items)
- FINDING-001: add activity column rendering in render_dashboard loop
- FINDING-002: map YAML 'token' key to 'auth' in _resolve_config
- FINDING-003/SEC-001: reject tokens containing unresolved ${...} refs
- FINDING-004: add tests for activity column rendering
- FINDING-006: strengthen test_main_columns_help assertions
- SEC-002: enrich timeout warning with collected items count

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 03:58:38 +01:00
2026-03-13 03:34:55 +01:00
2026-03-10 18:21:33 +01:00
2026-03-10 18:21:33 +01:00

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.

Description
CLI Python dashboard for Gitea repos status (issues, releases, milestones)
Readme 429 KiB
v1.4.0 Latest
2026-03-13 04:21:29 +01:00
Languages
Python 100%