cruldra
|
2a5806c6b5
|
✨ feat(vscode): 代码阅读预览按侧栏筛选算代码差异(未提交的更改对比上一次提交、审查对比 PR 目标分支;兄弟块按名字 / 相似度对齐,卡片内按行 / 值 / 词比对),算好后补发给预览
|
2026-09-30 08:35:17 +08:00 |
|
cruldra
|
87d4360704
|
✨ feat(vscode): 「未提交的更改」分暂存区两组、单文件暂存、隐藏测试文件
- 照源代码管理视图分「暂存的更改」「更改」两组(空的不摆,分组行写文件数),部分暂存的文件两组都有
- 「更改」组的文件行上加「暂存」按钮,走 git 扩展的 repository.add
- 标题栏「隐藏测试文件 / 显示测试文件」开关,按工作区记住,藏了几个写在标题后面;测试文件的判断集中在 isTestFile
- 以上只在「未提交的更改」里有:普通文件树、审查模式的行和菜单不变
|
2026-09-30 06:30:54 +08:00 |
|
cruldra
|
7f460d1257
|
✨ feat(vscode): 代码阅读侧栏加「未提交的更改」筛选
- 标题栏新按钮「未提交的更改」:树里只剩工作区各 git 仓库里没提交的文件(暂存、没暂存、未跟踪、合并冲突),每个有改动的仓库一个根,跟着 git 状态自动重摆;上色和徽标交给 VS Code 自带的 git 装饰
- 两种筛选互斥,由 TreeFilters 统一管,上下文键合并成 superpowers.codeReader.filter(review / uncommitted)
- 改动文件树改成多根,buildChangedTree 挪到 explorer/changedTree 并改吃 {path, change}
- 内置 git 扩展 API 的类型和加载抽到 src/git/gitApi、gitExtension,提交按钮的监听也改用它
- 文件注释按文件所在的工作区文件夹记,不看树从哪个根摆下来
|
2026-09-29 23:42:10 +08:00 |
|
cruldra
|
8e2cdfaf17
|
✨ feat(vscode): 代码阅读侧栏可以按审查工单只看 PR 改过的文件:标题栏「选工单」列出看板「审查」列,选中后树里只剩改过的文件(M / A / D 着色),点开的是本机工作副本里 PR 最新的代码,没有就拉 PR 分支建一个,「显示全部」退出
|
2026-09-27 17:36:02 +08:00 |
|
cruldra
|
0b85b9868b
|
🧹 chore(vscode): 删掉 cutRelease 换签名后残留的旧注释
|
2026-09-17 17:58:12 +08:00 |
|
cruldra
|
17570749dd
|
✨ feat(vscode): 同一天再切发布直接把 main 新提交推进到当天分支,不再另起编号分支
|
2026-09-17 17:57:47 +08:00 |
|
cruldra
|
936097757b
|
🐛 fix(vscode): 同一天再切发布分支自动编号 .2 / .3,不再报已存在
|
2026-09-17 17:52:26 +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
|
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
|
f4b1d80105
|
🐛 fix(vscode): worktree 复用测试在 macOS 上按真实路径比较,顺手清掉旧的代码风格错误
Claude-Session: https://claude.ai/code/session_01KDcq9HcrVLs2c9tkRxasub
|
2026-09-03 05:43:01 +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
|
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
|
3e3750c494
|
✨ feat(vscode): 摘修复按 PR 分组框选,可搜作者和标题
|
2026-09-01 17:27:27 +08:00 |
|
cruldra
|
b363e08ef9
|
✨ feat(vscode): 发布按钮扩展侧 handler,删除分支同步
Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
|
2026-08-31 23:41:03 +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
|
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
|
ad82808dd0
|
✨ feat(vscode): ensureWorktreeFromRemote 从远端分支重建 worktree
Claude-Session: https://claude.ai/code/session_011cEyL6k351U2BzX1Qmygph
|
2026-08-26 15:37:49 +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
|
afdb98ad55
|
🐛 fix(vscode): 实施启动自动丢掉残留 worktree 再新建
|
2026-08-25 16:04:45 +08:00 |
|
cruldra
|
24b1ae2ecf
|
🐛 fix(vscode): 实施启动改为复用已有 feature 分支
|
2026-08-25 14:45:53 +08:00 |
|
cruldra
|
29aaabdabf
|
🐛 fix(vscode): 完成列/删 worktree 时自动杀掉占用进程再删目录
|
2026-08-05 13:31:00 +08:00 |
|
cruldra
|
0d078e848c
|
11
|
2026-07-31 06:52:09 +08:00 |
|
cruldra
|
b45257a38d
|
🐛 fix(vscode): resume 会话用 resolveWorktreePath 避免误判 worktree 已清理
|
2026-07-16 01:51:08 +08:00 |
|
cruldra
|
aff4ee2758
|
🐛 fix(vscode): 删 worktree 前扫 /proc 检测进程占用,命中则中止清理
dev server 常驻在 worktree 里持续写构建产物,递归删除与写入竞态导致
rmdir 撞 ENOTEMPTY。新增 findProcessesUsingWorktree 扫 /proc 找 cwd 或
fd 落在 worktree 下的进程,三处删除调用点(拖到完成列 / 手动删 / 删整工单)
命中即弹错误 toast 列出 pid+命令并中止(不删、不杀进程),用户停掉后重试。
非 Linux 无 /proc 返回空,降级为原直接删除。
|
2026-07-13 09:26:23 +08:00 |
|
cruldra
|
235cd9ea65
|
🐛 fix(vscode): worktree 清理改 rm -rf + prune,绕开 gitignored 产物导致的目录非空
git worktree remove 只删跟踪文件+admin 注册,不删 .next/node_modules 等 gitignored 产物,删完残留把目录撑住、最后 rmdir 撞 ENOTEMPTY。新增 removeWorktreeDir(带路径护栏的递归强删 + git worktree prune),替换 3 处 worktree remove 调用点。
|
2026-07-08 11:48:23 +08:00 |
|
 cruldraandClaude Opus 4.7
|
02b0aca891
|
✨ feat(vscode): PyCharm 启动命令可配置(支持 ~/绝对路径),抽 expandTilde 复用
GUI 启动的 VS Code 扩展进程 PATH 常不含 JetBrains 启动器,裸 pycharm 易 ENOENT。
新增设置 pycharmCommand(默认 pycharm),贯穿 store/settings handler/messages/
KanbanPanel 与 webview,「钩子」分组在选 PyCharm 时显示「PyCharm 启动命令」输入框。
handleOpenWorktree 用该命令并经 expandTilde 展开 ~。expandTilde 从 resolveWorktreePath
抽出共用。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-24 05:29:19 +08:00 |
|
 cruldraandClaude Opus 4.7
|
5e7a3d20d9
|
🐛 fix(vscode): worktreePath 消费侧统一解析 ~/绝对/相对,修复带 ~ 的存量工单与绝对路径 worktree 误判
新增 resolveWorktreePath(stored, workspaceRoot) 三态合一解析:开头 ~ 展开为 home、
已是绝对原样、相对拼到 workspaceRoot。替换全部消费点,原先「判 isAbsolute 再 join」
不认 ~、issueLoader 算 worktreeExists 更是裸 join 连绝对路径都拼坏。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-24 03:01:08 +08:00 |
|
cruldra
|
e6f1776d4f
|
11
|
2026-06-23 05:02:15 +08:00 |
|