Command Reference
Every command runs the same on MacBook and Studio. Each subsection documents one command with its purpose, typical output, and side effects.
session help
Prints the full command list with brief descriptions. Runs locally, no network access, instant. Use this when I need a quick reminder of the available subcommands.
session setup
First-time or reset setup for this specific machine. Checks scripts/config.json (URL, DB, username), offers the chance to edit, then prompts for the Odoo password via a hidden input. The password is stored in macOS Keychain under service "bpc-war-room". Finishes by testing the connection.
session open
Starts a work session in three steps. Step 1 runs git pull --rebase to collect any updates from the other machine. Step 2 reads the session log and shows the last CLOSE entry so I know where I left off. Step 3 connects to Odoo and pulls my open To-do tasks (filtered to the 5 open stages, no project tasks, active only, not done) into exports/latest.json. Logs an OPEN event to exports/sessions.log. Does not commit or push — only reads.
session close
Ends a work session in three steps. Step 1 pulls a final fresh snapshot from Odoo — this captures anything I did during the session. Step 2 writes a CLOSE entry to the session log. Step 3 runs git add, commit, and push so everything lands on GitHub. After this the other machine can pick up cleanly via session open.
session pull
Just the Odoo snapshot step, no git. Useful when I made changes in Odoo mid-session and want Claude to see them without a full close/open cycle. Rewrites exports/latest.json only. Nothing else is touched — no commit, no push, no log entry.
session status
Non-destructive diagnostic. Prints this machine hostname, repo path, current git branch, the latest commit, and the last three lines of the session log. No network calls. Good for a quick "where am I" check when switching between machines or returning after a break.
session seed
DESTRUCTIVE — rebuilds my Odoo To-do from a master list hardcoded inside seed.py. Marks 5 named historic tasks as Done, deletes all other open tasks, then creates a fresh set from MASTER_TASKS. Typed confirmation required ("SEED BPC WAR ROOM"). Has a safety backstop that aborts if more than 60 tasks would be deleted (catches filter regressions) and a defense check that aborts if any deletion candidate has project_id set.