1) dsh-server-docs/ 从工作区(原 E:\...\aliyun-dsh-server\dsh-server-docs)**整体并入本仓**,
保留目录名 ⇒ 仓库内 dsh-server-docs/... 的相对引用天然继续有效;旧目录(含其 .git)已归档到
工作区 _中间产物_待清理/,未随本提交带入。
2) .gitattributes:新增 `dsh-server-docs/** -text` —— 原文档库是 `* -text` + autocrlf=false,
必须保持纯 LF,否则会被本仓的 CRLF 规则翻掉。
3) 活引用里的绝对路径已全部改到新位置(docs 的 INDEX / README / scripts / skills + 用户级 skills
+ ~/.workbuddy/settings.json 的 hooks);历史档案(04-调整方案/、archive/)按「只增不改」未动。
⚠️ hooks 路径改动需「完全重启会话」才生效(配置是会话启动快照)。
4) 交接单/T08:新增 §16「生产整体切换执行记录」(形态 / 落地动作 / **4 个只有真上线才暴露的真 bug** /
验收证据 / 回滚命令 / 残留项);台账 T08 行 → 已完成并归档;03-路线图 §二 登记 T08 收尾项。
5) 统一称谓:**「本机」只指跑 WorkBuddy 的开发机**,47 / 106 一律写「远程服务器」。
3.8 KiB
3.8 KiB
name, description, version, updated_at, agent_created
| name | description | version | updated_at | agent_created |
|---|---|---|---|---|
| dsh-env-bootstrap | DSH 平台项目的「环境引导 / 搬迁」技能 —— 把**工作区常驻规则**(`CODEBUDDY.md` 的关键章节)带走,并在新电脑 / 新工作区路径下**校验与注入**,同时自检环境相关项(绝对路径、hooks 命令、代码仓、备份目录)。当用户说「换电脑了」「改了工作区路径」「迁移到新环境」「规则会不会丢」「新环境还没配好」时使用。 | 1.0.4 | 2026-09-15 | true |
dsh-env-bootstrap — 环境引导(常驻规则的可移植化)
0. 为什么存在
项目规则分两层,能力恰好互补、缺口也恰在这里:
| 层 | 载体 | 特点 |
|---|---|---|
| 常驻层(权威) | 工作区 CODEBUDDY.md(每会话自动注入 ⇒ 动作前必然生效) |
它是工作区文件 ⇒ 换电脑 / 换路径就没了 |
| 可移植层 | 本技能(用户级 ~/.workbuddy/skills/) |
随技能走,但不自动注入 |
⇒ 本技能把常驻层的关键章节做成快照,并提供 校验 / 注入 / 环境自检,让"换环境后规则还在"这件事可执行、可验证。
1. 命令(脚本 scripts/resident-rules.py)
S="<本技能目录>/scripts/resident-rules.py"
python3 "$S" --env-check # ① 环境自检:目录存在性 + hooks 命令里的绝对路径(失效 = 全机 Write/Edit 被拒)
python3 "$S" --check # ② ★校验:关键规则是否齐备(**默认只报**,rc=1 = 有缺失/漂移)
python3 "$S" --inject --init # ③ 注入:目标无标记块时**追加**(不动既有内容);有则在块内替换
python3 "$S" --snapshot # ④ 规则更新后,由权威 CODEBUDDY.md **重生成**技能内快照(单向)
python3 "$S" --goal <路径> # 可指定别的目标 CODEBUDDY.md
2. 换环境的正确顺序(把"规则齐备"放在第一步)
--env-check—— 先看路径 / hooks 是否失效(hooks 绝对路径失配 = fail-closed:该机所有会话的 Write/Edit 全被拒,2026-09-13 实测)--check—— 关键规则缺失?⇒--inject --init追加标记块 ⇒ 人工去重(块外原有内容与新块可能重复)⇒ 复跑--check直到 rc=0- 逐项核对快照文末的 §待核清单(服务器 / 备份目录 / 代码仓 / 工作区)—— 环境相关项不自动配、也不假装能配
- 规则更新时:改权威
CODEBUDDY.md→--snapshot重生成快照(方向单向)
3. 设计红线(别把它用成"第二真相源")
- 权威方向单向:
CODEBUDDY.md是权威,快照是它的副本;只允许--snapshot从权威生成副本,⛔ 不许反向手改快照。 - 默认只报不改(与文档库「体检只报不改」同规):
--check绝不改任何文件。 - 注入只动标记块:
<!-- BEGIN resident-rules … --> … <!-- END resident-rules -->之间;首次不自动注入(避免同一规则在两处并存)。 - 不假装能自动配环境:环境相关项只做"存在性检查 + 待核清单"。
- ⚠️ 常驻层不可被"搬走":本技能不替代
CODEBUDDY.md—— 规则仍必须常驻在该环境的CODEBUDDY.md(否则"动作前必然生效"这条就断了);技能只是把规则带过去并防丢。
4. 自检(用完之后问自己)
- 我改的是权威还是快照?(改快照 = 造漂移源)
--check绿了吗?红的那条是真缺失还是我刚改错?- 环境相关项核对了吗(hooks 路径 / 代码仓 / 备份目录 / 工作区)?
- 注入后有没有人工去重(块外原内容 vs 新块)?
- 给用户的报告能被扫吗?—— 排版按
dsh-feature-first §5.4。