Commit Graph
250 Commits
Author SHA1 Message Date
cruldra 958c59e090 ✨ feat(vscode): 设置面板可配头脑风暴/实施/测试会话的默认 profile
三类会话的 profile 此前只有工单级字段,留空就硬编码落到 official,
想整体换模型只能一个工单一个工单改。

设置面板新增三个下拉,与冲突解决/提交/改动说明的 profile 选择同区。
解析链路变成:工单级字段 > 对应的全局默认设置 > getDefaultProfilePath(),
三类之间仍互不回退。新建工单的头脑风暴会话也走同一条链路。

Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
2026-09-13 08:59:56 +08:00
cruldra 518d471b7a 🐛 fix(vscode): 提示词对齐 ECC 实际命令,需求文档改走 specs 布局
头脑风暴、实施、审查三套提示词引用的 /ecc:plan-prd、grill-me、
/ecc:tdd-workflow、/review 在 ECC 2.2.15 里都不存在,会话拿到的是一
条无效命令。审查提示词里的 /ecc:review-pr 走 gh,对 Gitea 不可用。

改为 ECC 实际链路:/ecc:grilling 讨论、/ecc:spec 出设计文档、
/ecc:plan 出计划、/ecc:tdd 实施,审查直接派 ecc:code-reviewer 等子代
理审 git diff。文档路径随 ECC 约定改成 .claude/specs/<stem>.md 与
.claude/plans/<stem>.md,stem 两者共用,不再带 .prd.md / .plan.md 后
缀;deriveSlug 相应改成取文件名 stem,通用文件名才退回目录名。

Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
2026-09-13 08:44:19 +08:00
cruldra ef0750b4ef 🐛 fix(vscode): 刷新按钮加载态可见,图标随重拉转圈
刷新按钮此前只发消息重拉数据,看板已有列表时界面毫无变化,用户
无法判断点击是否生效。消息协议里的 issues/loading 从未被发送。

loadAndPush 现在在开跑前推 issues/loading,并在 finally 里推新增的
issues/loaded,保证成功、报错、缺 token 提前返回都能收尾;webhook
触发的自动重拉同样走这条链路。webview 据此维护 refreshing 状态,
刷新图标转圈并在期间禁用按钮。

Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
2026-09-13 08:22:38 +08:00
cruldra 9167b86708 ✨ feat(vscode): 看板默认显示团队工单,同事的卡只读并贴头像
看板范围默认从「只看我的」改为「团队全部」,同事移交或推进的工单不用
手动切开关就能看见。同事的卡片按 Gitea 归属(assignee 优先,无 assignee
退回创建者)判定为只读:禁止拖列、开会话、实施、合并分支、删 worktree、
删改工单,卡片右上角贴归属人头像,详情面板属性表整体消毒并显示只读徽章。
看 PR 改动、勾已查看、生成文件摘要属于本机审查动作,照常放行。

扩展侧在消息分发前统一拦截需要归属人身份的消息,兜住前端快照过期或工单
刚被重新指派的竞态;webhook 单卡上板时同步归属,避免增量卡漏进门禁。
头像由扩展侧带 token 抓回转 data URI 下发,绕开 webview CSP 对外链图片
的限制,按 URL 进程内缓存。

Claude-Session: https://claude.ai/code/session_01KSgcQwf1mWrb8qeTKFvJbV
2026-09-10 15:30:02 +08:00
cruldra e8963ac2a2 🐛 fix(vscode): 恢复实施会话改按显式角色命名,worktree 清理后不再误标为规划
Claude-Session: https://claude.ai/code/session_012YFEAU7RsuCdinUNMS9tzv
2026-09-09 10:41:04 +08:00
cruldra 1fee0f2630 ♻️ refactor: 需求与计划改走 ECC 工作流,PRD/计划落到 .claude 目录
头脑风暴、续聊、实施三套 prompt(vscode / jetbrains / tui 同步)从 superpowers 的 brainstorming 与 /goal 换成 /ecc:plan-prd、/ecc:plan、/ecc:tdd-workflow。spec/plan 路径固定为 .claude/prds/<slug>.prd.md 与 .claude/plans/<slug>.plan.md,slug 派生去掉 .prd.md / .plan.md 后缀;worktreePath 测试挪到 test/ 目录。

Claude-Session: https://claude.ai/code/session_01QWxLb6X8Vd2G5vHnp6R7qm
2026-09-08 11:46:04 +08:00
cruldra 028195ab2b ✨ feat(vscode): 摘修复识别 alembic 迁移,接不上发布分支链的高亮禁用不可摘
按 writing-alembic-migrations 的规矩判断:迁移的前任必须已在发布分支上,
且发布分支上该前任不能已有别的后继;根迁移接不上已有链、删迁移会断链也不可摘。
列表里带迁移的提交打「迁移」角标,不可摘的高亮警告色、禁用勾选并写明原因;
确认接口再校验一遍,绕过前端也摘不进去。

Claude-Session: https://claude.ai/code/session_01QWxLb6X8Vd2G5vHnp6R7qm
2026-09-08 11:44:24 +08:00
cruldra df0660cff7 🐛 fix(vscode): 摘修复列表与角标认 cherry-pick -x 尾注,解过冲突的复制品不再重复显示
解过冲突的 cherry-pick 复制品补丁内容已变,按文件指纹对不上,列表和角标
都把它当没摘。现在额外扫发布分支独有提交的说明,`(cherry picked from
commit <sha>)` 尾注命中的来源提交直接判已摘,列表过滤与 rev-list 计数同步扣掉。

Claude-Session: https://claude.ai/code/session_018HDxMmNDyfLa3bMTUctBzt
2026-09-06 13:55:28 +08:00
cruldra 706057075d ✨ feat(vscode): 摘修复冲突不再中止,保留 worktree 自动开冲突解决会话接手
摘修复改在固定的发布 worktree(worktreeDirectory 模板,目录名为分支名
/ 换 -)里按序 cherry-pick -x。全部成功推远端并删 worktree;中途冲突则
保留冲突现场、远端不变,开 `<发布分支>-冲突解决` claude 会话解冲突、
--continue、按原顺序摘完剩余提交再推远端。同名终端活着直接注入提示词。

- 上次冲突没处理完再摘会被拒绝;目录模板解析到工作区本身也拒绝
- 目录被非 worktree 的垃圾占着时清掉重建
- 测试覆盖成功清理、冲突接力(含 -x 尾注保留)、拒绝工作区本身
- CLAUDE.md 补一条:收尾三步默认直接做,不问不提醒

Claude-Session: https://claude.ai/code/session_018HDxMmNDyfLa3bMTUctBzt
2026-09-06 13:32:47 +08:00
cruldra 0e144bc28f 🐛 fix(vscode): URI 开终端复用已有标签组,不再强制劈栏 2026-09-04 12:21:19 +08:00
cruldra f4b1d80105 🐛 fix(vscode): worktree 复用测试在 macOS 上按真实路径比较,顺手清掉旧的代码风格错误
Claude-Session: https://claude.ai/code/session_01KDcq9HcrVLs2c9tkRxasub
2026-09-03 05:43:01 +08:00
cruldra ae875756a9 ✨ feat(vscode): 头脑风暴会话一键续聊,终端开着直接打进去、关了带提示词恢复
详情面板「头脑风暴会话id」行的 ▶ 改为续聊:规划终端还开着就把续聊提示词
打进去;终端关了但有会话 id 就 `claude --resume <id>` 带提示词恢复;没会话
才新开。属性行右侧按钮改为数组,续聊与关闭 tab 可并存。

Claude-Session: https://claude.ai/code/session_01KDcq9HcrVLs2c9tkRxasub
2026-09-03 01:16:41 +08:00
cruldra 90600cf070 ⚡ perf(vscode): 摘修复指纹一次算完,不再逐文件起进程 2026-09-01 20:11:41 +08:00
cruldra dd3b7aaa24 ⚡ perf(vscode): 摘修复只比对发布分支多出来的提交 2026-09-01 20:07:27 +08:00
cruldra b5b2bda353 🐛 fix(vscode): 发布按钮状态检查不再跑全量文件比对 2026-09-01 20:04:55 +08:00
cruldra 0214ca1ab5 🐛 fix(vscode): 摘修复按文件改动认已摘过,不靠标题 2026-09-01 20:01:55 +08:00
cruldra beb7750eac ✨ feat(vscode): 摘修复可按作者筛选,高亮发布点后第一条 2026-09-01 19:15:32 +08:00
cruldra 54fc2ead4c ✨ feat(vscode): 摘修复未关联提交置顶 2026-09-01 19:09:02 +08:00
cruldra 5284fc1730 ⚡ perf(vscode): 摘修复用本地合并记录分组,列表改手风琴 2026-09-01 19:03:56 +08:00
cruldra 4d3b2a0d67 🐛 fix(vscode): 摘修复按 Gitea PR 提交列表分组 2026-09-01 18:53:41 +08:00
cruldra ffae9ce2b8 ✨ feat(vscode): 设置可关新开终端分屏 2026-09-01 17:38:06 +08:00
cruldra 3e3750c494 ✨ feat(vscode): 摘修复按 PR 分组框选,可搜作者和标题 2026-09-01 17:27:27 +08:00
cruldra b2d0d17584 🐛 fix(vscode): 设置写入 globalStorage 文件,更新不再丢提交 profile 2026-09-01 16:39:54 +08:00
cruldra a68caf5f6e ⚡ perf(vscode): 看板打开先出快照、评论只拉末页 2026-09-01 07:09:55 +08:00
cruldra d04048148a ✨ feat(vscode): 工具栏发布按钮与下拉菜单
Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 23:43:07 +08:00
cruldra b363e08ef9 ✨ feat(vscode): 发布按钮扩展侧 handler,删除分支同步
Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 23:41:03 +08:00
cruldra 6f59b4f3fd ♻️ refactor(vscode): 设置项 autoBuildBranch 换成发布分支前缀与 Jenkins 任务
Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 23:38:53 +08:00
cruldra fa32d4a88b ✨ feat(vscode): 发布分支 git 逻辑(切分支 / 未发布计数 / cherry-pick)
Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 23:34:24 +08:00
cruldra e10fe93bc6 ✨ feat(vscode): 通过 opencli 触发 Jenkins 构建
Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 23:33:34 +08:00
cruldra dae1232f19 🎨 style(vscode): 清零 lint 欠账
非纯格式的改动:
- logger:info 级日志原先走 console.log(no-console 禁止),改为通过 VS Code
  LogOutputChannel(Output 面板 "Superpowers")输出 info/warn/error,并在
  activate 时注册 dispose
- esbuild.mjs:顶层 await 收进 async main(),失败时退出码 1;构建脚本打印
  进度属正当输出,文件级关闭 no-console 并注明原因
- KanbanPanel 资源路径正则:去掉 `\.\/[^"]+` 分支(已被 `[^"/][^"]*` 完全
  覆盖),匹配结果不变
- webhook/server:onError/onListening 互相引用,改为函数声明消除先用后定义
- SettingsModal:删掉针对未启用规则 react-hooks/exhaustive-deps 的失效
  disable 注释,effect 依赖 [open] 保持不变(按打开时机重置表单是有意的)
- issues.ts 提示词里两处全角空格换成普通空格
- 其余为 node:process / node:buffer 显式导入与 switch 拆行

Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 22:33:11 +08:00
cruldra 8c22a29ce5 🎨 style(vscode): eslint 自动修复格式与排序
Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 22:30:42 +08:00
cruldra 73a0c46f9f ✨ feat(vscode): 提交代码按钮实时显示进度并预检 git 身份
- spawnClaude 新增 onProgress 回调,给了回调就改走 stream-json 逐行输出,按行解析出工具调用 / 回复文本
- 新增 claudeProgress 把每行 NDJSON 压成可读进度短语
- 提交前先读 git user.name / user.email,缺失直接提示,不再让 claude 白跑
- 运行期间用带转圈的 toast 滚动显示进度,完成后带上 claude 的结果摘要

Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 22:11:09 +08:00
cruldra 443a8e472a ✨ feat(vscode): 改动说明 profile 可配置 2026-08-28 06:38:02 +08:00
cruldra 77037924ef ✨ feat(vscode): 会话 tab 可交接对话给同事 2026-08-27 15:14:42 +08:00
cruldra 71a91fe7ec 🐛 fix(vscode): 接管时把会话文件里的发送方路径重写为本机路径
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 19:04:09 +08:00
cruldra 07c40897e2 🐛 fix(vscode): 移交只对负责人显示;接管后审查会话立即可点
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 18:58:04 +08:00
cruldra 71fc38e0c5 🐛 fix(vscode): 接管流程 getIssue 纳入兜底,补关闭工单与不存在工单的拒绝
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 17:19:03 +08:00
cruldra 0acfd04b54 🐛 fix(vscode): 移交终审修正:schema 墓碑、顶层兜底、前置复查、分支保护、清单校验
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 17:09:39 +08:00
cruldra 6d3720d424 🐛 fix(vscode): 完成列归档会话改为整包搬迁并清理重复 sid
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 16:33:54 +08:00
cruldra e066c26583 🐛 fix(vscode): 移交回滚顺序、done 信号与无 branch 守卫
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 16:28:44 +08:00
cruldra 605f69f6a5 ✨ feat(vscode): 移交/接管扩展端流程与消息分发
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 16:17:17 +08:00
cruldra f7b97bbe9e ✨ feat(vscode): handoff 纯决策与 state/UI payload
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 16:09:14 +08:00
cruldra bffdcb4d42 ✨ feat(vscode): Gitea API 增加 assignees 列表与工单附件读写
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 16:02:36 +08:00
cruldra 332205a2fe ✨ feat(vscode): handoff 会话包 stage/pack/unpack/install
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 15:54:36 +08:00
cruldra 65cd404350 ✨ feat(vscode): handoff 清单类型与校验
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 15:49:00 +08:00
cruldra 569f24c11a ✨ feat(vscode): sessionBundle 会话文件查找/安装/去重原语
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 15:44:00 +08:00
cruldra ad82808dd0 ✨ feat(vscode): ensureWorktreeFromRemote 从远端分支重建 worktree
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 15:37:49 +08:00
cruldra 9a64805746 🎨 style(vscode): 修正 sessions.ts 导入顺序与多余空行
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 15:33:21 +08:00
cruldra 3bc73d9dd6 ♻️ refactor(vscode): 抽出 worktreePath 模块(slug / 目录模板解析)
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 15:27:35 +08:00
cruldra 4b66d567b0 ✨ feat(vscode): state JSON 新增 handoffAttachmentId/handoffFrom,Issue 透出 assignees
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
2026-08-26 15:20:23 +08:00