Skip to content

feat(chglog): run changelog draft through ACP agent mode - #21

Merged
kooksee merged 2 commits into
mainfrom
feat/changelog-draft-agent
Oct 29, 2026
Merged

kooksee merged 2 commits into
mainfrom
feat/changelog-draft-agent

Conversation

@kooksee

@kooksee kooksee commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Summary

changelog draft 切换为 ACP agent 模式(方向:agent 模式),并提供通用 ggc acp run 入口。

Changes

  • pkg/acpclient:可插拔权限策略(PermissionAllowOnce/PermissionInteractive,nil=维持自动拒绝)、client 侧 fs 读写沙箱(限定 Cwd)、UpdateLine session 进度渲染
  • pkg/acpui:tap 交互式权限确认,acp run/draft 共用
  • ggc acp run <prompt>:通用 agent 执行命令(--agent --permit ask|auto|deny --timeout --client-fs)
  • ggc changelog draft:默认 --provider acp(agent 自己调研 git log/diff 并写回 Unreleased.md,结束后校验改动与 readiness);--provider copilot 保留旧路径
  • pkg/acpconfig:显式 agent 名(flag/env/acp.default)未命中 fail-fast,不再静默回退
  • .version/changelog/Unreleased.md:本分支经真实 cursor agent draft 生成的条目

Testing

  • go build / go vet / golangci-lint 0 issues,go test ./... 全绿
  • 假 ACP agent 端到端测试:fs 写回/越界拒绝/权限选择/编辑流
  • 真实验证:ggc changelog draft --acp-permit auto --agent cursor 于 fastgit 仓库,48s 完成,内容贴合模板与真实变更

- acpclient: pluggable permission handlers (auto/interactive/deny), sandboxed
  client-side fs read/write, session update line renderer
- acpui: tap-based interactive permission prompt shared by acp run/draft
- acp: add `ggc acp run` generic agent-mode prompt runner
- changelog draft: default provider switched to acp agent (--provider copilot
  keeps the legacy session); verifies Unreleased.md was modified afterwards
- acpconfig: fail fast on explicit agent name (flag/env/default) misses
@kooksee
kooksee merged commit a1bff30 into main Oct 29, 2026
1 check passed
@kooksee
kooksee deleted the feat/changelog-draft-agent branch October 29, 2026 00:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant