Skip to content

v0.6.0

Choose a tag to compare

@tkoehlerlg tkoehlerlg released this 14 May 07:32
· 13 commits to main since this release

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. Exit 0 if every reply landed, 2 if any failed. Replaces the common pattern of three sequential cr reply calls after a mechanical-fix commit that closed three related issues with the same Fixed in <sha> by … body.
  • cr context --compact. Strips the standard context block down to title, severity, location, jump link, and the first 5 lines of ai_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. --full and --compact are mutually exclusive.
  • Per-subcommand --help. Every cr <subcommand> now responds to -h / --help with its usage line and exits 0. Previously the top-level cr --help worked but subcommand-level rejected with unknown flag: --help.
  • cr --version / cr -v / cr version. Prints cr <version> and exits 0. The constant lives in bin/cr and is bumped alongside plugin.json + SKILL.md frontmatter.

Changed

  • SKILL.md Step 5 summary-only route now exits with a verbatim re-invoke nudge ("when you're ready to reply, re-invoke /coderabbit-threads so 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 = auto and 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-many with a "Batch fan-out for the one-commit-closed-N-threads case" paragraph explaining when to prefer it over per-thread cr reply (identical body across threads; mixed bodies fall back to per-thread). Step 6.1 documents --compact for 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-only exit without re-invoking" and "Making a behavioral-contract call autonomously in MODE = 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