erplibre/CLAUDE.md
Mathieu Benoit 5fb49da0f2 [ADD] convention : dire le fonctionnement, pas le contexte ni les noms
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
2026-08-30 05:11:36 -04:00

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 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é.