[REF] claude : alléger le contexte, deux règles passent en skills
Environ 1 130 tokens étaient chargés à chaque session pour du contenu
dérivable ou écrit deux fois : les deux tableaux d'index décrivaient des
fichiers déjà chargés en entier, et la ligne de format de commit
contredisait 04-code-conventions.md et le hook qui l'applique. Les règles
du générateur et du déploiement ne servent qu'à une tâche : elles se
chargent désormais à la demande, comme les deux skills déjà en place.
L'interdit du générateur, lui, reste dans CLAUDE.md — une interdiction ne
doit pas dépendre de l'ouverture d'une skill.
Vérifié : aucun renvoi vers les fichiers déplacés, et les quatre skills
déclarent un nom qui correspond à leur répertoire.
--- EN ---
About 1,130 tokens loaded every session for content that is derivable or
written twice: the two index tables described files already loaded in
full, and the commit-format line contradicted 04-code-conventions.md and
the hook enforcing it. The code-generator and deployment rules serve one
task each: they now load on demand, like the two skills already in place.
The generator's prohibition stays in CLAUDE.md — a ban must not depend on
a skill being opened.
Checked: no reference points at the moved files, and all four skills
declare a name matching their directory.
Assisted-by: Claude Opus 5
2026-09-02 08:04:15 -04:00
|
|
|
---
|
|
|
|
|
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.
|
|
|
|
|
---
|
2026-03-12 02:50:18 -04:00
|
|
|
|
|
|
|
|
ERPLibre inclut un système de génération de modules Odoo :
|
|
|
|
|
- `script/code_generator/new_project.py` — Créer un nouveau module
|
|
|
|
|
- `script/code_generator/create_from_existing_module.py` — Cloner un module existant
|
|
|
|
|
- `addons/TechnoLibre_odoo-code-generator/` — Moteur de génération
|
|
|
|
|
- `addons/TechnoLibre_odoo-code-generator-template/` — Templates
|
|
|
|
|
|
|
|
|
|
Documentation : `doc/CODE_GENERATOR.md`
|
[ADD] commentaires : un relevé non bloquant, sa règle, le code nettoyé
Rien ne relevait les commentaires hors convention. L'outil lit commentaires et
docstrings, jamais le code autour, et rend deux familles inégales :
l'identifiant — adresse, courriel, chemin de compte, nom de la liste privée —
est une trouvaille ; le récit — témoignage, date, personne — un signal à relire.
Le hook pre-commit le lance sur l'index, sort toujours en 0 — un contrôle
bloquant à cette échelle se fait désinstaller — et parle quand l'outil échoue.
La règle du générateur et sa doc portent le nettoyage au fur et à mesure, et
l'exemple d'un interdit s'invente : base, adresse, compte et hôte en prennent un.
L'écran du contexte est posé, sans entrée de menu. Vérifié : 252 tests des six
fichiers d'essai touchés passent.
--- EN ---
Nothing reported the comments that break the convention. The tool reads
comments and docstrings, never the code around them, and returns two unequal
families: identifying data — address, e-mail, account path, private-list name
— is a finding; narrative — witness marker, date, person — a signal to re-read.
The pre-commit hook runs it on the index, always exits 0 — a blocking check at
that scale gets uninstalled — and speaks when the tool fails. The generator
rule and its doc carry the clean-up as you go, and a forbidden thing's example
is invented: a real database, address, account and host each take one.
The context screen is in place, with no menu entry. Checked: 252 tests of the
six touched fixture files pass.
Assisted-by: Claude Opus 5
2026-08-30 02:02:51 -04:00
|
|
|
|
|
|
|
|
## Les commentaires du code produit
|
|
|
|
|
|
|
|
|
|
Le code généré porte des commentaires comme le reste, et la même règle : ils
|
|
|
|
|
disent COMMENT ça marche, ils ne portent rien d'identifiant et ils ne
|
|
|
|
|
racontent pas l'enquête. Voir `.claude/rules/04-code-conventions.md`.
|
|
|
|
|
|
|
|
|
|
Un module généré à partir d'une base existante hérite de ce qu'elle contient :
|
|
|
|
|
relire ses commentaires et ses docstrings avant de committer, un nom de client
|
|
|
|
|
ou de base y arrive tout seul.
|
|
|
|
|
|
|
|
|
|
## Le nettoyage au fur et à mesure
|
|
|
|
|
|
[REF] claude : alléger le contexte, deux règles passent en skills
Environ 1 130 tokens étaient chargés à chaque session pour du contenu
dérivable ou écrit deux fois : les deux tableaux d'index décrivaient des
fichiers déjà chargés en entier, et la ligne de format de commit
contredisait 04-code-conventions.md et le hook qui l'applique. Les règles
du générateur et du déploiement ne servent qu'à une tâche : elles se
chargent désormais à la demande, comme les deux skills déjà en place.
L'interdit du générateur, lui, reste dans CLAUDE.md — une interdiction ne
doit pas dépendre de l'ouverture d'une skill.
Vérifié : aucun renvoi vers les fichiers déplacés, et les quatre skills
déclarent un nom qui correspond à leur répertoire.
--- EN ---
About 1,130 tokens loaded every session for content that is derivable or
written twice: the two index tables described files already loaded in
full, and the commit-format line contradicted 04-code-conventions.md and
the hook enforcing it. The code-generator and deployment rules serve one
task each: they now load on demand, like the two skills already in place.
The generator's prohibition stays in CLAUDE.md — a ban must not depend on
a skill being opened.
Checked: no reference points at the moved files, and all four skills
declare a name matching their directory.
Assisted-by: Claude Opus 5
2026-09-02 08:04:15 -04:00
|
|
|
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.
|
[ADD] commentaires : un relevé non bloquant, sa règle, le code nettoyé
Rien ne relevait les commentaires hors convention. L'outil lit commentaires et
docstrings, jamais le code autour, et rend deux familles inégales :
l'identifiant — adresse, courriel, chemin de compte, nom de la liste privée —
est une trouvaille ; le récit — témoignage, date, personne — un signal à relire.
Le hook pre-commit le lance sur l'index, sort toujours en 0 — un contrôle
bloquant à cette échelle se fait désinstaller — et parle quand l'outil échoue.
La règle du générateur et sa doc portent le nettoyage au fur et à mesure, et
l'exemple d'un interdit s'invente : base, adresse, compte et hôte en prennent un.
L'écran du contexte est posé, sans entrée de menu. Vérifié : 252 tests des six
fichiers d'essai touchés passent.
--- EN ---
Nothing reported the comments that break the convention. The tool reads
comments and docstrings, never the code around them, and returns two unequal
families: identifying data — address, e-mail, account path, private-list name
— is a finding; narrative — witness marker, date, person — a signal to re-read.
The pre-commit hook runs it on the index, always exits 0 — a blocking check at
that scale gets uninstalled — and speaks when the tool fails. The generator
rule and its doc carry the clean-up as you go, and a forbidden thing's example
is invented: a real database, address, account and host each take one.
The context screen is in place, with no menu entry. Checked: 252 tests of the
six touched fixture files pass.
Assisted-by: Claude Opus 5
2026-08-30 02:02:51 -04:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
python3 script/analyse/check_comment_hygiene.py script --identifying-only
|
|
|
|
|
```
|