Le dépôt n'avait aucune règle sur le commentaire de code : le seul modèle d'écriture était le corps de commit, et le gabarit y renvoyait le raisonnement qui n'y tenait pas. Le récit s'écoulait dans les sources, avec les noms qu'il portait. L'épreuve tient en une phrase : le code est le sujet, au présent de ce qu'il fait. Une phrase dont le sujet est un incident, une machine, une date ou une personne part vers tasks/, non versionné ; le mode de défaillance que le code empêche reste. Rien d'identifiant hors de private/, et seulement sur un dépôt privé. --- EN --- The repository had no rule at all about code comments: the only writing model available was the commit body, and the template sent the reasoning that did not fit there into a comment. The story flowed into the sources, carrying the names it named. The test fits in one sentence: the code is the subject, in the present of what it does. A sentence whose subject is an incident, a machine, a date or a person goes to tasks/, unversioned; the failure mode the code prevents stays. Nothing identifying outside private/, and only on a private repository. Assisted-by: Claude Opus 5
67 lines
3.4 KiB
Markdown
67 lines
3.4 KiB
Markdown
# CLAUDE.md
|
|
|
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
|
|
## ERPLibre Multi-Version Odoo Platform
|
|
|
|
## Projet
|
|
|
|
ERPLibre est un fork communautaire d'Odoo Community Edition (OCE) supportant les versions 12 à 18.
|
|
Version actuelle : **1.6.0** | Licence : **AGPL-3.0+**
|
|
Version Odoo par défaut : **18.0** (support officiel ERPLibre 1.6.0)
|
|
|
|
## Points d'attention pour Claude
|
|
|
|
- Toujours vérifier la version Odoo active avant de modifier du code (`cat .odoo-version`)
|
|
- Les addons sont dans `addons/` et gérés par Google Repo — ne pas modifier la structure des dépôts
|
|
- Utiliser le venv approprié pour le code Odoo. Son nom porte les DEUX versions
|
|
(`.venv.odoo18.0_python3.12.10/bin/python`) : le retrouver par
|
|
`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`
|
|
- 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
|
|
un fork public, ce qui s'y trouve devient public comme le reste
|
|
- Partout ailleurs — code, commentaires, messages de commit, documentation
|
|
— aucune donnée identifiante, jamais. Ce sont les fichiers qui suivent le
|
|
dépôt en amont. La règle complète, avec l'épreuve qui tranche, est dans
|
|
`.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
|
|
`test/` : le lanceur unitaire balaie `test/test_*.py` et doit rester lançable
|
|
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é.
|