Automatic README documentation bot for Odoo custom modules
Project description
odoo-readme-bot
Automatically detects outdated README files in Odoo custom module repositories and regenerates them using the Claude API. Designed to run as a scheduled GitLab CI job (once per day) on client repositories managed by Jarsa.
Features
- SHA-based tracking — only processes modules that changed since the last documented commit
- Two-model cost optimization — Claude Haiku decides if update is needed, Claude Sonnet generates
- Bilingual output — technical English + functional Spanish per module
- CI-friendly — exit code 42 when READMEs were updated, enabling downstream steps
- Dry-run mode — analyze without writing files or pushing
Installation
pip install odoo-readme-bot
Usage
export ANTHROPIC_API_KEY="sk-ant-..."
# From any Odoo client repo root:
odoo-readme-bot run
# Dry run (no writes, no git ops):
odoo-readme-bot run --dry-run
# Force update all modules:
odoo-readme-bot run --force
# Single module only:
odoo-readme-bot run --module path/to/module_name
GitLab CI Integration
auto-update-readme:
stage: auto-docs
image: python:3.11-slim
script:
- pip install odoo-readme-bot -q
- odoo-readme-bot run
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
allow_failure: true
Required CI/CD variables:
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY |
Claude API key (protected, masked) |
GITLAB_TOKEN |
Token with write_repository scope (protected, masked) |
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success, no changes needed |
| 42 | Success, one or more READMEs updated and pushed |
| 1 | Unrecoverable error |
License
MIT — Jarsa
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_readme_bot-1.2.2.tar.gz.
File metadata
- Download URL: odoo_readme_bot-1.2.2.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41429c6852822fc7fbd77bcd3df954cee61e4d83b50af67fc828fad991a7890f
|
|
| MD5 |
f5b79a066b7d7452b2b4fc0041c9324d
|
|
| BLAKE2b-256 |
4693efb8f3ab17971aadeb8b2d2bb839b47c20d0e82b1699737a7c95a3411588
|
Provenance
The following attestation bundles were made for odoo_readme_bot-1.2.2.tar.gz:
Publisher:
publish.yml on Jarsa/odoo-readme-bot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
odoo_readme_bot-1.2.2.tar.gz -
Subject digest:
41429c6852822fc7fbd77bcd3df954cee61e4d83b50af67fc828fad991a7890f - Sigstore transparency entry: 1244564125
- Sigstore integration time:
-
Permalink:
Jarsa/odoo-readme-bot@1b74c83c0ba37823c5997b80c14a63c0d4712120 -
Branch / Tag:
refs/tags/v1.2.2 - Owner: https://github.com/Jarsa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1b74c83c0ba37823c5997b80c14a63c0d4712120 -
Trigger Event:
push
-
Statement type:
File details
Details for the file odoo_readme_bot-1.2.2-py3-none-any.whl.
File metadata
- Download URL: odoo_readme_bot-1.2.2-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be13809bbad47375c2239920c03de974ab7de9d15fc0bcdf39c7847a1a2510ec
|
|
| MD5 |
578e2e7e4a87fd1c47343b1cd4acf9d1
|
|
| BLAKE2b-256 |
088a44ffb1c15982333148e6949e8257740175d7356baadedb5799ef8e5c39b0
|
Provenance
The following attestation bundles were made for odoo_readme_bot-1.2.2-py3-none-any.whl:
Publisher:
publish.yml on Jarsa/odoo-readme-bot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
odoo_readme_bot-1.2.2-py3-none-any.whl -
Subject digest:
be13809bbad47375c2239920c03de974ab7de9d15fc0bcdf39c7847a1a2510ec - Sigstore transparency entry: 1244564191
- Sigstore integration time:
-
Permalink:
Jarsa/odoo-readme-bot@1b74c83c0ba37823c5997b80c14a63c0d4712120 -
Branch / Tag:
refs/tags/v1.2.2 - Owner: https://github.com/Jarsa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1b74c83c0ba37823c5997b80c14a63c0d4712120 -
Trigger Event:
push
-
Statement type: