[REM] CLAUDE.md: untrack it, ignored like the rest of the agent config

Joins `.claude/`, `.vscode/` and `.github` in the .gitignore. The file stays on
disk, only out of version control, so its contents (including the path to the
OCB and OCA sources) are now local to each machine.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
GitHub Copilot 2026-08-11 13:32:36 +02:00
parent 4615da6dae
commit 2b1cabbb43
2 changed files with 1 additions and 92 deletions

2
.gitignore vendored
View file

@ -135,4 +135,4 @@ tmp/
.claude/
.vscode/
.github
CLAUDE.md

View file

@ -1,91 +0,0 @@
# Kidekoop — Odoo 18.0 Custom Addons
Odoo 18.0 (OCB community) addons repo. Code in **English**.
## ⚠️ Critical rules (non-negotiable)
- **DO NOT modify** the OCB core (`ocb/`) nor these original OCA addons (reference/inheritance only):
`product_main_seller`, `account_invoice_triple_discount`, `product_get_price_helper`,
`product_price_category`, `purchase_triple_discount`, `base_bank_from_iban`, `l10n_es_partner`.
All changes go in our own custom addons.
- **Do NOT use `_()` in field definitions** (triggers import-time warnings). Only in methods/executable code.
- **Business logic ALWAYS on `product.product`** (variants), never on `product.template` (use `related` there).
Avoids issues with pricelists and reports that operate at the variant level.
- **No logic in QWeb**: prepare all data in the Python controller; templates only do simple attribute access.
- **No business logic in JavaScript**: UI/events only.
- Translations: edit `.po` files with `polib` (append). **`msgmerge` corrupts the files** — do not use it.
## Stack
Odoo 18.0 · Python 3.10+ · PostgreSQL · Docker Compose · XML/QWeb/JS.
Formatting: `black` (line 88) + `isort` (black profile) + `flake8` + `pylint-odoo`. Pre-commit active.
## Commands
```bash
docker-compose up -d # env (8070=web, 8073=longpolling)
docker-compose run odoo odoo -d odoo --test-enable --stop-after-init -u <addon> # tests (run, NOT exec: avoids cache)
docker-compose exec odoo odoo -d odoo -u <addon> --stop-after-init # update addon
docker-compose logs -f odoo # logs
docker-compose exec db psql -U odoo -d odoo # postgres
make lint | make format | make check-format | make flake8 | make pylint-required
pre-commit run --all-files
```
## Odoo conventions
- Models `snake.case` · classes `PascalCase` · files `snake_case.py` · XML IDs `module.name`.
- Manifest always `__manifest__.py`, version `18.0.X.Y.Z`, `depends` alphabetically ordered.
- Views: 4 spaces, explicit `position` in XPath, groups via `module.xml_id`, `sequence` for ordering.
- Bulk: prefer `search().write()` over loops; `create([vals, ...])` for bulk create.
- Notifications: `ir.actions.client` + `display_notification`.
- Detailed logging in price/discount computations: `_logger.info("[PRICE] ...", ...)`.
## Custom addons
Pricing & products:
- `product_sale_price_from_pricelist` — auto-computes sale price from last purchase price + pricelist.
Requires taxes on the product and `last_purchase_price_compute_type != "manual_update"`.
Also applies supplier discounts from `supplierinfo`.
- `product_pricelist_total_margin` — total margin computed additively (Markup or Commercial Margin), with global limits.
- `product_price_category_supplier` — price categories per supplier.
- `product_origin_char` — free-text origin field per product (template-based).
- `account_invoice_triple_discount_readonly` — fix for triple-discount accumulation bug (always use it).
Sales & website:
- `website_sale_aplicoop` — Eskaera: collaborative purchasing for consumer co-ops (group orders,
per-member carts, cutoff/pickup dates, lazy loading, multi-language).
- `website_sale_disable_cart` — turns `/shop` into a read-only catalog: hides the cart UI and
redirects the standard `/shop/cart*` routes to a configurable URL (default `/shop`).
- `portal_event_registration` — portal users view their event registrations + upload attachments to chatter.
Membership:
- `membership_monthly_invoicing` — auto-creates a monthly membership invoice per active member (cron-driven).
- `membership_expiry_reminder` — automated renewal-reminder emails near expiry, with online renew link.
Logistics & accounting:
- `stock_picking_batch_custom` — batch picking extras: extra detailed-op columns, ordering by
category/product/partner, and a full-screen operator (Basket Assembly) view.
- `account_banking_mandate_batch` — contextual action to bulk-create/validate SEPA mandates for selected partners.
- `l10n_es_edi_tbai_reagyp_recibidas` — TicketBAI fix: REAGYP vendor-bill regime key 19 → 02.
## Documentation
- Per-addon details: its `README.rst` (OCA) or `README_DEV.md` (technical).
- Global patterns: `.github/copilot-instructions.md` (extended version of this file).
- Guides: `docs/QWEB_BEST_PRACTICES.md`, `docs/OCA_DOCUMENTATION.md`, `docs/LAZY_LOADING.md`.
- OCA `readme/` structure (DESCRIPTION, INSTALL, CONFIGURE, USAGE, CONTRIBUTORS, CREDITS).
Credits: Criptomart (author).
## Commits
`[TAG] module: description` — tags: `[ADD] [FIX] [IMP] [REF] [REM] [I18N] [DOC]`.
## Available skills
Per-language skills (`odoo-python`, `odoo-xml-views`, `odoo-qweb-html`, `odoo-javascript`) and the
OpenSpec workflow (`openspec-explore/propose/apply-change/archive-change`, `/opsx:*` commands) live in `.claude/`.