Skip to content

Commit d4d9b1b

Browse files
committed
docs: add public-site concepts, workflows, and generated facts
1 parent 7a31169 commit d4d9b1b

26 files changed

Lines changed: 762 additions & 59 deletions

‎README.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ devcodex status
3333
## 目录
3434

3535
- [为什么需要 DevCodex?](#为什么需要-devcodex)
36+
- [它如何工作?](#它如何工作)
3637
- [5 分钟开始](#5-分钟开始)
3738
- [安装会改变什么](#安装会改变什么)
3839
- [工作流、Skill 与宿主边界](#工作流skill-与宿主边界)
@@ -44,7 +45,7 @@ devcodex status
4445
- [边界](#边界)
4546
- [许可证](#许可证)
4647

47-
完整用户文档:[DevCodex Docs](https://devcodex-labs.github.io/devcodex/)。
48+
完整用户文档:[DevCodex Docs](https://devcodex-labs.github.io/devcodex/)。运行机制:[架构](https://devcodex-labs.github.io/devcodex/concepts/architecture)、[工作流](https://devcodex-labs.github.io/devcodex/workflows/)、[续接案例](https://devcodex-labs.github.io/devcodex/examples/resume)。
4849

4950
## 为什么需要 DevCodex?
5051

@@ -84,6 +85,8 @@ DevCodex 把意图识别、按需上下文、专业 Skill、确认边界、验
8485
→ 验证、报告并写入可续接状态
8586
```
8687

88+
逐步说明见站点:[架构](https://devcodex-labs.github.io/devcodex/concepts/architecture)、[意图驱动](https://devcodex-labs.github.io/devcodex/concepts/intent-driven)、[六个主工作流](https://devcodex-labs.github.io/devcodex/workflows/)、[跨会话续接案例](https://devcodex-labs.github.io/devcodex/examples/resume)。旧的[工作流参考页](https://devcodex-labs.github.io/devcodex/reference/workflows)仍然可用。
89+
8790
用户仍然用自然语言提出任务;底层强制能力取决于当前宿主可用的 Hook、MCP、插件和权限。
8891

8992
## 适合谁?

‎changelogs/unreleased.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
66
## 当前未发布实现候选
77

8+
- **公开站点内容与事实生成升级**:在保留已发布 9 个 URL 的前提下增加 concepts / workflows / 一条续接案例;生成器从现有投影器写出 `public-site/data/public-product-projection.json` 并刷新 marker 与 README V2 数字句;页数合同改为必存在路径 + 下限 23。
89
- **需求状态字段回写**:把 v1.17.10 从「发布候选」改为已归档;需求 `00-需求概况.md` / `01-需求确认.md` 头部改为 `released-v1.17.10`。不改 README、package、plugin、homepage 或运行时。
910

1011
## 已归档发布说明

‎package.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"test:profile-governance": "node scripts/test-validate-profile.js",
3636
"test:profile-all": "node scripts/validate-all-profiles.js",
3737
"test:readme-governance": "node scripts/test-readme-governance.js",
38+
"site:generate-data": "node scripts/generate-public-site-data.js",
3839
"test:public-product-expression": "node scripts/test-public-product-expression.js",
3940
"test:requirement-artifacts": "node scripts/test-requirement-artifacts.js",
4041
"test:candidate-review-bundle": "node scripts/test-candidate-review-bundle.js",
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{
2+
"schemaVersion": "PublicProductProjectionV1",
3+
"generatedAt": "2026-08-18T13:57:42.041Z",
4+
"workflows": {
5+
"canonical": [
6+
"dev",
7+
"fix",
8+
"self-fix",
9+
"analyze",
10+
"audit",
11+
"other",
12+
"chat",
13+
"resume"
14+
],
15+
"primary": [
16+
"dev",
17+
"fix",
18+
"analyze",
19+
"audit",
20+
"resume",
21+
"chat"
22+
],
23+
"advanced": [
24+
"self-fix",
25+
"other"
26+
]
27+
},
28+
"skills": {
29+
"total": 86,
30+
"active": 83,
31+
"gray": 3,
32+
"bucket": "80+"
33+
},
34+
"hosts": [
35+
{
36+
"hostId": "copilot",
37+
"label": "GitHub Copilot",
38+
"recommendedEntry": "Copilot CLI;VS Code / JetBrains 使用 instruction fallback",
39+
"publicStatus": "入口能力不同,按精确宿主证据执行",
40+
"variantCount": 2
41+
},
42+
{
43+
"hostId": "claude",
44+
"label": "Claude Code",
45+
"recommendedEntry": "Claude Code",
46+
"publicStatus": "Full(以当前 direct evidence 为上限)",
47+
"variantCount": 1
48+
},
49+
{
50+
"hostId": "codex",
51+
"label": "Codex",
52+
"recommendedEntry": "Codex App / CLI",
53+
"publicStatus": "Beta(Hook / MCP 取决于宿主配置)",
54+
"variantCount": 1
55+
},
56+
{
57+
"hostId": "gemini",
58+
"label": "Gemini CLI",
59+
"recommendedEntry": "Gemini CLI",
60+
"publicStatus": "Beta / UNVERIFIED(需要 direct replay 才能升级)",
61+
"variantCount": 1
62+
},
63+
{
64+
"hostId": "grok",
65+
"label": "Grok",
66+
"recommendedEntry": "devcodex grok",
67+
"publicStatus": "Full launcher;普通 grok 为 Partial",
68+
"variantCount": 3
69+
},
70+
{
71+
"hostId": "cursor",
72+
"label": "Cursor",
73+
"recommendedEntry": "本地 IDE / CLI",
74+
"publicStatus": "本地 Beta;Cloud Partial / UNVERIFIED",
75+
"variantCount": 5
76+
}
77+
],
78+
"markers": {
79+
"workflows": "<!-- devcodex-public:workflows primary=dev,fix,analyze,audit,resume,chat advanced=self-fix,other -->",
80+
"skills": "<!-- devcodex-public:skills total=86 active=83 gray=3 bucket=80+ -->",
81+
"hosts": "<!-- devcodex-public:hosts ids=copilot,claude,codex,gemini,grok,cursor variants=13 -->",
82+
"auto": "<!-- devcodex-public:auto canonical=@devcodex-auto default=@rocky profile-replacement=true empty-array-disables=true -->"
83+
},
84+
"sourceIdentities": {
85+
"expression": "4e60fd53c93a759bb0ca572df93e598b6a8106fe380dbe76c909e7aee1acc315",
86+
"workflows": "8577bb60f9fac3efac4abb9d8c31b95df9b5c31ab77b664d44dde3f252fcd825",
87+
"portfolio": "a48e3f5af9488d01e82028ef9952d14bf9c7094fa3bb751fbb8f42a4175aa7cc"
88+
}
89+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# 架构怎么跑
2+
3+
## 你在问什么
4+
5+
一条请求进去之后,DevCodex 先判断你要做什么,再决定读哪些项目资料、加载哪些 Skill、会不会改文件。它不代替模型思考,也不托管模型。
6+
7+
## 心智模型
8+
9+
把 DevCodex 看成本地的工作流控制层:
10+
11+
1. 识别意图和项目边界。
12+
2. 按需读取 Profile、记忆和相关源码。
13+
3. 只加载当前阶段需要的 Skill。
14+
4. 在确认边界内执行,用验证和报告结束,必要时跨会话续接。
15+
16+
状态、报告和记忆写在项目本地文件里。模型调用仍走你选的宿主。
17+
18+
## 示例
19+
20+
你说「分析当前架构风险,只分析不改文件」。控制层会把它判成只读的 `analyze`,不会进入改代码的确认。
21+
22+
你说「为这个 API 增加幂等,确认后实施」。它会走 `dev`,先整理需求再改文件。
23+
24+
## 边界
25+
26+
- 不是模型网关,不代理调用。
27+
- 不是通用 Agent 框架,也不会因为加载某个 Skill 就改掉你的目标。
28+
- 六个宿主流程一致,Hook、MCP、权限并不完全相同。见 [宿主边界](/reference/hosts)。
29+
30+
## 相关页
31+
32+
[意图驱动](/concepts/intent-driven) · [Profile、上下文与记忆](/concepts/profile-context-memory) · [工作流总览](/workflows/) · [5 分钟开始](/guide/getting-started)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# 证据与完成
2+
3+
## 你在问什么
4+
5+
怎样才算做完?不是模型说「已完成」,而是有验证、报告和剩余风险记录。
6+
7+
## 心智模型
8+
9+
完成要能回答:跑了什么、结果是什么、还剩什么没做、哪些不能声称。
10+
11+
只读任务的证据是分析结论和边界。改文件的任务还要有测试或构建结果,以及确认记录。
12+
13+
## 示例
14+
15+
修好一个失败测试后,报告应写明命令和退出码,而不是只写「测试过了」。
16+
审查任务应指出看过哪些路径、什么没看,而不是给一句总评。
17+
18+
## 边界
19+
20+
- 没跑的验证不能写成已通过。
21+
- 测试绿不能代替确认或发布授权。
22+
- 公开站不展示内部检查表、Receipt 或 PC0 施工日志。
23+
24+
## 相关页
25+
26+
[工作流总览](/workflows/) · [任务续接](/concepts/task-resume) · [限制与边界](/reference/limits)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 意图驱动
2+
3+
## 你在问什么
4+
5+
为什么同样一句话,有时只出分析,有时会改文件?因为 DevCodex 先判断任务意图,再选工作流,而不是只匹配关键词。
6+
7+
## 心智模型
8+
9+
意图回答四件事:你要完成什么、作用在哪个项目、允许多大风险、这次能不能改文件。
10+
11+
工作流是边界,不是标签:`analyze` 保持只读,`fix` 和 `dev` 会进入确认后的修改,`chat` 不走项目执行链。
12+
13+
## 示例
14+
15+
「告诉我测试为什么红,不要改」→ `analyze` 或 `audit`。
16+
「复现并修好这个失败用例」→ `fix`。
17+
「继续上次那个需求」→ `resume`,沿用原来的工作流。
18+
19+
## 边界
20+
21+
- 含糊请求可能先被收成规划或要求你补范围,不会偷偷改仓库。
22+
- `plan` 是阶段或能力,不是第九个工作流。
23+
- 自动入口 `@devcodex-auto` / `@rocky` 不会扩大删除、发布或越界权限。
24+
25+
## 相关页
26+
27+
[架构怎么跑](/concepts/architecture) · [工作流总览](/workflows/) · [常见任务](/guide/common-tasks)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Profile、上下文与记忆
2+
3+
## 你在问什么
4+
5+
新会话为什么还知道项目规范?它读的是项目里的 Profile、必要源码和上次留下的文件记忆,不是把整个仓库塞进模型。
6+
7+
## 心智模型
8+
9+
- **Profile**:这个项目怎么构建、测试、发布,以及目录和安全边界。
10+
- **上下文**:当前任务真正用到的文件和说明,按需加载。
11+
- **记忆**:任务进度、确认状态、验证证据,写在项目 `.devcodex` 下,供下一轮读取。
12+
13+
三者都是本地文件。换一台机器或新开会话,只要还在同一项目目录,就能按文件恢复。
14+
15+
## 示例
16+
17+
你在项目根执行 `devcodex init` 后,规范、报告和记忆都落在 `.devcodex/`。下次说「继续上次修复」,它先读这些文件,而不是让你重新解释背景。
18+
19+
## 边界
20+
21+
- 没初始化的目录没有项目记忆。
22+
- 记忆不能替代你再确认一次危险操作。
23+
- 工作区私有路径和真实业务数据不要写进公开文档或案例。
24+
25+
## 相关页
26+
27+
[任务续接](/concepts/task-resume) · [跨会话续接案例](/examples/resume) · [配置](/reference/configuration)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 渐进 Skill 路由
2+
3+
## 你在问什么
4+
5+
仓库里有很多 Skill,会不会一次全加载?不会。只加载匹配当前工作流和阶段的那一批。
6+
7+
## 心智模型
8+
9+
Skill 提供专业流程,工作流提供边界。看到 Skill 目录或 catalog,不等于正文已经进模型。
10+
11+
公开理解可以分成四类:Workflow、Domain、Delivery & Governance、Workspace。精确数量以首页和 README 的投影为准,摘要用 80+。
12+
13+
## 示例
14+
15+
`analyze` 任务通常加载分析和报告相关 Skill,不会为了「可能以后要修」提前加载修复实现链。
16+
17+
项目自己的清单和约定放在 Workspace Skill,只在该工作区生效。
18+
19+
## 边界
20+
21+
- 加载某个 Skill 不会把 `analyze` 变成可以改文件的 `fix`。
22+
- gray Skill 不是 active,不能当成已对用户承诺的能力。
23+
- 宿主不支持的 Hook 或 MCP,Skill 写了也执行不了。见 [宿主边界](/reference/hosts)。
24+
25+
## 相关页
26+
27+
[Skill 参考](/reference/skills) · [架构怎么跑](/concepts/architecture) · [证据与完成](/concepts/evidence-and-completion)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 任务续接
2+
3+
## 你在问什么
4+
5+
换了一个会话,还能接着上次做吗?可以,前提是进度已经写在项目文件里,而不是只留在旧对话窗口。
6+
7+
## 心智模型
8+
9+
`resume` 先读文件真相,再回到原来的工作流和阶段。它自己不发明一种新权限:原来是只读,续接后仍是只读;原来要确认才能改文件,续接后还是要确认。
10+
11+
典型入口:`继续<任务名>任务`。
12+
13+
## 示例
14+
15+
昨天在 `fix` 里定位了失败用例但没改完。今天新开会话说「继续支付回调修复任务」,它应先读报告和记忆,而不是从头再分析一遍。
16+
17+
完整故事见 [跨会话续接案例](/examples/resume)。
18+
19+
## 边界
20+
21+
- 没有项目文件就无法可靠续接。
22+
- 续接不会自动 `push`、发版或扩大删除范围。
23+
- 旧会话不会热加载新安装的 DevCodex,请新开宿主会话。
24+
25+
## 相关页
26+
27+
[resume 工作流](/workflows/resume) · [Profile、上下文与记忆](/concepts/profile-context-memory) · [5 分钟开始](/guide/getting-started)

0 commit comments

Comments
 (0)