Files
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

106 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 工作区目录规范
本工作区(`E:\ProgramData\AIProject\ai1net-dsh-server`)的文件落位规则。新增任何文件前,先按本文决定放哪;根目录**不再新增散落文件**。
> 📌 **历史文档里的旧目录名是「当时事实」,不代表现状**:`归档/` · `tmp/` · `交付物/` · `.workbuddy/memory/` · `docs/` 下的历史报告与旧交接单里出现的 `D:\AI技能\…` / `E:\ProgramData\AIProject\…` / `…\AIProject\aliyun-dsh-server` / `E:\ProgramDSH\…`,**一律按记录看待、不作清理**。本工作区当前唯一路径见上一行(2026-09-28 起)。
---
## 一、根目录白名单(只允许这几类)
| 留在根的条目 | 移走会出什么事 |
|---|---|
| `CODEBUDDY.md` | 会话启动靠它加载项目指令,移走 = 每次会话失忆 |
| `state.py` | 状态快照入口,`CODEBUDDY.md §2` 写死引用该路径 |
| `接续入口_*.md` | **`state.py` 用 `os.listdir(工作区根)` 扫描**,移走即扫不到 ⇒ 新会话第一个信号就错 |
| `README.md` | 本规范 |
| `scripts/` | 运维脚本(`docs-sync-check.sh` 等) |
| `.workbuddy/` `.codebuddy/` | 记忆 / 钩子 / 条件规则,工具自管 |
| `.wbapp_*.genie` | WorkBuddy 宿主应用状态文件 |
| 结构目录 | `docs/`、`交接单/`、`tmp/`、`待清理/`、`归档/` |
⛔ **线目录不进根** —— 一条工作线的多份配套方案,放 `docs/<线名>/`(同级引用天然有效);该线彻底冷却后再整体移入 `归档/`。
## 二、目录结构与职责
```
aliyun-dsh-server/
├── CODEBUDDY.md 项目指令(自动加载)
├── README.md 本规范
├── state.py 状态快照(1 次调用代替十几轮探索)
├── 接续入口_*.md 工作线唯一入口(必须留在根)
├── docs/ 正式文档,按主题分 8 类
│ ├── 覆盖网络/ ├── 集群与实例/ ├── 客户端与桌面/
│ ├── 会话与接续/ ├── 插件与平台/ ├── 外部接入/
│ ├── 调研与审计/ └── 分布式数据链路/
├── 交接单/ 交接单_*.md、接续包_*.md
├── scripts/ 运维脚本
├── tmp/ 临时产物(本工作区专用)
│ ├── 历史过程目录/ 一次性过程目录(_tmp_seqNN 等)
│ ├── 散落临时文件/ 一次性脚本与命令输出
│ └── 本次整理-20260919/ 本次规整的对照表 / 回滚脚本 / 备份
├── 待清理/ 删除候选,等确认(确认后才真删)
│ └── 中间产物-20260919/
├── 归档/ 保留但不再用
│ ├── poc-dsh-local/ ├── office生成样例/
│ ├── 域名迁移_ai1net_20260919/ └── 积分图发布物/
└── .workbuddy/ .codebuddy/ 工具目录(记忆 / 钩子 / 条件规则)
```
## 三、按性质决定落点
| 手上是什么 | 放哪 |
|---|---|
| 方案 / 报告 / 规范 / 复盘(正式文档) | `docs/<主题>/` |
| 交给下一棒的单子 | `交接单/` |
| 工作线入口(每个会话第一个读的) | **根**,命名 `接续入口_<线名>_<日期>.md` |
| 一次性脚本、探针输出、中间证据 | `tmp/<任务名>-<日期>/` |
| 过程目录(一个任务一整个目录) | `tmp/历史过程目录/` |
| 不再引用但需留痕 | `归档/` |
| 疑似可删 | `待清理/`,**列清单等确认** |
## 四、命名
| 类型 | 规则 | 例 |
|---|---|---|
| 正式文档 | `<主题>_<YYYYMMDD>.md` | `集群化改造方案_20260914.md` |
| 交接单 / 接续包 | `交接单_<主题>_<日期>.md` | `交接单_组密钥加密_20260918.md` |
| 线入口 | `接续入口_<线名>_<日期>.md` | 放根 |
| 临时脚本 / 输出 | `_<用途>.<ext>` | `_probe_instance_mem.sh` |
| 过程目录 | `_tmp_<序号或主题>/` | `_tmp_seq41/` |
日期一律 **8 位 `YYYYMMDD`**,不加分隔符。
## 五、临时文件
- `tmp/` 是**本工作区自己的**临时区;`.workbuddy/tmp/` 由工具自管,两者不混用。
- 一个任务一个子目录:`tmp/<任务名>-<YYYYMMDD>/`。
- ⛔ 临时文件不进根、不散进 `docs/`。
- 任务收尾时清掉不用的,只留正式产物。
## 六、归档与待清理
- **线收官** ⇒ 该线文档归入 `docs/<主题>/`;多文件方案目录移入 `归档/`。
- **删除一律不可逆** ⇒ 先移入 `待清理/`,出清单,**确认后才真删**。
- `待清理/` 非空时,收尾报告需提一句它还剩什么。
## 七、路径变更怎么查
本次规整(2026-09-19)把 119 项从根目录归位:
- **旧路径 → 新路径的权威对照**:`tmp/本次整理-20260919/移动对照表.md`
- **一键回滚**:`python tmp/本次整理-20260919/rollback.py`
- 归位后,同族文档已并入同一目录,**同级引用天然仍有效**;跨目录引用按对照表查。
- 唯一活跃入口 `接续入口_覆盖网络线_20260916.md` 内的 163 处引用已同步改为新路径。
## 八、别和文档库搞混(两个「交接单」)
| | 本工作区 | 文档库 |
|---|---|---|
| 路径 | `E:\ProgramData\AIProject\ai1net-dsh-server\` | `D:\github\dsh_shenxian\dsh-server-docs\` |
| 性质 | **工作现场**:过程文档、临时产物、线入口 | **正式档案库**:编号档案 `调整方案/01–141`、`BRIEF.md`、UI 规范、`INDEX.md` |
| 版本控制 | 非 git 仓 | git 仓(单一来源,改动只从本机推送) |
| 改动前 | 抢全局执行锁(`handoff-guard.sh --claim-exec`) | 抢锁 + 双端对账 |
⛔ 两个库**都有** `交接单/` 目录,内容不同:本工作区的是「工作线交接单 / 接续包」,文档库的是「正式归档交接单」(`CODEBUDDY.md` 里 `交接单/README.md §二` 指的是**文档库**那份)。动手前先确认路径在哪个库。