Skip to content

Releases: arun-gupta/agentctl

v0.21.0

Choose a tag to compare

@github-actions github-actions released this 13 May 23:13
f41c5b5

What's Changed

  • feat: global user config (~/.config/agentctl/config.yml) with project-local override by @arun-gupta in #288
  • feat: add DefaultSDD config field with SDDNone sentinel by @arun-gupta in #289
  • fix: move headless notification to detached subprocess by @arun-gupta in #292
  • feat: add agentctl setup interactive wizard for new developers by @arun-gupta in #290
  • refactor: reorganise CLI into 2-level command hierarchy by @arun-gupta in #294
  • test: add e2e smoke test for agentctl setup cobra wiring by @arun-gupta in #295

Full Changelog: v0.20.0...v0.21.0

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 13 May 04:28
85eed04

What's Changed

  • feat: abstract VCS layer so agentctl lifecycle works with GitLab by @arun-gupta in #262
  • feat: per-project default agent via .agentctl.yml by @arun-gupta in #266
  • feat: agentctl open — open worktree in editor or IDE by @arun-gupta in #267
  • feat: agent runs tests and reports results in PR before opening by @arun-gupta in #269
  • fix: instruct agents to use issue number not full URL in agentctl hints by @arun-gupta in #272
  • docs: README diagram, agentctl merge reference, config fields, package list by @arun-gupta in #275
  • feat: agentctl build — compile a test binary from an issue worktree by @arun-gupta in #273
  • feat: per-run diagnostics — structured metadata for each agent run by @arun-gupta in #274
  • fix: diagnostics.List always returns non-nil slice on success by @arun-gupta in #280
  • fix: skip non-agentctl worktrees in status and info by @arun-gupta in #283
  • fix: finalise diagnostics when headless agent exits by @arun-gupta in #282
  • feat: agentctl cleanup accepts multiple issues by @arun-gupta in #286
  • fix: agentctl info shows all adapters including those not installed by @arun-gupta in #284
  • feat: add agentctl info command for system diagnostics by @arun-gupta in #276

Full Changelog: v0.19.0...v0.20.0

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 02 May 23:46
9a8c059

What's Changed

  • feat: support starting agent tasks without issues by @arun-gupta in #253
  • fix: handle read-only Go module cache in .agent-home during cleanup by @arun-gupta in #255
  • feat: agentctl diff — show what an agent changed in a worktree by @arun-gupta in #256
  • fix: fall back to gh auth token when GITHUB_TOKEN env var is absent by @arun-gupta in #257
  • docs: add Shields badges for all coding agents in README matrix by @arun-gupta in #260
  • feat: parallel agents on the same issue for model comparison by @arun-gupta in #258
  • docs: add agentctl diff to CLI reference by @arun-gupta in #261

Full Changelog: v0.18.0...v0.19.0

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 02 May 01:09
137e0c8

What's Changed

  • fix: discard accepts comma-separated issue list by @arun-gupta in #235
  • fix: streamLog shows correct exit message after SDD stage 2 by @arun-gupta in #236
  • feat: cache PR number and URL in .agent (#159) by @arun-gupta in #241
  • docs: PLATFORM framework article (first draft) by @arun-gupta in #248
  • fix: eliminate macOS keychain access — require GITHUB_TOKEN env var by @arun-gupta in #249
  • feat: agentctl merge — one-step PR merge and worktree cleanup by @arun-gupta in #250
  • fix: prune orphaned remote branches in cleanup --all by @arun-gupta in #252

Full Changelog: v0.17.0...v0.18.0

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 01 May 02:59
ab805ef

What's Changed

  • fix: --quiet uses detached log routing so Ctrl+C doesn't orphan the pipe by @arun-gupta in #231
  • fix: always resolve bare issue numbers to full GitHub URLs in issue-arg by @arun-gupta in #233
  • docs: fix cli.md inaccuracies by @arun-gupta in #232

Full Changelog: v0.16.0...v0.17.0

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 21:12
fd40395

What's Changed

  • fix: improve headless UX — resume hints, contextual exit message, spec path in notification by @arun-gupta in #225
  • docs: fix stale comment on startDevServer by @arun-gupta in #227
  • fix: show dev server URL at agent exit by @arun-gupta in #228
  • fix: detach dev server process and guard .agent-home from build tools by @arun-gupta in #229
  • fix: show spec path in logs foreground output on agent exit by @arun-gupta in #230

Full Changelog: v0.15.0...v0.16.0

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 04:03
77ccf6a

What's Changed

Full Changelog: v0.14.0...v0.15.0

v0.14.0

Choose a tag to compare

@arun-gupta arun-gupta released this 29 Apr 19:02
21fe5cf

What's new

SDD plain improvements

  • Resume with feedback now revises the spec and stops for re-review instead of going straight to implementation (#215)
  • Agent authorised to run bash commands (tests, linters) without asking during resume (#213)
  • bypassPermissions on resume — claude adapter resume_cmd now passes --permission-mode bypassPermissions so pytest and other commands aren't blocked (#214)
  • Plain spec sections clarified — Changes vs Test Cases distinction tightened; all sections required even if "None" (#210)

Headless + notifications

  • Spec-ready notification — agentctl start --sdd=plain --headless --notify now pops "Spec ready for review — run agentctl resume N" instead of the generic finish message (#216)
  • First-run notification test — on the first --notify use, a test notification fires immediately with a hint to enable Alert style in System Settings (#211)
  • Failure notification includes agentctl logs N so you know where to look (#216)

Output and UX

  • PR status always shown after foreground agent exits — prints PR: none when no PR was opened, cleanup hint only appears when a PR actually exists (#212)
  • Distinct error hint on crash — foreground agent crash shows "agent exited with error — check the log: agentctl logs N" instead of the cleanup hint (#208)
  • Spinner no longer overwrites partial log lines on TTY (#209)
  • Spec path shown after SDD agent pauses for review (#209)
  • agentctl logs exits with message when the agent process dies instead of hanging forever (#205)

Claude adapter

  • resume_cmd now includes --permission-mode bypassPermissions (#214)

What's Changed

  • fix: agentctl logs exits with message when agent process dies by @arun-gupta in #205
  • fix: print distinct error hint when agent crashes in foreground mode by @arun-gupta in #208
  • fix: prevent spinner from overwriting partial log lines on TTY by @arun-gupta in #209
  • fix: clarify plain spec sections and require all sections filled by @arun-gupta in #210
  • feat: fire test notification on first --notify use by @arun-gupta in #211
  • fix: always show PR status after agent exits; cleanup hint only when PR exists by @arun-gupta in #212
  • fix: authorise agent to run bash commands without asking in SDD plain mode by @arun-gupta in #213
  • fix: add --permission-mode bypassPermissions to claude adapter resume_cmd by @arun-gupta in #214
  • fix: resume with feedback in SDD mode revises spec and stops, not implements by @arun-gupta in #215
  • feat: tailor completion notification for SDD headless spec checkpoint by @arun-gupta in #216

Full Changelog: v0.13.0...v0.14.0

v0.13.0

Choose a tag to compare

@arun-gupta arun-gupta released this 29 Apr 15:48
9141f91

What's new

Bug fixes

  • .claude credentials: symlink ~/.claude into agent home so Claude Code auth works under HOME isolation (#201)
  • Codex/Copilot output: non-claude adapters now stream plain-text output to agent.log in non-headless mode — output was silently dropped before (#200)
  • Codex credentials: symlink ~/.codex into agent home so Codex auth works (#199)
  • SpecKit pre-flight check: agentctl start --sdd=speckit now exits immediately with an actionable error and install instructions when SpecKit skills are not present (#203, #204)
  • Cleanup hint: non-SDD foreground runs now show agentctl cleanup <issue> instead of the misleading resume hint after the agent exits (#200)
  • Silent dev-server skip: removed spurious warning: no dev_server configured for projects that don't use a dev server (#200)
  • Headless SDD output: agentctl start --headless --sdd=... now shows logs, attach, and discard hints alongside the resume hint (#200)

Docs

  • docs/adapters.md restructured with Tested/Untested and Built-in/Pluggable labels (#197)
  • docs/cli.md documents --notify, desktop notifications, and .agentctl.yml config (#198)

Features (from v0.12.0 base)

  • Desktop notifications when headless agent finishes (--notify flag, notify: true in .agentctl.yml) (#196)

What's Changed

  • docs: refactor adapters.md with unified adapter catalog by @arun-gupta in #197
  • feat: desktop notifications when headless agent completes by @Copilot in #196
  • docs: document --notify flag and desktop notifications by @arun-gupta in #198
  • fix: symlink .codex into agent home so codex CLI credentials work by @arun-gupta in #199
  • fix: non-claude output streaming, cleanup hint, silent dev-server skip by @arun-gupta in #200
  • fix: symlink .claude into agent home so Claude Code credentials work by @arun-gupta in #201
  • fix: exit early when --sdd=speckit but speckit skills are not installed by @arun-gupta in #203
  • fix: improve SpecKit missing-skills error with install steps and plain alternative by @arun-gupta in #204

Full Changelog: v0.12.0...v0.13.0

v0.12.0

Choose a tag to compare

@arun-gupta arun-gupta released this 28 Apr 21:22
452a9b0

What's new

OpenHands support

  • Full end-to-end OpenHands adapter: headless launch, JSON streaming, resume
  • Agent HOME isolation — each run gets a private ~/.agent-home so it starts with a fresh ~/.claude and cannot hijack existing sessions
  • Symlinks .gitconfig, .ssh, .openhands, and ~/.config/gh into the agent home so git, SSH, and gh CLI credentials work
  • Injects GITHUB_TOKEN from gh auth token so HTTPS pushes succeed from detached agent processes (no keychain access needed)
  • Added --headless flag to OpenHands adapter recipe (required alongside --json)

Resume improvements

  • agentctl resume now works for non-SDD runs — useful when an agent stalls mid-work and needs a follow-up prompt
  • After the agent exits, the terminal prints agentctl resume <issue> as a hint

Other fixes

  • Non-SDD kickoff prompt moved out of the sdd package into the cmd layer (cleaner abstraction)
  • Removed Claude-specific references from generic agent prompts so any adapter model follows the instructions

What's Changed

  • docs: link to agentctl-test issue #15 as plain SDD example by @arun-gupta in #171
  • feat: remove implicit npm detection; require explicit dev_server for all project types by @Copilot in #173
  • fix: show no-spec when SDD not requested, even if specs/spec.md exists by @arun-gupta in #174
  • feat: add OpenHands as a pluggable adapter by @arun-gupta in #176
  • fix: remove Claude-specific references from generic agent prompts by @arun-gupta in #178
  • refactor: move non-SDD kickoff prompt out of sdd package by @arun-gupta in #180
  • fix: isolate agent HOME to prevent session hijacking by @arun-gupta in #181
  • fix: add --headless flag to OpenHands adapter recipe by @arun-gupta in #182
  • fix: symlink .openhands into agent home so OpenHands headless mode works by @arun-gupta in #183
  • fix: symlink .config into agent home so gh CLI credentials work by @arun-gupta in #184
  • fix: allow agentctl resume for non-SDD runs by @arun-gupta in #185
  • fix: inject GITHUB_TOKEN from gh auth token into agent environment by @arun-gupta in #186
  • feat: print agentctl resume hint when agent exits by @arun-gupta in #195

Full Changelog: v0.11.0...v0.12.0