# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Objet du dépôt

Dépôt centralisé de **règles** pour Claude Code. Pas de code applicatif, pas de build, pas de tests — uniquement des fichiers Markdown qui décrivent des conventions à appliquer dans d'autres projets.

Deux niveaux :
- **Règles globales** (`global-rules.md`) — conventions transverses (outils, runtimes, git flow, env vars). S'appliquent partout.
- **Règles ciblées** (ex: `nextjs-16.x.md`) — un fichier par stack ou contexte. Le nom du fichier identifie la cible (`<stack>-<version>.md`).

Et :
- **`hooks/`** — scripts d'enforcement **prod**, référencés depuis `~/.claude/settings.json` (via le symlink `~/.claude/hooks` → ce dossier). Toute modification ici est live immédiatement.
- **`hooks-dev/`** — bac à sable pour développer/modifier un hook. Jamais référencé par `settings.json`. Tester en local avec `echo '{"tool_input":{"command":"…"}}' | hooks-dev/<script>.sh`, puis déplacer dans `hooks/` une fois validé.
- **`skills/`** — skills Claude Code maintenus dans ce repo. Chaque skill = un sous-dossier (`skills/<nom>/SKILL.md`) symlinké individuellement dans `~/.claude/skills/<nom>` pour la découverte. Ex: `skills/nextjs-rules/` installe `nextjs-16.x.md` dans un projet cible et le branche dans son `CLAUDE.md`.

## Principes éditoriaux

- **Simplicité > exhaustivité.** Pas d'overkill, pas d'over-engineering. Si une règle tient en une phrase, elle tient en une phrase.
- **Ciblage explicite.** Une règle globale s'applique partout ; une règle ciblée nomme sa cible dans le nom de fichier.
- **Pas de duplication.** Si une règle est déjà dans `global-rules.md`, ne pas la répéter dans un fichier ciblé.
- **Français.** Tous les fichiers de règles sont rédigés en français pour rester cohérents avec l'existant.

## Création de skills

**IMPORTANT** : toute création ou modification de **skill** doit passer par l'agent `claude-skills` (jamais écrire un skill à la main directement). Les règles Markdown de ce dépôt restent éditables directement ; seuls les skills (au sens Claude Code) nécessitent l'agent dédié.
