pdlc-settings
交互式配置 PDLC(当前:状态栏 statusline 的启用/停用/展示项)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
交互式配置 PDLC(当前:状态栏 statusline 的启用/停用/展示项)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
| name | pdlc-settings |
| description | 交互式配置 PDLC(当前:状态栏 statusline 的启用/停用/展示项) |
| argument-hint | ["statusline | status"] |
| allowed-tools | Read, Edit, Write, Bash, Glob |
| layer | 3 |
| stage | ops |
| produces | [] |
| requires | [] |
| next_step | null |
| terminal_state | null |
以交互菜单方式配置 PDLC,让用户少敲命令行。当前只含「状态栏(statusline)」一节—— 把 PDLC 运行状态(当前功能 / 阶段 / 下一步 / 检查 / blocked)显示到 Claude Code 底部状态栏。 未来若有更多设置可能并入本命令(非本版承诺)。
⚠️ 安全底线:本命令会读写用户全局
~/.claude/settings.json(高影响)。任何写入前必须: 先备份 → 展示 diff → 用户确认。写全局配置可能被 Claude Code 安全层拦截——届时不谎报成功, 优雅降级为「已算好这一行,请你确认后手动粘贴」。重复运行幂等,绝不覆盖用户其它配置。
根据 $ARGUMENTS 分派;为空则显示主菜单:
⚙️ PDLC 设置
1) 状态栏 · 启用 在状态栏独占一行显示 PDLC 状态
2) 状态栏 · 停用 从状态栏移除本段(不动你其它配置)
3) 状态栏 · 展示项 勾选显示哪些内容(进度条/检查/停留时长…)
4) 状态栏 · 状态 查看当前是否已接线 + 生效配置 + 预览
请选择(1-4):
$ARGUMENTS 含 status → 直接走「状态栏 · 状态」$ARGUMENTS 含 statusline → 进入状态栏子菜单接线依赖状态栏脚本 bin/pdlc-statusline.sh。按以下顺序找第一个存在的副本作为符号链接源,
优先稳定源(升级不改路径):
~/.claude/plugins/marketplaces/pdlc-skills/bin/pdlc-statusline.sh (marketplace 克隆,最稳)${CLAUDE_PLUGIN_ROOT}/bin/pdlc-statusline.sh (当前插件根,若该环境变量存在)ls -td ~/.claude/plugins/cache/pdlc-skills/pdlc/*/bin/pdlc-statusline.sh | head -1用 Bash 依次探测,记下命中的路径记为 $SL。都找不到 → 提示用户先 claude plugin install pdlc@pdlc-skills 再来。
bash "$SL" --install
~/.claude/pdlc-statusline 建符号链接指向 $SL(升级后重跑本命令即重指,用户侧命令不变)。~/.claude/settings.json(不存在则视为 {})。取 .statusLine.command(可能为空)。pdlc-statusline(任意形式)→ 告知「已接线,无需重复」,转去「展示项」或结束。<现有命令>; ~/.claude/pdlc-statusline(现有为空则新命令就是 ~/.claude/pdlc-statusline)。.statusLine 不存在,需同时补 "statusLine": { "type": "command", "command": "<新命令>" }。~/.claude/settings.json 复制为 ~/.claude/settings.json.pdlc-bak(已存在则加时间戳后缀)。
向用户展示将要变更的那一行 diff(旧 command → 新 command)。settings.json(保持其余字段与格式不变)。<bak>。
请把 ~/.claude/settings.json 的 statusLine.command 手动改为:」,并给出完整新命令原文一行,供用户复制粘贴。printf '{"workspace":{"current_dir":"%s"}}' "$PWD" | bash "$SL"
(当前项目非 PDLC / 无状态文件则为空,属正常。).statusLine.command。若不含 pdlc-statusline → 告知「未接线,无需停用」。; ~/.claude/pdlc-statusline(及等价的仅本段情形;若本段是唯一内容则清空 command 或移除 statusLine——按用户意愿)。绝不动用户其它命令片段。<旧命令去掉本段后的值>」。
4.(可选)询问是否一并 bash "$SL" --uninstall 移除稳定链接。交互勾选,写入配置文件(不碰 settings.json,无 gate 风险):
逐项询问(回车用默认):
| 项 | 键 | 默认 |
|---|---|---|
| 迷你进度条 | show_progress_bar | on |
| 下一步 | show_next | on |
| 运行态图标 | show_run_icon | on |
| 检查结果(auto=仅 autonomous 显) | show_checks | auto |
| 停留时长(auto=blocked/autonomous 显) | show_elapsed | auto |
| 显示完整 ID(否则仅功能名) | show_full_id | off |
| 多 feature 选谁(auto/latest/具体 ID) | pick_feature | auto |
| 颜色 | color | on |
询问写全局还是项目级:
~/.claude/pdlc-statusline.json<当前项目>/docs/.pdlc-state/statusline.json用 Write 写入选定 JSON(参考 references/templates/pdlc-statusline.example.json 的键)。这两个文件不受安全层 gate(非 settings.json)。
当场预览:同上用脚本渲染一行给用户确认效果。
只读、不改任何东西:
.statusLine.command,报告是否含 pdlc-statusline。~/.claude/pdlc-statusline 是否存在、指向哪。~/.claude/pdlc-statusline.json 与项目级 docs/.pdlc-state/statusline.json(后者覆盖),列出各项当前值(缺省即默认)。docs/.pdlc-state/<id>.json 的业务字段,只读它们用于预览。settings.json 必须备份 + diff + 确认;被 gate 时降级为「算好 + 用户粘贴」,严禁假装已写成功。参数:$ARGUMENTS