Skip to content

The grozro CLI

The full drafting and approval loop from your terminal. Zero dependencies, single binary, Node 20+.

Install & login

npm install -g grozro
grozro login   # shows a code, you approve it in the app — done

grozro login opens your browser to approve a one-time code — no copy-pasting keys. Non-interactive environments (CI, agents) can pass --api-key ak_ from app.grozro.com → Settings → Developer access. Credentials land in ~/.grozro/config.json (0600); point at another stack with --api-url https://….

Commands

CommandWhat it does
grozro loginBrowser login: approve a code in the app. CI/agents: --api-key ak_…
grozro overviewWorkspace snapshot: profile, channels, drafted queue, learnings
grozro batch [--count 6] [--focus …]Draft a batch of ready-to-post content (async — poll the batch)
grozro batches listList recent batches
grozro batches get <id>One batch with its drafted items (settles in-flight generation)
grozro article <topic…> [--outline …] [--length short|medium|long]Draft one long-form X article (async — poll GET /articles)
grozro articles [get <id>]List long-form articles
grozro articles get <id>One article
grozro queue [--status drafted]List content items by status
grozro approve <id> [--body …]Approve a drafted item (optional edited body; articles may retitle)
grozro reject <id> [--reason …]Reject a drafted item
grozro item posted <id> [--url …]Mark an approved item posted (manual publish path)
grozro item schedule <id> --at <iso8601>Schedule an approved item; the worker posts it when due
grozro post <id>Post an approved item to X immediately (articles go out as one long post)
grozro whoamiConnected X account state
grozro connection disconnectDisconnect the X account
grozro accounts [set-default <id>]List connected X accounts (multi-account)
grozro accounts set-default <id>Make an account the default new content posts from
grozro profile update [--goal …] [--voice …] [--json {…}]Update the growth profile (voice, goal, audience…)
grozro channels update <id> [--status active|inactive] [--json {…}]Update a platform channel (status, format rules, cadence)
grozro auditRun an analytics audit (from synced metrics by default)
grozro audits get <id>Audit result with extracted learnings
grozro learnings [add|retire]List learnings (what worked / flopped / hypotheses)
grozro learnings add --kind worked|flopped|hypothesis --note …Add a learning
grozro learnings retire <id>Retire a learning
grozro engage list [--status …]List engagement suggestions/drafts (replies, quotes)
grozro engage create <url|id> --action reply|quote|repost|likeDraft an engagement against an X post
grozro engage approve <id> [--body …]Approve a drafted engagement
grozro engage reject <id> [--reason …]Reject a drafted engagement
grozro engage execute <id>Execute an approved engagement on X
grozro targets listList target accounts
grozro targets add <handle> [--category …] [--priority 1-3]Add a target account to watch
grozro targets update <id> [--status active|paused] [--priority 1-3]Update or pause a target
grozro signals listList open signals from watched targets
grozro signals dismiss <id>Dismiss a signal
grozro signals engage <id> --action reply|quote|repost|likeEngage a signal (drafts a reply/quote)
grozro products listList products available for self-promotion weaving
grozro products add --name … --one-liner … [--url …]Add a product
grozro products update <id> [--status active|archived] [--json {…}]Update or archive a product
grozro hooksHook-pattern library with usage stats
grozro reports listList weekly reports
grozro reports createGenerate a weekly report
grozro experiments listList experiments
grozro experiments create --name … --hypothesis …Create an experiment
grozro experiments conclude <id> --result …Conclude an experiment with a verdict
grozro rules list [update|pause-all|resume-all|runs]List automation rules
grozro rules update <id> [--status active|paused] [--json {…}]Update an automation rule
grozro rules runs [--rule-id <id>]List recent automation rule runs
grozro rules pause-allPause all automation (kill switch)
grozro rules resume-allResume automation
grozro calendarList scheduled/approved items (alias for `queue --status approved`)

A typical session

$ grozro batch --count 6 --focus "launch week"
$ grozro queue
$ grozro approve 3f2a… --body "sharper hook"
$ grozro article "why shipping weekly beats shipping perfect" --length long
$ grozro articles
$ grozro post 3f2a…