Back to OneCueDocs.
Docs.
Install, and every command.
No account, no cloud, Node 20+. Everything below is copy-paste runnable.
Install
CLI 0.4.0 on npm. One command. No account, no cloud. Requires Node 20+.
curl -fsSL https://onecue.sh/install.sh | shOr with npm, then wire it into the repo:
npm i -g onecue-cli
cd your-repo && onecue installSkill only, for any agent:
npx skills add onecueai/onecue-skillCommands
- onecue init
- Create the git-visible .onecue/decisions/ store
- onecue install
- Install skill + hooks for detected agents [--harness claude,devin,cursor,codex]
- onecue uninstall
- Remove only OneCue's hooks (decisions are kept)
- onecue status
- Initialization, hooks, and decision counts
- onecue statusline
- One-line status for the agent status bar (decisions, cues this session, local)
- onecue doctor
- Diagnose the setup, decision graph, and spend report [--json]
- onecue bench
- Run the decision-selection benchmark [--json]
- onecue remember <text>
- Record a decision [--kind …] [--reason …] [--files a,b] [--rejected] [--rules-out a,b] [--supersedes <id>] [--conflicts-with <id>]
- onecue recall <context>
- Print the cue this context would surface [--json]
- onecue list
- List decisions [--kind <k>] [--json]
- onecue show <id>
- Show one decision (id or prefix)
- onecue forget <id>
- Tombstone one decision (file kept, excluded from recall)
- onecue hook <event>
- Invoked by the agent harness, not by hand
A decision file
Plain Markdown under .onecue/decisions/, committed with your repo. Named <ISO-timestamp>-<kind>-<uuid8>.md. Session logs stay out of git under ~/.onecue/projects/<fingerprint>/.
---
kind: "decision"
outcome: "rejected"
reason: "Redelivered webhooks double-charged a customer."
files: ["src/webhooks/stripe.ts"]
---
Claim the Stripe event id in processed_events before
applying a payment. Retries redeliver the same event.The decision guard
Recall reminds. The guard enforces. Before a tool writes code that re-introduces a rejected approach, OneCue asks — with the decision and its reason. Silent on every unrelated edit.
▲ OneCue — this change re-introduces "redis", which
this project rejected. "Keep Postgres SKIP LOCKED for
the queue; Redis reconnects duplicated jobs."
Proceed only if you are explicitly revisiting it.Decision kinds
- decision
- a choice with the reason it was made, and what it rules out
- insight
- a non-obvious lesson or root cause
- open_loop
- unfinished work or a pending constraint
- discovery
- an undocumented fact about the repo or system
- reference
- an external pointer with a known future use
Prefer a guided walkthrough?
Start guide