skip to content

Every repo. Every version.ONE SWITCH.

cc is the command-line cockpit for Odoo development — one verb flips branch, database, IDE and venv, and your project is ready to run. A daemon keeps the state; a web companion watches it live.

$ cc switch 19.0-sale-gift-card
✓ Switched → sale-gift-card / 19.0-sale-gift-card
# project ready.
36+
commands
1 verb
env ready
1 daemon
zero drift
cc switchcc opencc envcc projectcc workspacecc dbcc backupcc restorecc initdbcc copycc resetcc cloccc modulecc newcc prcc branchcc fetchcc githubcc shcc psxcc ticketcc timecc tunnelcc themecc venvcc webcc daemoncc logscc intelcc reindexcc setupcc configcc shellcc cdcc statcc sync

One verb. Everything follows.

A project is your ticket. Each environment is a complete config — branch, database, IDE, venv, port. cc switch sets all five.

~/odoo — zsh
$ cc switch 19.0-sale-gift-card
odoo: checked out 'sale-gift-card-feature'
Activating Python environment: cc-19.0-sale-gift-card
Background fetch triggered (next due in 24h).
✓ Switched → sale-gift-card / 19.0-sale-gift-card · 19.0 · sale-gift-card-feature · cc_19_gift

branch · database · ide · venv · port — one verb

project / sale-gift-card5 subsystems
01branch
sale-gift-card-feature
02database
cc_19_gift
03ide
.vscode/settings.json written
04venv
cc-19.0 · python 3.11
05port
8169
✓ ready in 1.8s

Environments carry state

Every branch is an environment with a lifecycle. Active shows in your picker, merged steps aside, archived disappears — your list stays the size of your actual work.

19.0-sale-gift-card

19.0
branch
sale-gift-card-feature
db
cc_19_gift

switched 2m ago

18.0-pos-loyalty

18.0
branch
pos-loyalty-discount
db
cc_18_pos

cleared from picker

17.0-pos-refactor

17.0
branch
17.0-pos-refactor
db
cc_17_pos

hidden everywhere

Watch it run.

The companion reads the same SQLite the daemon writes — active envs, PRs, timesheets, switch history, live over SSE at localhost:3000.

localhost:3000
cc
DASHBOARD

3 active environments

sale-gift-card / 19.0-sale-gift-card19.0cc_19_gift
pos-loyalty / 18.0-pos-loyalty18.0cc_18_pos
website / 19.0-website-snippets19.0cc_19_web
RECENT
  • 17.0-stock-barcode · 2d
  • master-payment-flow · 5d
  • 18.0-website-forms · 1w

sale-gift-card1h 15m

pos-loyalty45m

[FIX] gift card balance rounding✓ ci#1234
[IMP] loyalty points on refund⠙ ci#1198

From branch to merged.

The PR opens with your team's template, checks stay in the terminal, and cloc counts the lines that bill.

~/odoo — zsh
$ cc pr create
resolving base… 19.0
template .github/PULL_REQUEST_TEMPLATE.md prefilled
✓ PR created: github.com/odoo-dev/sale-gift-card/pull/1234
$ cc pr checks

Checks — PR #1234

contextstatedescriptionci/stylesuccessStyle reviewci/runbot pendingrunbot build 712334 (testing)
CLOC Report(3 modules)
sale_gift_card342
payment_stripe189
website_gift_bundle127
TOTAL658

billable lines, straight from odoo-bin cloc

Beyond the switch.

Thirty-six commands cover the rest of the day. Watch a few of them work — real output, nothing staged.

cc setup — zsh
$ cc setup
CC Configuration Wizard
Odoo root directory: ~/odoo
✓ IDE → auto
✓ Multi-version mode → true
Register 19.0? [Y/n]: Y
✓ 19.0 → cc-19.0 (python 3.11.9)
Install shell integration? [y/N]: Y
✓ Installed. Run source ~/.zshrc to activate.
✓ CC is ready.
# run 'cc switch PROJECT' to get started

cc time

Timesheets that write themselves

Punch-in on switch, punch-out at EOD. Bar and pie charts in the companion.

cc backup

Named database snapshots

Snapshot before the risky migration. Restore in one command.

cc db

A pool of databases per project

Spin, copy, link, drop. Each environment keeps its own.

cc intel

Skill telemetry from your git history

LOC attribution, symbol knowledge, an auto-written CV of what you actually build.

cc tunnel

SSH tunnels, one command

A production database on a localhost port — and closed just as fast.

cc theme

Your terminal, your palette

Cyan by default — chrono remaps it to yellow.

cc sh

Odoo.sh without the tab

Builds, logs and shells from the terminal you are already in.

cc sync

Every machine, same state

Encrypted push/pull between your laptop, desktop and the Pi in the closet.

+ 27 more verbs
cc --help

cc daemon

One daemon, zero drift

JSON-RPC over a Unix socket. The CLI, the companion and your IDE all read the same state.

~/.cc-cli/cc.sock

INSTALL

$ git clone https://github.com/chronofeldyx/cc.git && cd cc && ./install.sh
01 clone02 ./install.sh03 cc setup

cc

cc version 3.7.0 banner

v3.7.0

Getting started:

cc switch PROJECTSwitch to a project
cc statShow active environment
cc setupFirst-time configuration

Own venv at ~/.cc-cli — no system-Python pollution. macOS and Linux, zsh, bash or fish.