mirror of
https://github.com/tradecatlabs/vibe-coding-cn.git
synced 2026-07-28 11:17:46 +00:00
4.8 KiB
4.8 KiB
skills/auto-tmux/scripts
本目录承载 auto-tmux 的可执行脚本层。脚本必须安全封装 tmux 常用操作,减少手写 capture-pane / send-keys 时的误控风险。
目录结构
scripts/
├── AGENTS.md # 本文件:脚本维护规则
├── README.md # 面向人类的脚本入口说明
├── auto-tmux.sh # 统一 tmux 自动化命令入口
├── swarm-state.sh # 蜂群状态、任务、锁和报告管理
├── swarm-brief.sh # 只读生成蜂群交接报告
├── swarm-watch.sh # 有限轮次只读巡检和状态采样
├── swarm-archive.sh # 打包 brief、snapshot 和 swarm state
├── swarm-board.sh # 从 swarm state 渲染 Markdown 看板
├── swarm-deps-graph.sh # 从 deps.tsv 渲染 Mermaid 依赖图
├── swarm-export.sh # 导出 JSONL 状态包
├── swarm-timeline.sh # 从 status.log 渲染 Markdown 时间线
├── swarm-blockers.sh # 聚合 BLOCKED/FAIL、锁和异常状态
├── swarm-results.sh # 汇总 DONE/FAIL/BLOCKED worker 结果
├── swarm-report-pack.sh # 聚合只读报告包
├── swarm-assign.sh # 生成 ready task 到 worker pane 的分配建议
├── swarm-health.sh # 汇总只读健康检查报告包
├── remote-readonly.sh # SSH 只读采集远端 tmux 证据
├── record-summary.sh # 汇总 pipe-pane 录制日志
├── check-jsonl.sh # 轻量 JSONL 字段门禁
├── review-checklist.sh # report pack reviewer 审计清单
├── verify-report-pack.sh # report pack 统一验证入口
├── incident-report.sh # 事故复盘模板生成
├── audit-package.sh # auto-tmux 包索引一致性审计
├── completion.bash # Bash completion
├── safety-check.sh # 发送/粘贴/分发前的 payload 安全预检
├── render-swarm-prompt.sh # commander/worker/reviewer 提示词渲染
├── swarm-dispatch.sh # 渲染并可选下发蜂群提示词
├── auto-tmux-smoke-test.sh # 临时 tmux 会话端到端自测
└── validate-auto-tmux.sh # auto-tmux 专属质量门禁
维护规则
- 脚本必须使用 Bash 标准能力,不引入额外运行时依赖。
- 发送按键类功能必须先验证目标 pane 存在,并优先打印上下文。
- 捕获输出默认脱敏;只有显式
--no-redact才允许输出原文。 - 批量救援必须通过 pattern 匹配触发,不允许无条件向所有 pane 发送输入。
- 批量广播必须要求显式 session,并支持
--dry-run。 - Prompt 渲染脚本只输出文本,不直接控制 tmux。
- Prompt 下发脚本默认只写文件;真实发送必须显式
--send,批量使用前先--dry-run。 - 交接报告脚本只读调用 doctor/topology/scan/report,不直接发送按键。
- 巡检脚本必须是有限轮次,不允许默认无限循环。
- 归档脚本只复制状态和只读证据,不修改 tmux pane 或 swarm state。
- 看板脚本只读
tasks.tsv、deps.tsv、锁和状态日志,不改写状态目录。 - 依赖图脚本只读
tasks.tsv和deps.tsv,不改写状态目录。 - 导出脚本只读
tasks.tsv、deps.tsv和锁目录,只写显式输出目录。 - 时间线脚本只读
status.log,不改写状态目录。 - 阻塞报告脚本只读任务、锁和状态日志,不做自动修复。
- 结果收敛脚本只读任务、结果文件和状态日志,不改写状态目录。
- 报告包脚本只编排只读脚本并写入显式输出目录,不 claim 任务、不发送 prompt。
- 分配建议脚本只读任务和 pane 拓扑,不 claim 任务、不发送 prompt。
- 健康检查脚本只读 tmux 与 swarm state,失败项写入报告,不做自动修复。
- 远端脚本只能运行 tmux list/capture 等只读命令,不允许 send-keys、kill 或配置写入。
- 录制摘要脚本只读 record 日志,输出默认脱敏,不修改日志源文件。
- JSONL 检查脚本只能做轻量字段门禁,不替代完整 JSON parser。
- 审计清单脚本只读报告包目录,不修改报告源文件。
- 报告包验证脚本只组合本目录已有只读门禁,不修改报告包内容。
- 事故报告脚本只生成模板,不自动判断责任或影响范围。
- 包审计脚本只检查索引、入口和 validator 的一致性,不修改任何文件。
- completion 文件只能定义 shell completion,不执行 tmux 写操作。
- 安全预检脚本只能读取文本或文件,不控制 tmux,不写状态目录。
- 状态脚本只能写入显式状态目录,不保存密钥、Token、密码或私密项目内容。
- 自测脚本必须创建独立临时 tmux session,并在退出时清理。
- 专属校验脚本必须覆盖脚本权限、语法、help 输出、关键索引、strict 校验和 smoke test。
- 新增脚本后必须更新
README.md、SKILL.md、references/index.md,并运行bash -n与 skill strict 校验。