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
3.4 KiB
3.4 KiB
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 parls -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.mdou.fr.mddirectement - Outil mmg disponible via
source .venv.erplibre/bin/activate && mmg - Les tests qui créent de VRAIES machines vivent dans
long_test/et non danstest/: le lanceur unitaire balaietest/test_*.pyet doit rester lançable en quelques secondes, même sans virtualisation. Ils durent des heures et se défont par--detruire— voirlong_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é.