Business Performance Consulting Sdn Bhd User Guides
03

Command Reference

Odoo 19 Enterprise · BPC Session

Every command runs the same on MacBook and Studio. Each subsection documents one command with its purpose, typical output, and side effects.

1

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.

2

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.

What session setup asks for
Odoo URL * Defaults to https://bpconsulting.com.my. Press Enter to accept.
Database name * bpconsulting19 for my BPC instance.
Username * Login email, e.g. fernando@bpconsulting.com.my.
Password * Hidden input — nothing is shown as I type. Stored in Keychain, never in a file.
When to re-run Run setup again after rotating the Odoo password, or if any command complains "Password not found in Keychain". Answer "y" to "Replace?" to overwrite the existing Keychain entry. Does not touch the repo or Odoo data.
3

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.

4

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.

Safe to forget If I skip close and go directly to the other machine and run open, the open will still fetch the latest state from Odoo directly. I will just miss a clean CLOSE line in the log.
5

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.

6

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.

7

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.

session seed flags
--dry-run Previews what would happen (move, delete, create counts) without touching anything. Safe to run anytime.
Essentially one-shot Seed ran once during initial setup. After that I manage tasks directly in Odoo. I would only run seed again if I wanted to wipe and restart from a new master list — probably never. Always run with --dry-run first if I ever do reconsider.