truthmark 2.2.3 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.zh.md DELETED
@@ -1,823 +0,0 @@
1
- # Truthmark
2
-
3
- **你的代理会写代码。Truthmark 维护面向人、可在 Git 中审查的文档。**
4
-
5
- [English](README.md) | [Deutsch](README.de.md) | 中文 | [Español](README.es.md) | [Русский](README.ru.md)
6
-
7
- ![Truthmark 横幅](docs/assets/truthmark-banner.png)
8
-
9
- AI 编码代理改变仓库的速度,可能比人类对齐文档的速度更快。
10
-
11
- Truthmark 修复代码写完后通常会坏掉的那一部分:仓库事实。
12
-
13
- 它安装一个 Git 原生、按分支生效的工作流层,帮助 AI 编码代理更新正确的文档、尊重所有权边界,并把人类可以审查的普通 diff 留下来。
14
-
15
- 没有托管服务。
16
-
17
- 没有数据库。
18
-
19
- 没有隐藏记忆层。
20
-
21
- 没有需要运行的额外服务器。
22
-
23
- 只有随分支移动的仓库事实。
24
-
25
- ## 问题
26
-
27
- AI 编码代理很擅长产出代码。这会制造一种新的失效模式。
28
-
29
- 实现改变了,但仓库说明开始漂移:
30
-
31
- - 行为存在于聊天历史里
32
- - 架构文档落后
33
- - 产品决策在交接后消失
34
- - 审查者看到代码 diff,却看不到相关的事实文档 diff
35
- - 分支悄悄发展出不同版本的“什么是真的”
36
- - 每个代理会话都必须从头重新发现仓库事实
37
-
38
- Truthmark 把这种脆弱的仓库事实变成已提交的仓库基础设施。
39
-
40
- 它不是依赖每个人和每个代理都记住正确的文档习惯,而是把这个习惯安装进仓库。
41
-
42
- ## 承诺
43
-
44
- 当代理修改功能代码时,工作不应该只以代码 diff 结束。
45
-
46
- Truthmark 的正常路径是:
47
-
48
- ```text
49
- 代理修改功能代码
50
- 运行相关测试
51
- Truth Sync 检查已映射的事实文档
52
- 需要时更新事实文档
53
- 人类审查代码 diff + 事实文档 diff
54
- 提交或交接
55
- ```
56
-
57
- 核心价值是:**AI 工作更容易被信任,因为仓库仍然清晰可读。**
58
-
59
- ## 两个接口,一个事实系统
60
-
61
- Truthmark 不只是一个 CLI。
62
-
63
- 它有两个不同接口,这个区别很重要。
64
-
65
- ### 1. 面向人的 CLI
66
-
67
- CLI 面向维护者、审查者和自动化。
68
-
69
- 用它来配置仓库、安装或刷新工作流文件、验证事实产物,并生成可选的审查材料。
70
-
71
- ```bash
72
- truthmark config
73
- truthmark init
74
- truthmark check
75
- ```
76
-
77
- CLI 会准备并验证仓库环境。
78
-
79
- 它不是 AI 工作流运行时。
80
-
81
- ### 2. 面向 AI 的工作流接口
82
-
83
- 面向 AI 的接口是给编码代理使用的。
84
-
85
- Truthmark 会安装宿主原生的技能、提示、命令、受管指令块和受支持的子代理接口,让 AI 代理能在正常编码工具中遵循仓库专属的事实工作流。
86
-
87
- 示例:
88
-
89
- ```text
90
- /truthmark-sync
91
- /truthmark-document
92
- /truthmark-structure
93
- /truthmark-realize
94
- /truthmark-check
95
- ```
96
-
97
- 它们看起来像命令,是因为代理宿主通过 slash commands、prompts、skills 或 project commands 暴露工作流。
98
-
99
- 它们不是 shell 命令。
100
-
101
- 它们是面向 AI 的工作流入口。
102
-
103
- 这种拆分正是 Truthmark 的产品边界:
104
-
105
- ```text
106
- 人类拥有仓库契约
107
- Truthmark 把契约安装进 repo
108
- 代理在契约内工作
109
- 事实更新以 Git diff 出现
110
- 人类审查结果
111
- ```
112
-
113
- ## 快速开始
114
-
115
- ### 要求
116
-
117
- - Node.js `>=20`
118
- - npm
119
- - Git 仓库
120
-
121
- ### 安装 Truthmark
122
-
123
- 在你想初始化的仓库中运行:
124
-
125
- ```bash
126
- cd /path/to/your-repo
127
- npm install -g truthmark
128
- ```
129
-
130
- ### 创建仓库事实契约
131
-
132
- ```bash
133
- truthmark config
134
- ```
135
-
136
- 这会创建:
137
-
138
- ```text
139
- .truthmark/config.yml
140
- ```
141
-
142
- 继续之前先审查这个文件。它定义仓库中已提交的层级契约。
143
-
144
- ### 安装工作流接口
145
-
146
- ```bash
147
- truthmark init
148
- ```
149
-
150
- 这会安装或刷新:
151
-
152
- - 路由文件
153
- - 事实文档脚手架
154
- - 受管指令块
155
- - 已配置平台的面向 AI 工作流接口
156
-
157
- 默认事实文档模板的依据见 [Template Standards](docs/standards/template-standards.md)。该文档说明这些模板如何对齐 ISO/IEC/IEEE 42010、ISO/IEC/IEEE 29148、ISO/IEC/IEEE 12207、ISO/IEC 25010、C4、arc42、OpenAPI、SemVer、Google SRE 和 Diátaxis 等公认软件工程参考。
158
-
159
- ### 验证设置
160
-
161
- ```bash
162
- truthmark check
163
- ```
164
-
165
- 然后在提交前审查生成的文件。
166
-
167
- 具体文件取决于 `.truthmark/config.yml`,但安装形态始终相同:路由、事实文档脚手架、紧凑的受管指令,以及为启用平台生成的宿主原生工作流接口。
168
-
169
- ## 第一次真实使用
170
-
171
- 大多数仓库在初始化后需要一次清理。
172
-
173
- 默认脚手架从一个临时的宽泛 `repository` 引导区域开始。真实代码进入正常同步前,应先把该引导路由拆成精确路由。
174
-
175
- 让你的代理把宽泛路由拆成真实的产品、服务、领域或所有权区域:
176
-
177
- ```text
178
- /truthmark-structure 将宽泛的 repository 区域拆成 auth、billing 和 notifications
179
- ```
180
-
181
- 如果项目已经有实现好的功能,但事实文档缺失或很弱,请让已安装的 Truth Document 工作流记录一个聚焦范围:
182
-
183
- ```text
184
- /truthmark-document 记录 src/billing/retry.ts 及相关测试中已实现的 payment retry 行为
185
- ```
186
-
187
- Truth Document 是既有项目最常用的第一个工作流。它会检查实现、测试、路由和现有文档,然后创建或修复事实文档与路由,不会修改功能代码。
188
-
189
- 之后就正常使用你的 AI 编码代理。
190
-
191
- 当代理修改功能代码时,Truth Sync 会作为收尾保护,在交接前检查已映射的事实文档是否需要改变。
192
-
193
- ## 你会得到什么
194
-
195
- | 能力 | 作用 |
196
- | --- | --- |
197
- | Git 原生事实 | 将仓库事实保存在已提交的 Markdown 和配置中。 |
198
- | 按分支生效的文档 | 事实随分支移动,而不是存在于私有会话中。 |
199
- | 面向人的 CLI | 为维护者提供设置、刷新、验证和检查命令。 |
200
- | 面向 AI 的工作流 | 为代理提供宿主原生的同步、文档、结构、预览、实现和审计工作流。 |
201
- | 显式路由 | 将代码区域映射到规范事实文档。 |
202
- | 可审查交接 | 为代码和事实文档都产生普通 Git diff。 |
203
- | 本地优先运行 | 不需要托管服务、守护进程、数据库或 MCP 服务器。 |
204
- | 更安全的写入边界 | 区分 code-first、doc-first、read-only 和 doc-only 工作流。 |
205
- | 验证 | 报告路由、权限边界、frontmatter、链接、生成接口、分支范围、freshness 和覆盖率问题。 |
206
- | 可选 Portal | 在明确启用并请求时,从 Markdown 事实文档生成已提交的静态 HTML 展示站点。 |
207
-
208
- ## 视觉概览
209
-
210
- ![Truthmark 功能](docs/assets/truthmark-features.png)
211
-
212
- **功能:** Truthmark 会安装什么,以及工作流接口如何拆分。
213
-
214
- ![Truthmark 定位](docs/assets/truthmark-position.png)
215
-
216
- **定位:** Truthmark 相对提示词、记忆和规格工作流所处的位置。
217
-
218
- ![Truthmark 同步流程](docs/assets/truthmark-syncflow.png)
219
-
220
- **同步流程:** Truth Sync 如何在交接前收束普通代码变更。
221
-
222
- ## 为什么团队会采用它
223
-
224
- Truthmark 面向已经知道 AI 代理能生成代码的团队。
225
-
226
- 下一个问题是治理。
227
-
228
- 不是仪式化治理。治理就是一个简单问题:
229
-
230
- > 这次 AI 辅助变更之后,仓库仍然准确反映事实吗?
231
-
232
- Truthmark 通过已提交文件、显式路由和可审查 diff 帮助团队回答这个问题。
233
-
234
- 当你需要这些东西时,它会很有用:
235
-
236
- - 更少的文档漂移
237
- - 更好的交接
238
- - 按分支生效的产品事实
239
- - 持久的架构和 API 文档
240
- - 文档与代码之间的明确所有权
241
- - 更安全的代理写入边界
242
- - 可审查文档,而不是隐藏记忆层
243
- - 仍然能从已提交 repo 文件运行的 AI 工作流
244
-
245
- ## Truthmark 适合放在哪里
246
-
247
- Truthmark 不替代提示词、记忆、规格、测试或代码审查。
248
-
249
- 它给这些工作流一个可以落在 Git 里的持久位置。
250
-
251
- | 需求 | 更合适的选择 |
252
- | --- | --- |
253
- | 单次代理会话获得更好输出 | 更好的提示词 |
254
- | 个人或会话级连续性 | 记忆工具 |
255
- | plan-first 的功能工作 | 规格工作流 |
256
- | 随代码移动、按分支生效的事实 | Truthmark |
257
- | 验证行为正确性 | 测试和审查 |
258
- | 审查 AI 辅助的文档变更 | Truthmark 加 Git 审查 |
259
-
260
- Truthmark 的范围故意很窄:
261
-
262
- ```text
263
- 让仓库事实显式化
264
- 把它路由到代码
265
- 围绕它安装代理工作流
266
- 让结果在 Git 中可审查
267
- ```
268
-
269
- ## Truthmark 如何运行
270
-
271
- Truthmark 在本地针对当前 Git worktree 运行。
272
-
273
- 面向人的 CLI 读取并写入仓库文件,然后退出。
274
-
275
- 面向 AI 的工作流接口是已提交文件,代理宿主之后可以加载它们。这意味着代理可以从仓库状态遵循已安装工作流,而不依赖后台 Truthmark 进程。
276
-
277
- 这些层的关系如下:
278
-
279
- ```mermaid
280
- flowchart LR
281
- Human["Human / CI"] --> CLI["Truthmark CLI"]
282
- CLI --> Config["配置与路由图"]
283
- CLI --> Truth["规范 truth 文档"]
284
- CLI --> Surfaces["生成的 host-native 工作流"]
285
- Surfaces --> Hosts["Codex / Claude Code / Copilot / OpenCode / Gemini"]
286
- Hosts --> Worktree["当前 Git worktree"]
287
- Hosts -->|"helper checks / validate / index"| CLI
288
- Worktree --> Truth
289
- ```
290
-
291
- Agent 不会连接 Truthmark daemon,但工作流需要验证、索引或 helper checks 时,它们可以运行已安装的 Truthmark CLI。
292
-
293
- Truthmark 拥有它生成的工作流接口,但关键契约是架构层面的:仓库内配置和路由把 agent 指向规范 truth 文档,host-native 工作流则让每个受支持的 agent 用自己的方式运行同一套 Truthmark 流程。
294
-
295
- 生成的工作流接口包含 Truthmark 版本标记。升级 Truthmark 后,重新运行:
296
-
297
- ```bash
298
- truthmark init
299
- ```
300
-
301
- 然后审查生成的 diff。
302
-
303
- ## 支持的代理平台
304
-
305
- 默认配置包含所有受支持平台。
306
-
307
- 从 `.truthmark/config.yml` 中移除你不使用的平台,然后重新运行:
308
-
309
- ```bash
310
- truthmark init
311
- ```
312
-
313
- | 平台配置名 | 生成接口 | 调用形式 |
314
- | --- | --- | --- |
315
- | `codex` | Skill packages 和 verifier agents | `/truthmark-*` 或 `$truthmark-*` |
316
- | `claude-code` | Project skills、verifier agents 和受管说明 | `/truthmark-*` |
317
- | `github-copilot` | Agent skills、prompt commands、custom agents 和受管说明 | 支持的 Copilot IDE 中使用 `/truthmark-*`;Copilot CLI 中使用 `@truth-*` custom agents |
318
- | `opencode` | Skill packages 和 verifier agents | `/skill truthmark-*` |
319
- | `gemini-cli` | Agent skills、slash commands、subagents 和受管说明 | `/truthmark:*` |
320
-
321
- 未知平台名是配置错误。
322
-
323
- 移除一个平台会停止该平台未来的刷新。它不会删除此前生成的文件。
324
-
325
- ## 面向 AI 的工作流
326
-
327
- 这些工作流会安装到受支持的 AI 编码宿主中。
328
-
329
- 代理或代理宿主会在仓库工作期间使用它们。它们不是顶层 shell 命令。
330
-
331
- | 工作流 | 方向 | 何时使用 | 写入边界 |
332
- | --- | --- | --- | --- |
333
- | Truth Structure | topology-first | 默认路由过宽、所有权跨多个区域,或路由文件仍指向占位内容。 | 创建或修复路由和起始事实文档。 |
334
- | Truth Document | implementation-first | 行为已经存在于代码中,但规范事实文档缺失或薄弱。 | 只写事实文档和路由。不能改变功能代码。 |
335
- | Truth Sync | code-first | 功能代码已变更,已映射事实文档可能需要在交接前更新。 | 更新事实文档。Truth Sync 不能重写功能代码。 |
336
- | Truth Realize | doc-first | 产品或架构事实文档在前,代码应更新以匹配它们。 | 只更新代码。代理不能编辑它正在实现的事实文档。 |
337
- | Truth Check | audit-first | 审查者或代理需要审计仓库事实健康状况。 | 审计并报告。 |
338
- | Truthmark Portal | presentation-only | 人类明确要求为仓库事实文档生成可浏览的静态 HTML Portal。 | 只在配置的 Portal 输出目录下写入生成的非规范静态文件。 |
339
-
340
- ### 重要区别
341
-
342
- 不要混淆这两个接口:
343
-
344
- | 接口 | 使用者 | 示例 | 含义 |
345
- | --- | --- | --- | --- |
346
- | 面向人的 CLI | 人类、脚本、类似 CI 的检查 | `truthmark check` | 从终端验证仓库事实产物。 |
347
- | 面向 AI 的工作流 | 编码代理和代理宿主 | `/truthmark-check` | 请求代理运行已安装的审计工作流。 |
348
-
349
- 名称有意相关,但接口不同。
350
-
351
- ## 普通 AI 辅助代码变更
352
-
353
- 大多数用户不应该每次都手动调用 Truth Sync。
354
-
355
- Truth Sync 是为功能代码变更安装的收尾保护。
356
-
357
- ```text
358
- 代理修改功能代码
359
- 代理运行或请求相关测试
360
- 已安装工作流检测到功能代码变更
361
- Truth Sync 检查已映射事实文档
362
- 代理在需要时更新事实文档
363
- 人类审查代码 diff + 事实文档 diff
364
- ```
365
-
366
- 直接调用仍然适用于排查问题、强制提前同步,或让交接更明确:
367
-
368
- ```text
369
- /truthmark-sync 现在同步仓库事实,然后再交接
370
- ```
371
-
372
- ## 已有行为但没有文档
373
-
374
- 当实现已经存在但仓库事实不完整时,使用 Truth Document。对于代码库已经存在后才接入 Truthmark 的成熟仓库,这是常规路径。
375
-
376
- ```text
377
- /truthmark-document 记录 src/auth/session.ts、src/auth/middleware.ts 和 tests/auth/session.test.ts 中已实现的 session timeout 行为
378
- ```
379
-
380
- 提供功能名、代码路径、测试路径或目标事实文档区域。在 OpenCode 风格的宿主中,同一个工作流用 `/skill truthmark-document ...` 调用;在 Gemini CLI 中,使用 `/truthmark:doc ...`。
381
-
382
- 如果大型仓库仍然只有一个宽泛的占位路由,请先运行 Truth Structure,然后每次针对一个有边界的功能或区域调用 Truth Document。
383
-
384
- Truth Document 会把实现、测试、路由文件和现有文档作为证据来检查。
385
-
386
- 它只写事实文档和路由。
387
-
388
- 它不能改变功能代码。
389
-
390
- ## Doc-first 变更
391
-
392
- 当产品或架构决策从文档开始,并且代码应更新以匹配时,使用 Truth Realize。
393
-
394
- ```text
395
- /truthmark-realize 将 docs/truthmark/product/capabilities/session-timeout.md 实现到代码中
396
- ```
397
-
398
- Truth Realize 是 doc-first。
399
-
400
- 事实文档在前。代码跟随。
401
-
402
- 代理不能编辑它正在实现的事实文档。
403
-
404
- ## 只读路由预览
405
-
406
- 当代理需要在变更前理解可能的路由时,使用 Truth Preview。
407
-
408
- ```text
409
- /truthmark-preview 预览 billing API 变更的可能事实路由 (GitHub Copilot)
410
- /truthmark:preview 预览 billing API 变更的可能事实路由 (Gemini CLI)
411
- ```
412
-
413
- Truth Preview 是 read-only。
414
-
415
- 它是选择器和规划辅助,不是写入授权,也不是 Truth Check 的替代品。
416
-
417
- ## 仓库事实审计
418
-
419
- 当你需要面向代理的审计工作流时,使用 Truth Check。
420
-
421
- ```text
422
- /truthmark-check 在审查前审计路由和事实覆盖
423
- ```
424
-
425
- 当你需要终端验证时,使用面向人的 CLI:
426
-
427
- ```bash
428
- truthmark check
429
- ```
430
-
431
- 两者都有用。它们不是同一个表面。
432
-
433
- ## 面向人的 CLI 命令
434
-
435
- 大多数维护者从三个命令开始。
436
-
437
- | 命令 | 用途 |
438
- | --- | --- |
439
- | `truthmark config` | 创建 `.truthmark/config.yml`。除非使用 `--stdout`,否则只写这个文件。 |
440
- | `truthmark init` | 从已审查配置安装或刷新已配置的工作流接口。 |
441
- | `truthmark check` | 验证配置、权限边界、路由、承载决策的文档、frontmatter、内部链接、分支范围、生成接口、freshness 和覆盖率诊断。 |
442
-
443
- 可选的仓库情报辅助工具会为当前 checkout 生成派生审查材料,例如 RepoIndex、RouteMap、ImpactSet 和紧凑的 WorkflowState/action-context JSON。生成的工作流 skill packages 也可以暴露 helper manifests 和 helper policies,用来调用已安装的 `truthmark validate ... --json` CLI validators;这些 helpers 是加速器,不是打包进仓库的本地脚本,也不是事实来源。独立的 Copilot prompts 和 Gemini commands 在已安装 runner 可用时使用同一 CLI validator contract;不可用时应报告可见的 skipped helper status,并进行 manual validation。
444
-
445
- 它们不是事实来源。
446
-
447
- | 命令 | 用途 |
448
- | --- | --- |
449
- | `truthmark index` | 为当前 checkout 构建 RepoIndex 和 RouteMap JSON。 |
450
- | `truthmark impact --base <ref>` | 将变更文件映射到已路由事实文档、所属路由、附近测试和公开符号。 |
451
- | `truthmark workflow status --workflow <workflow> [--base <ref>] --json` | 返回工作流适用性、写入边界、目标事实文档、检查项、helper commands 和紧凑的受影响测试指引。 |
452
-
453
- 受支持位置可使用 `--json` 获取结构化输出。
454
-
455
- ## Truthmark Portal
456
-
457
- Truthmark Portal 是一个可选的展示工作流,适合想要基于已提交 truth 文档生成面向人的可读站点的团队。
458
-
459
- 它有意与核心 truth 工作流分离:
460
-
461
- - Markdown truth 文档仍然是规范来源。
462
- - 生成的 Portal HTML 仅用于展示。
463
- - Portal 只能手动运行;它不会作为完成门禁、Truth Sync 步骤、`truthmark check` 步骤或自动 post-change hook 运行。
464
- - 除非用户明确改变范围,Portal 写入必须留在配置的输出目录内。
465
- - 生成页面应使用本地 assets、来源 provenance,并显示 Markdown 规范来源免责声明。
466
-
467
- 用这个命名空间配置块启用它:
468
-
469
- ```yaml
470
- truthmark:
471
- generated:
472
- portal:
473
- enabled: true
474
- ```
475
-
476
- 然后重新运行:
477
-
478
- ```bash
479
- truthmark init
480
- ```
481
-
482
- 启用后,Truthmark 会为已配置平台安装宿主原生 Portal 工作流接口,例如 `/truthmark-portal` 或 `/truthmark:portal`,具体取决于代理宿主。
483
-
484
- ## 配置
485
-
486
- Truthmark 是 config-first。
487
-
488
- 主配置文件是:
489
-
490
- ```text
491
- .truthmark/config.yml
492
- ```
493
-
494
- 新仓库应运行:
495
-
496
- ```bash
497
- truthmark config
498
- ```
499
-
500
- 然后先审查生成的配置,再运行:
501
-
502
- ```bash
503
- truthmark init
504
- ```
505
-
506
- 重要配置区域包括:
507
-
508
- | 配置区域 | 用途 |
509
- | --- | --- |
510
- | `version` | 配置契约版本。 |
511
- | `platforms` | 应接收平台专属生成接口的代理宿主。 |
512
- | `truthmark.workspace` | Truthmark 拥有的工作区,用于路由、事实文档、模板和生成的展示输出。 |
513
- | 固定路由 | 路由固定在 `truthmark.workspace` 内的 `routes/areas.md` 和 `routes/areas/`;默认 area 是 `repository`,委托深度为 `1`。 |
514
- | 固定事实分区 | 产品事实位于 `truthmark.workspace` 内的 `product/`,工程事实位于 `engineering/`。 |
515
- | 固定模板 | 事实文档模板固定在 `truthmark.workspace` 内的 `templates/`。 |
516
- | `truthmark.generated.portal` | 可选手动展示工作流启用设置:`enabled`。 |
517
- | `instruction_targets` | 接收共享受管指令块的文件,例如 `AGENTS.md`。 |
518
- | `frontmatter.required` | 缺失时产生错误诊断的元数据字段。 |
519
- | `frontmatter.recommended` | 缺失时产生审查诊断的元数据字段。 |
520
- | `ignore` | 从相关检查和路由逻辑中排除的 glob 模式。 |
521
-
522
- ## 仓库事实路由
523
-
524
- Truthmark 将代码区域映射到事实文档。
525
-
526
- 主要路由文件是:
527
-
528
- ```text
529
- docs/truthmark/routes/areas.md
530
- docs/truthmark/routes/areas/**/*.md
531
- ```
532
-
533
- 路由告诉代理:
534
-
535
- - 哪个代码区域属于某个区域
536
- - 哪些事实文档拥有该区域
537
- - 何时应该更新事实
538
- - 涉及哪类事实文档
539
-
540
- 默认脚手架先创建临时的宽泛引导路由,让新仓库可被路由。触及真实代码时,在正常 Truth Sync 前把该引导路由拆成真实产品、服务、领域或所有权区域;不要把引导交接文档写成兜底行为文档。
541
-
542
- 示例:
543
-
544
- ```text
545
- /truthmark-structure 将宽泛的 repository 区域拆成 frontend、backend、billing 和 deployment
546
- ```
547
-
548
- 好的路由会给 Truth Sync 精确目标。
549
-
550
- 坏的路由会让代理猜。
551
-
552
- ## Truthmark 会安装什么
553
-
554
- Truthmark 安装一个紧凑、仓库原生的事实层。
555
-
556
- 它分为四层安装:
557
-
558
- - 用于所有权边界的配置和路由
559
- - 规范事实文档和起始模板
560
- - 用于仓库级代理指令的紧凑受管指令块
561
- - 为配置中启用的平台生成宿主原生的工作流包、命令、prompts 和 verifier agents
562
-
563
- Truthmark 会保留受管指令块之外的手写内容。
564
-
565
- 生成的工作流接口由 Truthmark 管理,可以通过重新运行来刷新:
566
-
567
- ```bash
568
- truthmark init
569
- ```
570
-
571
- ## 子代理和有边界证据检查
572
-
573
- 在宿主支持时,Truthmark 可以安装项目级验证代理和一个带租约的 `truth-doc-writer`。
574
-
575
- 这些有助于让大型事实任务保持有边界:
576
-
577
- - route auditors 检查路由所有权
578
- - claim verifiers 检查文档声明是否有证据支持
579
- - doc reviewers 检查事实文档质量
580
- - leased doc writers 处理有边界的事实文档写入分片
581
-
582
- 父工作流仍然负责最终解释、写入边界、diff 验证和验收。
583
-
584
- 这一点很重要:子代理帮助完成有边界的证据工作。它们不替代主工作流契约。
585
-
586
- ## 审查循环
587
-
588
- Truthmark 为普通 Git 审查而设计。
589
-
590
- 一次好的 AI 辅助交接应该展示:
591
-
592
- ```text
593
- 代码 diff
594
- 测试证据
595
- 必要时的事实文档 diff
596
- 必要时的路由变更
597
- 代理报告
598
- ```
599
-
600
- 审查者应该能够回答:
601
-
602
- - 什么代码变了?
603
- - 哪些事实文档拥有这些代码?
604
- - 这些文档需要更新吗?
605
- - 如果不需要,为什么?
606
- - 代理是否留在工作流写入边界内?
607
- - 是否包含测试或验证证据?
608
-
609
- ## 示例
610
-
611
- ### 初始化仓库
612
-
613
- ```bash
614
- npm install -g truthmark
615
- truthmark config
616
- truthmark init
617
- truthmark check
618
- ```
619
-
620
- ### 移除未使用的代理平台
621
-
622
- 编辑:
623
-
624
- ```text
625
- .truthmark/config.yml
626
- ```
627
-
628
- 然后重新运行:
629
-
630
- ```bash
631
- truthmark init
632
- truthmark check
633
- ```
634
-
635
- ### 拆分宽泛路由
636
-
637
- ```text
638
- /truthmark-structure 将宽泛的 repository 区域拆成 auth、billing、notifications 和 deployment
639
- ```
640
-
641
- ### 记录已实现行为
642
-
643
- ```text
644
- /truthmark-document 在 docs/truthmark/engineering/behaviors/authentication 下记录已实现的密码重置流程
645
- ```
646
-
647
- ### 代码变更后同步
648
-
649
- ```text
650
- /truthmark-sync 现在同步仓库事实,然后再交接
651
- ```
652
-
653
- ### 实现 doc-first 决策
654
-
655
- ```text
656
- /truthmark-realize 将 docs/truthmark/product/capabilities/invoice-retry-policy.md 实现到代码中
657
- ```
658
-
659
- ### 从终端审计事实健康
660
-
661
- ```bash
662
- truthmark check
663
- ```
664
-
665
- ### 生成分支影响摘要
666
-
667
- ```bash
668
- truthmark impact --base main
669
- ```
670
-
671
- ### 查看工作流状态
672
-
673
- ```bash
674
- truthmark workflow status --workflow truthmark-sync --base main --json
675
- ```
676
-
677
- ### 启用可选 Portal 工作流
678
-
679
- ```yaml
680
- truthmark:
681
- generated:
682
- portal:
683
- enabled: true
684
- ```
685
-
686
- ```bash
687
- truthmark init
688
- ```
689
-
690
- 当你想生成或刷新静态展示站点时,再明确要求代理宿主运行已安装的 Portal 工作流。
691
-
692
- ## 项目状态
693
-
694
- Truthmark V1 目前提供:
695
-
696
- - `truthmark config`
697
- - `truthmark init`
698
- - `truthmark check`
699
- - `truthmark index`
700
- - `truthmark impact`
701
- - `truthmark workflow status`
702
- - 分支范围元数据
703
- - 受管指令块
704
- - 生成的 Truth Structure 工作流接口
705
- - 生成的 Truth Document 工作流接口
706
- - 生成的 Truth Sync 工作流接口
707
- - 生成的 Truth Preview 工作流接口
708
- - 生成的 Truth Realize 工作流接口
709
- - 生成的 Truth Check 工作流接口
710
- - 可选生成的 Truthmark Portal 工作流接口
711
- - 路由、权限边界、决策结构、frontmatter、链接、freshness、生成接口和覆盖率诊断
712
- - 派生的 RepoIndex、RouteMap、ImpactSet 和 WorkflowState 产物
713
- - 面向 Codex、Claude Code、GitHub Copilot、OpenCode 和 Gemini CLI 的宿主专属接口
714
-
715
- ## 开发
716
-
717
- 安装依赖:
718
-
719
- ```bash
720
- npm install
721
- ```
722
-
723
- 运行本地开发 CLI:
724
-
725
- ```bash
726
- npm run dev -- init
727
- npm run dev -- check
728
- ```
729
-
730
- 运行完整项目检查:
731
-
732
- ```bash
733
- npm run check
734
- ```
735
-
736
- 常用脚本:
737
-
738
- | 脚本 | 用途 |
739
- | --- | --- |
740
- | `npm run dev` | 用 `tsx` 运行 TypeScript CLI 入口。 |
741
- | `npm run build` | 构建包。 |
742
- | `npm run lint` | 运行 ESLint。 |
743
- | `npm run typecheck` | 运行 TypeScript 检查。 |
744
- | `npm run test` | 运行测试。 |
745
- | `npm run check` | 运行 lint、typecheck、测试和 build。 |
746
- | `npm run release:check` | 运行面向发布的验证。 |
747
-
748
- 修改 Truthmark 本身时,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
749
-
750
- ## 文档
751
-
752
- README 是评估和设置的快速路径。
753
-
754
- 详细的当前行为位于 `docs/` 下:
755
-
756
- - [文档索引](docs/README.md)
757
- - [架构概览](docs/truthmark/engineering/architecture/overview.md)
758
- - [API 和 CLI 契约](docs/truthmark/engineering/contracts/config-route-and-check-contracts.md)
759
- - [Init 和脚手架行为](docs/truthmark/engineering/behaviors/init-and-scaffold.md)
760
- - [Check 诊断](docs/truthmark/engineering/behaviors/check-diagnostics.md)
761
- - [已安装工作流](docs/truthmark/engineering/workflows/installed-workflow-runtime.md)
762
- - [仓库事实维护指南](docs/standards/maintaining-repository-truth.md)
763
-
764
- ## 设计边界
765
-
766
- Truthmark 有意保持小而清晰。
767
-
768
- 它不是:
769
-
770
- - 托管服务
771
- - MCP 服务器
772
- - 向量数据库
773
- - 规范文档网站生成器或托管文档平台
774
- - CI 或 PR 强制执行产品
775
- - 测试、代码审查或技术领导力的替代品
776
- - 自主代码重写引擎
777
- - 模型训练或微调框架
778
- - 隐藏记忆层
779
-
780
- 这些边界是产品的一部分。
781
-
782
- Truthmark 让工作流保持本地、已提交、按分支生效并可审查。
783
-
784
- ## 安全和审查纪律
785
-
786
- Truthmark 帮助仓库保持诚实。它不能证明代码正确。
787
-
788
- 团队仍然应该:
789
-
790
- - 运行相关测试
791
- - 审查功能代码变更
792
- - 审查事实文档变更
793
- - 不把 secrets 放进文档
794
- - 把仓库专属说明保留在受管块之外
795
- - 升级后审查生成工作流接口的 diff
796
- - 保留人类对产品和架构决策的所有权
797
-
798
- Truthmark 让面向代理的仓库事实可见。它不替代人类判断。
799
-
800
- ## 路线图方向
801
-
802
- 当前未来方向强调:
803
-
804
- - 更强的 `truthmark check` 证据报告
805
- - 更清晰的采用示例
806
- - 展示真实 Truth Sync 循环的示例仓库
807
- - 面向已经使用代理说明文件团队的迁移指南
808
- - 生成宿主接口的符合性测试
809
- - 基于路由的 stale truth 提示
810
- - 面向 doc-first 工作的有边界实现清单
811
-
812
- 重心保持不变:
813
-
814
- ```text
815
- 仓库事实
816
- 代理原生工作流
817
- Git 审查
818
- 按分支生效的文档
819
- ```
820
-
821
- ## 许可证
822
-
823
- MIT。见 [LICENSE](LICENSE)。