diff --git a/.claude/rules/06-code-generator.md b/.claude/skills/erplibre-code-generator/SKILL.md similarity index 53% rename from .claude/rules/06-code-generator.md rename to .claude/skills/erplibre-code-generator/SKILL.md index 3f30bf6..b7e49d5 100644 --- a/.claude/rules/06-code-generator.md +++ b/.claude/skills/erplibre-code-generator/SKILL.md @@ -1,4 +1,11 @@ -# Code Generator +--- +name: erplibre-code-generator +description: >- + Génération de modules Odoo dans ERPLibre : créer un module, cloner un + module existant, où vivent le moteur et les gabarits, et l'hygiène des + commentaires du code produit. À charger avant de générer ou de cloner + un module. +--- ERPLibre inclut un système de génération de modules Odoo : - `script/code_generator/new_project.py` — Créer un nouveau module @@ -20,26 +27,9 @@ ou de base y arrive tout seul. ## Le nettoyage au fur et à mesure -Rien ne se nettoie en une passe : on corrige les commentaires du fichier qu'on -touche, au moment où on le touche. Deux outils le rappellent. - -Le hook `pre-commit` liste ce qui est à relire dans les fichiers indexés, -SANS bloquer le commit : +La règle et ses deux garde-fous sont dans `.claude/rules/04-code-conventions.md`. Une invocation lui manque, utile +sur du code généré en masse : elle ne relève que les trouvailles. ```bash -git config core.hooksPath script/git/hooks # une fois par clone -``` - -L'outil se lance aussi à la main, sur un fichier, un répertoire ou l'index : - -```bash -python3 script/analyse/check_comment_hygiene.py script/todo/todo.py -python3 script/analyse/check_comment_hygiene.py --staged python3 script/analyse/check_comment_hygiene.py script --identifying-only ``` - -🔴 `identifiant` — adresse, courriel, chemin de compte : à retirer. -🟡 `récit` — témoignage, date, première personne : à RELIRE, l'outil ne -tranche pas. Un fait durable reste ; l'incident -où on l'a observé part. Codes de sortie : 0 rien, 1 des trouvailles, 2 l'outil -a échoué. diff --git a/.claude/rules/08-deployment.md b/.claude/skills/erplibre-deployment/SKILL.md similarity index 84% rename from .claude/rules/08-deployment.md rename to .claude/skills/erplibre-deployment/SKILL.md index e4ad023..22f6f01 100644 --- a/.claude/rules/08-deployment.md +++ b/.claude/skills/erplibre-deployment/SKILL.md @@ -1,4 +1,11 @@ -# Déploiement +--- +name: erplibre-deployment +description: >- + Déploiement ERPLibre : Docker, systemd, nginx, SSL, DNS, plateformes + supportées, et le choix de l'interpréteur Python (EL_PYTHON_PROVIDER) + comme du gestionnaire de paquets (EL_PIP_PROVIDER). À charger pour + déployer, installer ou changer de fournisseur Python. +--- - **Docker** : `docker-compose.yml` (PostgreSQL 18 + PostGIS 3.6) - **Systemd** : `script/systemd/` pour les services diff --git a/CLAUDE.md b/CLAUDE.md index f9994c0..5dbe05a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -19,6 +19,9 @@ Version Odoo par défaut : **18.0** (support officiel ERPLibre 1.6.0) `ls -d .venv.odoo*` plutôt que de le composer de tête - Les scripts ERPLibre utilisent `.venv.erplibre/bin/python` - Le Makefile principal inclut des fragments depuis `conf/make.*.Makefile` +- Un module cloné depuis un module existant hérite de ses commentaires + et de ses docstrings : les relire avant de committer, un nom de client + ou de base y arrive tout seul - Les fichiers privés vont dans `private/`. C'est le SEUL endroit qui a le droit de porter une donnée de client — nom, base, machine, adresse, chiffres. Il peut être commité, mais seulement sur un dépôt privé : sur @@ -29,7 +32,6 @@ Version Odoo par défaut : **18.0** (support officiel ERPLibre 1.6.0) `.claude/rules/04-code-conventions.md` - La DB PostgreSQL par défaut est sur le port 5432, mot de passe admin : `admin` - Port Odoo par défaut : 8069, longpolling : 8072 -- Pour les commits : suivre le format `[TYPE] description` (ex: `[FIX]`, `[UPD]`, `[ADD]`, `[REM]`) - Pour la documentation : modifier les `.base.md`, jamais les `.md` ou `.fr.md` directement - Outil mmg disponible via `source .venv.erplibre/bin/activate && mmg` - Les tests qui créent de VRAIES machines vivent dans `long_test/` et non dans @@ -37,31 +39,5 @@ Version Odoo par défaut : **18.0** (support officiel ERPLibre 1.6.0) en quelques secondes, même sans virtualisation. Ils durent des heures et se défont par `--detruire` — voir `long_test/README.md` -## Core Principles - -- **Simplicity First**: Make every change as simple as possible. Impact minimal code. -- **No Laziness**: Find root causes. No temporary fixes. Senior developer standards. -- **Minimal Impact**: Changes should only touch what's necessary. Avoid introducing bugs. - -## Règles détaillées - -Les instructions détaillées sont dans `.claude/rules/` : - -| Fichier | Contenu | -|---------|---------| -| `01-versions.md` | Versions Odoo supportées, où lit-on la correspondance | -| `04-code-conventions.md` | Où sont les configs de format, conventions Git | -| `06-code-generator.md` | Génération de modules Odoo | -| `07-documentation.md` | Interdit : ne pas éditer les `.md` générés | -| `08-deployment.md` | Docker, systemd, nginx, SSL, DNS | -| `09-workflow.md` | Workflow orchestration + task management | - -Chargées à la demande (`.claude/skills/`) : - -| Skill | Contenu | -|-------|---------| -| `erplibre-commands` | Commandes make et scripts : versions, run, tests, DB, Docker, repo | -| `erplibre-doc-i18n` | Mode d'emploi mmg (`.base.md`) et i18n du CLI TODO | - L'arborescence et la liste des venvs ne sont plus documentées : `ls` et `ls -d .venv.*` en donnent l'état réel, la doc dérivait de la réalité.