v0.6.0
CLI polish round driven by a real-PR walkthrough. Adds a batch-reply primitive, a compact cr context mode for triaging long thread lists, per-subcommand --help, and cr --version. Also tightens two SKILL.md workflow gaps surfaced when an agent bypassed the per-thread loop after a summary-only exit. No breaking changes.
Added
cr reply-many <pr-url> --body <body> <thread-id> [<thread-id>...]. Fan-out: post one body to N threads in a single call. Output is a JSON array; each element is{thread_id, comment_id, created_at}on success or{thread_id, error}on failure. Exit0if every reply landed,2if any failed. Replaces the common pattern of three sequentialcr replycalls after a mechanical-fix commit that closed three related issues with the sameFixed in <sha> by …body.cr context --compact. Strips the standard context block down to title, severity, location, jump link, and the first 5 lines ofai_prompt. No[!IMPORTANT]/[!TIP]callouts, no proposed-fix hint, no "How to respond" footer. For batch triage of 6+ threads where the full callouts drown the per-thread signal.--fulland--compactare mutually exclusive.- Per-subcommand
--help. Everycr <subcommand>now responds to-h/--helpwith its usage line and exits0. Previously the top-levelcr --helpworked but subcommand-level rejected withunknown flag: --help. cr --version/cr -v/cr version. Printscr <version>and exits0. The constant lives inbin/crand is bumped alongsideplugin.json+SKILL.mdfrontmatter.
Changed
- SKILL.md Step 5
summary-onlyroute now exits with a verbatim re-invoke nudge ("when you're ready to reply, re-invoke/coderabbit-threadsso each thread gets its own pause-point") plus a paragraph explicitly forbidding "let's work on them" follow-ups from jumping to code. Closes a real workflow gap surfaced when an agent bypassed Step 6 after a summary-only run and made a behavioral-contract call without prompting the user. - SKILL.md Step 6 contested gate carves out behavioral-contract disagreements (status code, error vs warn, throw vs return, sync vs async, side effects, etc.) as always-ask. This holds even in
MODE = autoand even with high confidence. Both options can be defensible, and the choice belongs to the user, not the agent. The "high-confidence auto-Won't fix" path stays for genuinely-mistaken bot claims (non-existent function, repeated finding), not for design-call disagreements. - SKILL.md Step 6.4 documents
cr reply-manywith a "Batch fan-out for the one-commit-closed-N-threads case" paragraph explaining when to prefer it over per-threadcr reply(identical body across threads; mixed bodies fall back to per-thread). Step 6.1 documents--compactfor batch-triage runs. - Common Mistakes gains two entries naming the failure modes that drove the Step 5 / Step 6 edits: "Acting on threads after a
summary-onlyexit without re-invoking" and "Making a behavioral-contract call autonomously inMODE = auto".
Internal
No breaking changes. Existing cr invocations continue to work unchanged. The agent does not have to use reply-many or --compact; they're available when the situation fits.
Full diff: v0.5.0...v0.6.0