Template polyglotte réutilisable — un système de connaissance + un filet qualité à cloner comme point de départ de tout nouveau projet (JS/TS, Python, Go, Rust…).
Il privilégie deux choses : rester cohérent d'un projet à l'autre (conventions écrites + mémoire des décisions) et tenir la qualité dans la durée sans cérémonie.
- Clone/copie ce dossier comme base de ton nouveau projet.
- Renseigne
CLAUDE.md(section## Projet) etLICENSE([year],[fullname]). - Active les modules de langage dont tu as besoin (et seulement ceux-là) — voir
tools/<langage>/README.md. Le cœur ne dépend d'aucun langage. - Active le filet pre-commit :
pip install pre-commit && pre-commit install(à faire toi-même — le template n'installe rien).
| Chemin | Rôle |
|---|---|
CLAUDE.md |
Source de vérité unique lue par Claude Code : définitions, conventions, garde-fous. |
docs/adr/ |
Décisions d'architecture durables (1 fichier = 1 décision). Modèle + exemple. |
docs/checklists/ |
Checklists actionnables : qualité, sécurité, scalabilité. |
.pre-commit-config.yaml |
Filet dur : secrets, gros fichiers, formatage. Bloque le commit. |
.github/workflows/ci.yml |
Filet souple : lint + tests + audit par langage détecté. Avertit. |
tools/<langage>/ |
Modules outils optionnels et activables (JS, Python prêts ; Go/Rust à activer). |
.claude/commands/ |
Slash-commands : new-adr, review-quality, review-security. |
.claude/agents/ |
Sous-agents : code-quality-reviewer, security-reviewer. |
src/, tests/ |
Ton code et tes tests. |
Règle : une décision durable et structurante (archi, choix de techno, contrat d'API)
→ un ADR dans docs/adr/ (/new-adr le génère). Tout le reste (état, todo, essais)
→ tes notes de session. Voir CLAUDE.md § Décisions.
/new-adr— crée un ADR numéroté pré-rempli depuis le modèle./review-quality— revue qualité structurée du diff courant (tests, couplage, lisibilité)./review-security— passe sécurité de base (secrets, deps, validation d'entrées).
code-quality-reviewer— revue qualité approfondie, findings priorisés.security-reviewer— revue sécurité « base » (secrets, deps vulnérables, entrées).
Le cœur est agnostique du langage. Le dur (bloquant) ne se déclenche que sur ce qu'on ne peut pas rattraper plus tard (secrets, historique git). Le reste avertit ou est optionnel. On active à la carte, on ne subit rien.