An AI-first Odoo development and CI tool, powered by reusable database templates. Oduflow provisions isolated, ephemeral Odoo environments on Docker — one per git branch — and exposes them to AI coding agents via MCP, creating a closed feedback loop that enables fully autonomous Odoo development.
Vibe coding — chatting with an AI and eyeballing the output — was the first wave. It works for prototypes, but breaks down on real ERP systems where a module must install cleanly, pass tests, and work against production data.
Spec-Driven Development (SDD) is the next step: you write a precise specification of what the module should do, and the AI agent autonomously implements how — because it has a closed feedback loop with the running system:
┌─────────────────────────────────────────────────────┐
│ AI Agent │
│ (Cursor, Cline, Amp, Claude, …) │
└──────┬──────────────────────────────▲────────────────┘
│ 1. Read spec │ 5. Read errors,
│ 2. Write code │ fix code,
│ 3. Install module via MCP │ retry
│ 4. Click-test UI via │
│ Playwright MCP │
┌──────▼──────────────────────────────┴────────────────┐
│ Oduflow (MCP Server) │
│ • install_odoo_modules → traceback or success │
│ • run_odoo_tests → test pass/fail with details │
│ • get_environment_logs → runtime errors │
│ • upgrade_odoo_modules → upgrade output │
├──────────────────────────────────────────────────────┤
│ + Playwright MCP / other tools │
│ • Navigate Odoo UI, click buttons, fill forms │
│ • Verify business logic end-to-end │
│ • Validate acceptance criteria from the spec │
└──────────────────────────────────────────────────────┘
The agent writes code, installs the module, reads the traceback, fixes the error, retries — and when it installs cleanly, it can open the browser via Playwright MCP to click through the UI, verify business flows, and validate acceptance criteria — all without human intervention.
| Vibe Coding | Spec-Driven Development | |
|---|---|---|
| Input | Conversational prompts | Formal specification with acceptance criteria |
| Feedback | Human eyeballs the code | System returns errors, test results, and UI state automatically |
| Iteration | Human copy-pastes errors back | Agent retries autonomously via MCP |
| Scope | Single files, prototypes | Full modules against real databases |
| Verification | "Looks right" | Module installs, tests pass, UI works on production data |
pip install oduflowcp .env.example .env
# Edit .env — at minimum set paths and optionally ODUFLOW_AUTH_TOKENoduflow initoduflowThe server starts on http://0.0.0.0:8000 by default.
Point your MCP client (Cursor, Cline, Amp, etc.) to http://<host>:8000/mcp.
For full documentation, visit oduflow.dev or see the docs/ folder:
- Installation & Configuration
- Use Cases & Workflows
- Template Management
- Environment Management
- Auxiliary Services
- Extra Addons Repositories
- Web Dashboard & REST API
- MCP Tools Reference
- CLI Reference
- Traefik Routing (Auto-HTTPS)
- Multi-Instance Support
- Authentication & Security
- Running in Docker
- Internals
- Licensing
Oduflow is source-available under the Polyform Noncommercial License 1.0.0. Commercial use requires a license — visit oduflow.dev.