docs(v1.1.0): version plan and ADR — repo filtering feature
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -46,3 +46,35 @@
|
||||
- Temps de reponse acceptable pour < 20 repos (estimee < 10s)
|
||||
- Pas de problemes de concurrence
|
||||
- Facile a ajouter plus tard sans changer les interfaces (le collecteur est le seul point d'appel)
|
||||
|
||||
## ADR-004 : Argparse pour le parsing CLI (v1.1.0)
|
||||
|
||||
**Date** : 2026-03-11
|
||||
**Statut** : accepte
|
||||
|
||||
**Contexte** : La v1.1.0 introduit des options CLI (`--repo`, `--exclude`). Un parser d'arguments est necessaire. Trois options : argparse (stdlib), click, typer.
|
||||
|
||||
**Decision** : Utiliser argparse (stdlib Python). Pas de dependance externe pour le parsing CLI.
|
||||
|
||||
**Consequences** :
|
||||
- Zero nouvelle dependance (argparse est dans la stdlib)
|
||||
- Coherent avec ADR-001 (stack simple, pas de framework lourd)
|
||||
- `--help` genere automatiquement
|
||||
- Suffisant pour des options simples (repeatable flags)
|
||||
- Si les options deviennent complexes (sous-commandes, autocompletion), migration vers click/typer sera possible
|
||||
|
||||
## ADR-005 : Filtrage par sous-chaine dans le collecteur (v1.1.0)
|
||||
|
||||
**Date** : 2026-03-11
|
||||
**Statut** : accepte
|
||||
|
||||
**Contexte** : Le filtrage des repos peut etre fait dans le CLI (apres collecte) ou dans le collecteur (pendant la collecte). Le filtrage par regex est plus puissant mais plus complexe que la sous-chaine.
|
||||
|
||||
**Decision** : Filtrage par sous-chaine (insensible a la casse) dans `collect_all()`. Ordre : include d'abord, exclude ensuite.
|
||||
|
||||
**Consequences** :
|
||||
- Le collecteur reste le seul responsable de "quels repos collecter"
|
||||
- Le CLI reste un simple orchestrateur (ADR-002 respecte)
|
||||
- Retrocompatible : les nouveaux parametres ont des valeurs par defaut None
|
||||
- Sous-chaine est intuitive pour l'utilisateur (pas besoin de connaitre les regex)
|
||||
- Le filtrage est post-fetch car l'API Gitea ne supporte pas le filtre par nom
|
||||
|
||||
Reference in New Issue
Block a user