odx#

The odx logo

Odoo Developer eXtension: one Rust CLI for Odoo projects, driven by a single [tool.odx] table in pyproject.toml.

odx builds a project’s addon repositories from upstream branches plus the pull requests you need, pins and vaults every commit so rebuilds never break, keeps an eye on what upstream merged, ports fixes across Odoo series, migrates addons the OCA way, and lints with project context. It replaces git-aggregator, uvault and a handful of scripts with one fast binary.

Install#

$ uv tool install odx-cli       # or: pipx install odx-cli
$ cargo install odx-cli

Binary wheels are published for Linux (glibc and musl, x86_64 and aarch64), macOS (Intel and Apple silicon) and Windows; no Rust toolchain needed.

The odx extension for VS Code (Open VSX: VSCodium, Cursor, Windsurf and others) shows the dashboard and the project’s pull requests, and downloads odx when it is not installed.

Quick start#

$ odx import repos.yaml --write     # from git-aggregator: pyproject.toml, created if missing
$ odx aggregate                     # fetch and build every repository
$ odx lock                          # pin and vault every merged commit
$ odx status                        # what upstream merged, what changed
$ odx lint --only-changed           # odoo-lint with the project's context

What it does#

Area

Commands

Aggregate and lock

aggregate, lock, verify, add, drop, import, export

Packages and deployment

vendor, build, platform profiles (wheels, vendored source, Odoo.sh)

Local development

dev, doctor, auth, sync, cache, daemon

Upstream insight

status, suggest, verdict, dashboard, check-deps, upgrade, sniff, stats, glue, changelog, diff

Environments and automation

env, promote, bot

Porting and migration

port pr/addon/sweep, migrate plan/addon/pr/update/pin/unpin/own

Linting

lint, with odoo-lint built in and project rules on top

Every command supports --json. The full reference, configuration and compatibility notes are on Read the Docs.

The aggregation engine is also available as a drop-in replacement for git-aggregator’s gitaggregate: odx git-aggregate, or the standalone git-aggregate-rs package.

Status#

Pre-alpha (0.0.x): the configuration and the CLI may still change between releases.