A CLI tool to streamline Odoo development environments.
Warning This tool is designed purely for Odoo development purposes. It is not recommended for use in production environments.
Before installing rodoo, you need to have uv installed on your system.
You can install rodoo using uv-tool:
uv tool install git+https://github.com/trisdoan/rodoo.git- Automated Odoo Development Setup: Clones the correct Odoo version from the official repository. Automatically creates and manages Python virtual environments for your projects using
uv. - Flexible Configuration: Configure your Odoo instances via CLI arguments or through
rodoo.tomlconfiguration files. - Profile Management: Create and manage multiple configuration profiles for different projects.
rodoo is designed to be non-intrusive to your project's directory. It manages all the heavy components in a central location (~/.config/rodoo on Linux).
- Source Code: Odoo source code (both Community and Enterprise) is cloned into version-specific subdirectories within the
rodooconfig folder. This means you only have one copy of each Odoo version on your system, which is then shared across projects. - Virtual Environments: Python virtual environments are managed by
uvand are stored in avenvssubdirectory, keeping your projects clean from bulkyvenvfolders. - Profiles: The core concept is the "profile". A profile is a collection of settings for a specific Odoo instance (e.g., modules, version, custom paths) defined in a
rodoo.tomlfile. You can have multiple profiles for different projects. This file can be checked into your version control, making it easy to share project configurations with your team and ensure consistent environments across different machines.
There are a few ways to use rodoo.
You can start an Odoo instance by providing the module and version directly on the command line. rodoo will handle the rest.
rodoo start --module web --version 17.0 --python-version 3.11For more complex projects, you can create a rodoo.toml file in your project directory.
Here is an example rodoo.toml:
[profile.my_project]
modules = ["web", "crm", "sale"]
version = 17.0
python_version = "3.11"
enterprise = true
paths = ["./custom_addons"]Then, you can start the instance using the profile name:
rodoo start --profile my_projectIf you only have one profile, you can just run rodoo start and it will be selected automatically.
If you run rodoo start in a directory with no configuration, it will prompt you to create a new profile interactively.