Share the ACQ CRM CLI through the repository, not as a copied local script.
The ACQ CRM CLI is the terminal command surface for Codex and teammate-driven CRM work. Everyone should use the same committed CLI from GitHub so the command behavior, approval rules, and safety controls stay consistent across machines.
Best Distribution Model
Share through GitHubClone the repo, install dependencies, and run the `npm run crm:*` commands from the committed codebase.Safety Model
Draft-first where neededEmail and SMS flows still respect the same draft-first and approval-sensitive behavior as the live app.Required Access
Before someone can use the CLI reliably, they need the same repo and environment context as the app.
| Requirement | Description |
|---|---|
| GitHub | Access to https://github.com/andi-c-ops/acquira-crm. |
| CRM account | A valid ACQ CRM user account at https://crm.acquira.co. |
| Environment | A securely provisioned .env.local with the protected values needed for live CLI work. |
| Gmail | A connected CRM Gmail account if the teammate will draft or send email through the CLI. |
Teammate Setup
These are the steps Dante and Nathan should follow on their own machines.
Clone the repo
git clone https://github.com/andi-c-ops/acquira-crm.git
Install dependencies
Run npm ci so the CLI uses the same dependency tree as the repo.
Load approved secrets
Receive the approved .env.local values through the team’s secure secret-sharing path.
Verify the CLI
Run npm run crm:help and confirm the command surface loads correctly.
Read the core docs
Review README.md, docs/cli-onboarding.md, and docs/change-management-protocol.md. Use docs/archive/README.md only if you need older planning or onboarding context.
Command Guidance
Use these buckets to decide what teammates should run first and what still needs explicit intent.
Day-One Approved Commands
npm run crm:helpnpm run crm:contact -- --query "Name"npm run crm:report -- --range week --jsonnpm run crm:task-count -- --user-email <user@acquira.com> --status OPEN --jsonnpm run crm:nl -- "..." --dry-run --json
Commands That Need Intentional Review
crm:emailbecause it writes draft state in the Codex session workflowcrm:smsbecause it writes draft state in the Codex session workflow and must preserve compliancecrm:send-draftbecause it can trigger a real outbound send from the Codex session workflowcrm:update-contact,crm:update-opportunity,crm:create-task, andcrm:update-taskbecause they perform live CRM writescrm:gmail-backfill-writebecause it is a production write-mode import
Sharing Rules
These are the guardrails that keep the CLI usable across teammates and prevent drift.
| Rule | Description |
|---|---|
| Do not send local copies | Share the CLI through GitHub, not by copying scripts/crm-command.mjs between machines. |
| Do not share secrets in chat | Provision .env.local through the approved secure path. |
| Keep Git clean | Teammates should work from a clean branch and keep local repo state aligned with origin/main. |
| Verify live state first | For production-sensitive work, confirm repo, deploy, and integration state before changing anything. |
| Keep docs aligned | If the CLI behavior changes, update the implementation, README, and supporting docs in the same pass. |
The ACQ CRM CLI is now available through the ACQ CRM repo. Please use the repo version only, not copied local scripts. Start with npm ci, load the approved .env.local, run npm run crm:help, and review the onboarding docs before doing write actions.