docs(claude) : refactorise CLAUDE.md en index + extrait les regles dans .claude/rules/

- CLAUDE.md devient un index concis : contexte, stack, regles absolues
  numerotees, pointeurs vers les fichiers de regles detaillees via
  references @.claude/rules/*.md
- Les conventions detaillees (architecture, backend, frontend, testing,
  naming, git, workflow) sont extraites dans .claude/rules/ pour rester
  chargees a la demande sans gonfler le context du CLAUDE.md principal
- Ajoute la regle absolue "Ne jamais mentionner Claude/IA dans commits
  ou PR" (point 10) pour garder l'historique git signe par l'utilisateur
This commit is contained in:
Matthieu
2026-04-23 11:02:04 +02:00
parent b1255bb57a
commit 711774425b
8 changed files with 398 additions and 298 deletions

39
.claude/rules/git.md Normal file
View File

@@ -0,0 +1,39 @@
# Git
## Commits
Format : `<type>(<scope optionnel>) : <message>`
**Espaces obligatoires** autour du `:`.
Types autorises (minuscules uniquement) : `build`, `chore`, `ci`, `docs`, `feat`, `fix`, `perf`, `refactor`, `revert`, `style`, `test`
Exemples :
- `feat : add login page`
- `fix(auth) : prevent null token crash`
- `chore : bump version to v1.2.3`
## Regles de commit
- **Jamais commit sans demande explicite** de l'utilisateur
- **Jamais force push** sans confirmation
- **Jamais modifier la config git**
- **Jamais mentionner Claude, Anthropic ou une IA** dans un commit (message, titre, body, footer, trailer) ou une PR (titre, description). Concretement, aucun des elements suivants ne doit apparaitre :
- Trailer `Co-Authored-By: Claude <...>` / `Co-Authored-By: Anthropic`
- Footer type `Generated with Claude Code`, `Generated by AI`, etc.
- Emoji robot `🤖` ou similaire en tete/fin de message
- Toute phrase attribuant la paternite du changement a une IA
Les commits sont signes **uniquement** par l'utilisateur. Si un hook ou un template ajoute ces elements automatiquement, les retirer manuellement avant push.
## Versioning & tags
La version de l'app est dans `config/version.yaml` (parametre `app.version`).
Workflow de release :
1. Bump `config/version.yaml` a la nouvelle version
2. Commit dedie : `chore : bump version to v<X.Y.Z>`
3. Tag : `git tag v<X.Y.Z>`
4. Push : `git push origin develop --tags`
**A chaque creation de tag**, toujours mettre a jour `config/version.yaml` avec la meme version — sinon l'app ne connait pas sa propre version.
CI Gitea automatise le bump sur push `develop` (cf. `.gitea/workflows/`), mais un tag manuel reste possible.