@namewta/speculo 0.1.21 → 0.2.0
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.md +68 -78
- package/dist/src/cli.js +57 -34
- package/dist/src/cli.js.map +1 -1
- package/dist/src/index.d.ts +1 -3
- package/dist/src/index.js +128 -168
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrate.d.ts +38 -0
- package/dist/src/migrate.js +646 -0
- package/dist/src/migrate.js.map +1 -0
- package/dist/src/workflows.d.ts +7 -37
- package/dist/src/workflows.js +49 -123
- package/dist/src/workflows.js.map +1 -1
- package/package.json +6 -4
- package/template/.speculo/README.md +20 -0
- package/template/.speculo/workspace.json +12 -0
- package/template/commands/docs-sync.md +28 -0
- package/template/commands/finalize.md +37 -0
- package/template/commands/knowledge-prune.md +20 -0
- package/template/commands/retro.md +15 -8
- package/template/commands/status.md +8 -51
- package/template/skills/agents-md-builder/SKILL.md +14 -101
- package/template/skills/change-lifecycle/SKILL.md +25 -0
- package/template/{workflows/dev/_templates → skills/change-lifecycle/assets}/completion-summary-template.md +2 -2
- package/template/{workflows/dev/_templates → skills/change-lifecycle/assets}/completion-verification-template.md +1 -1
- package/template/skills/change-lifecycle/references/completion-gate.md +19 -0
- package/template/skills/change-lifecycle/references/finalize-archive.md +32 -0
- package/template/skills/docs-sync/SKILL.md +22 -0
- package/template/skills/docs-sync/assets/report-template.md +45 -0
- package/template/skills/docs-sync/assets/state-template.json +20 -0
- package/template/skills/docs-sync/assets/workflow-scope-template.json +9 -0
- package/template/skills/docs-sync/references/agents-contract.md +43 -0
- package/template/skills/docs-sync/references/changelog-contract.md +39 -0
- package/template/skills/docs-sync/references/document-lifecycle-contract.md +38 -0
- package/template/skills/docs-sync/references/git-state-contract.md +67 -0
- package/template/skills/docs-sync/references/readme-contract.md +44 -0
- package/template/skills/docs-sync/references/workflow-scope-contract.md +50 -0
- package/template/skills/github-npm-ops/SKILL.md +14 -39
- package/template/skills/github-npm-ops/references/failure-recovery.md +1 -1
- package/template/skills/github-npm-ops/references/preflight-checklist.md +1 -1
- package/template/skills/github-npm-ops/references/release-notes-injection.md +1 -1
- package/template/skills/github-npm-ops/references/release-pipeline.md +13 -13
- package/template/skills/github-npm-ops/references/version-bump-flow.md +3 -3
- package/template/skills/knowledge-prune/SKILL.md +29 -0
- package/template/skills/knowledge-prune/references/audit-rules.md +24 -0
- package/template/skills/runtime-context/SKILL.md +43 -0
- package/template/skills/runtime-context/references/path-resolution.md +32 -0
- package/template/skills/speculo-retro/SKILL.md +13 -37
- package/template/skills/speculo-retro/references/friction-taxonomy.md +3 -3
- package/template/skills/speculo-retro/references/issue-drafting-sop.md +3 -3
- package/template/skills/worktree-isolation/SKILL.md +10 -46
- package/template/skills/worktree-isolation/references/audit-branch-tree.md +2 -2
- package/template/skills/worktree-isolation/references/create-worktree.md +6 -6
- package/template/skills/worktree-isolation/references/merge-and-cleanup.md +5 -5
- package/template/vendor/README.md +11 -10
- package/template/vendor/matt-pocock/README.md +41 -0
- package/template/vendor/matt-pocock/engineering/README.md +28 -0
- package/template/vendor/matt-pocock/engineering/ask-matt/SKILL.md +76 -0
- package/template/vendor/matt-pocock/engineering/code-review/SKILL.md +89 -0
- package/template/vendor/matt-pocock/engineering/codebase-design/DEEPENING.md +37 -0
- package/template/vendor/matt-pocock/engineering/codebase-design/DESIGN-IT-TWICE.md +44 -0
- package/template/vendor/matt-pocock/engineering/codebase-design/SKILL.md +114 -0
- package/template/vendor/matt-pocock/engineering/diagnosing-bugs/SKILL.md +134 -0
- package/template/vendor/matt-pocock/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/template/vendor/matt-pocock/engineering/domain-modeling/ADR-FORMAT.md +47 -0
- package/template/vendor/matt-pocock/engineering/domain-modeling/CONTEXT-FORMAT.md +60 -0
- package/template/vendor/matt-pocock/engineering/domain-modeling/SKILL.md +74 -0
- package/template/vendor/matt-pocock/engineering/grill-with-docs/SKILL.md +7 -0
- package/template/vendor/matt-pocock/engineering/implement/SKILL.md +15 -0
- package/template/vendor/matt-pocock/engineering/improve-codebase-architecture/HTML-REPORT.md +123 -0
- package/template/vendor/matt-pocock/engineering/improve-codebase-architecture/SKILL.md +66 -0
- package/template/vendor/matt-pocock/engineering/prototype/LOGIC.md +79 -0
- package/template/vendor/matt-pocock/engineering/prototype/SKILL.md +30 -0
- package/template/vendor/matt-pocock/engineering/prototype/UI.md +112 -0
- package/template/vendor/matt-pocock/engineering/research/SKILL.md +12 -0
- package/template/vendor/matt-pocock/engineering/resolving-merge-conflicts/SKILL.md +14 -0
- package/template/vendor/matt-pocock/engineering/setup-matt-pocock-skills/SKILL.md +127 -0
- package/template/vendor/matt-pocock/engineering/setup-matt-pocock-skills/domain.md +51 -0
- package/template/vendor/matt-pocock/engineering/setup-matt-pocock-skills/issue-tracker-github.md +45 -0
- package/template/vendor/matt-pocock/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
- package/template/vendor/matt-pocock/engineering/setup-matt-pocock-skills/issue-tracker-local.md +30 -0
- package/template/vendor/matt-pocock/engineering/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/template/vendor/matt-pocock/engineering/tdd/SKILL.md +36 -0
- package/template/vendor/matt-pocock/engineering/tdd/mocking.md +59 -0
- package/template/vendor/matt-pocock/engineering/tdd/tests.md +77 -0
- package/template/vendor/matt-pocock/engineering/to-spec/SKILL.md +75 -0
- package/template/vendor/matt-pocock/engineering/to-tickets/SKILL.md +113 -0
- package/template/vendor/matt-pocock/engineering/triage/AGENT-BRIEF.md +204 -0
- package/template/vendor/matt-pocock/engineering/triage/OUT-OF-SCOPE.md +104 -0
- package/template/vendor/matt-pocock/engineering/triage/SKILL.md +112 -0
- package/template/vendor/matt-pocock/engineering/wayfinder/SKILL.md +127 -0
- package/template/vendor/matt-pocock/in-progress/README.md +10 -0
- package/template/vendor/matt-pocock/in-progress/claude-handoff/SKILL.md +18 -0
- package/template/vendor/matt-pocock/in-progress/loop-me/SKILL.md +32 -0
- package/template/vendor/matt-pocock/in-progress/wizard/SKILL.md +45 -0
- package/template/vendor/matt-pocock/in-progress/wizard/template.sh +211 -0
- package/template/vendor/matt-pocock/in-progress/writing-beats/SKILL.md +67 -0
- package/template/vendor/matt-pocock/in-progress/writing-fragments/SKILL.md +78 -0
- package/template/vendor/matt-pocock/in-progress/writing-shape/SKILL.md +79 -0
- package/template/vendor/matt-pocock/productivity/README.md +18 -0
- package/template/vendor/matt-pocock/productivity/grill-me/SKILL.md +7 -0
- package/template/vendor/matt-pocock/productivity/grilling/SKILL.md +12 -0
- package/template/vendor/matt-pocock/productivity/handoff/SKILL.md +16 -0
- package/template/vendor/matt-pocock/productivity/teach/GLOSSARY-FORMAT.md +35 -0
- package/template/vendor/matt-pocock/productivity/teach/LEARNING-RECORD-FORMAT.md +46 -0
- package/template/vendor/matt-pocock/productivity/teach/MISSION-FORMAT.md +31 -0
- package/template/vendor/matt-pocock/productivity/teach/RESOURCES-FORMAT.md +32 -0
- package/template/vendor/matt-pocock/productivity/teach/SKILL.md +140 -0
- package/template/vendor/matt-pocock/productivity/writing-great-skills/GLOSSARY.md +201 -0
- package/template/vendor/matt-pocock/productivity/writing-great-skills/SKILL.md +83 -0
- package/template/workflows/matt-pocock/WORKFLOW.md +145 -0
- package/template/workflows/matt-pocock/_state/status.json +5 -0
- package/template/workflows/matt-pocock/routes/architecture.md +24 -0
- package/template/workflows/matt-pocock/routes/diagnose.md +22 -0
- package/template/workflows/matt-pocock/routes/experimental.md +18 -0
- package/template/workflows/matt-pocock/routes/idea-to-delivery.md +63 -0
- package/template/workflows/matt-pocock/routes/merge-conflicts.md +19 -0
- package/template/workflows/matt-pocock/routes/productivity.md +25 -0
- package/template/workflows/matt-pocock/routes/research-prototype.md +20 -0
- package/template/workflows/matt-pocock/routes/review.md +19 -0
- package/template/workflows/matt-pocock/routes/setup.md +42 -0
- package/template/workflows/matt-pocock/routes/triage.md +25 -0
- package/template/workflows/matt-pocock/routes/wayfinder.md +27 -0
- package/template/workflows/person/M-mao-zedong-cognitive-os/M-mao-zedong-cognitive-os.md +74 -59
- package/template/workflows/person/M-mao-zedong-cognitive-os/activate.md +2 -2
- package/template/workflows/person/M-mao-zedong-cognitive-os/deliver.md +5 -5
- package/template/workflows/person/M-mao-zedong-cognitive-os/diagnose.md +2 -2
- package/template/workflows/person/M-mao-zedong-cognitive-os/mobilize.md +4 -4
- package/template/workflows/person/M-mao-zedong-cognitive-os/strategize.md +3 -3
- package/template/workflows/person/WORKFLOW.md +68 -0
- package/template/workflows/person/_state/.config/LESSONS.md +3 -0
- package/template/workflows/person/_state/.config/RULES.md +3 -0
- package/template/workflows/person/_state/changes/.gitkeep +1 -0
- package/template/workflows/person/_state/status.json +5 -0
- package/template/.speculo/.config/LESSONS.md +0 -9
- package/template/.speculo/.config/RULES.md +0 -11
- package/template/.speculo/AGENTS.md +0 -30
- package/template/.speculo/archive/AGENTS.md +0 -28
- package/template/.speculo/archive/dev/.gitkeep +0 -0
- package/template/.speculo/archive/person/.gitkeep +0 -0
- package/template/.speculo/dev/.gitkeep +0 -0
- package/template/.speculo/dev/docs-sync-state.json +0 -14
- package/template/.speculo/dev-status.json +0 -3
- package/template/.speculo/doc-status.json +0 -3
- package/template/.speculo/person/.gitkeep +0 -0
- package/template/.speculo/person-status.json +0 -1
- package/template/commands/archive.md +0 -68
- package/template/commands/caveman.md +0 -50
- package/template/commands/config-prune.md +0 -59
- package/template/commands/grill-me.md +0 -48
- package/template/commands/handoff.md +0 -59
- package/template/commands/scaffold-exercises.md +0 -56
- package/template/commands/write-a-skill.md +0 -52
- package/template/skills/caveman/SKILL.md +0 -38
- package/template/skills/caveman/references/compression-rules.md +0 -102
- package/template/skills/config-prune/SKILL.md +0 -44
- package/template/skills/config-prune/references/audit-rules.md +0 -38
- package/template/skills/grill-me/SKILL.md +0 -40
- package/template/skills/handoff/SKILL.md +0 -73
- package/template/skills/scaffold-exercises/SKILL.md +0 -41
- package/template/skills/scaffold-exercises/references/exercise-structure.md +0 -85
- package/template/skills/scaffold-exercises/references/lint-and-git.md +0 -54
- package/template/skills/speculo-write/SKILL.md +0 -56
- package/template/skills/speculo-write/references/asset-selection-sop.md +0 -67
- package/template/skills/speculo-write/references/authoring-quality-levers.md +0 -61
- package/template/skills/speculo-write/references/command-authoring-sop.md +0 -98
- package/template/skills/speculo-write/references/migration-sop.md +0 -101
- package/template/skills/speculo-write/references/persistence-contract-sop.md +0 -271
- package/template/skills/speculo-write/references/skill-authoring-sop.md +0 -212
- package/template/skills/speculo-write/references/validation-checklist.md +0 -85
- package/template/skills/speculo-write/references/workflow-authoring-sop.md +0 -165
- package/template/vendor/codebase-design/DEEPENING.md +0 -37
- package/template/vendor/codebase-design/DESIGN-IT-TWICE.md +0 -44
- package/template/vendor/codebase-design/SKILL.md +0 -114
- package/template/vendor/officecli/SKILL.md +0 -415
- package/template/vendor/resolving-merge-conflicts/SKILL.md +0 -14
- package/template/workflows/dev/01-grill-with-docs/01-grill-with-docs.md +0 -107
- package/template/workflows/dev/01-grill-with-docs/grill-context-scan.md +0 -30
- package/template/workflows/dev/01-grill-with-docs/grill-decision.md +0 -38
- package/template/workflows/dev/02-prd/02-prd.md +0 -70
- package/template/workflows/dev/02-prd/prd-synthesis.md +0 -30
- package/template/workflows/dev/02-prd/prd-zoom-out.md +0 -29
- package/template/workflows/dev/03-tdd/03-tdd.md +0 -55
- package/template/workflows/dev/03-tdd/agents/tdd-finish-agent.md +0 -34
- package/template/workflows/dev/03-tdd/agents/tdd-implement-agent.md +0 -34
- package/template/workflows/dev/03-tdd/agents/tdd-plan-agent.md +0 -34
- package/template/workflows/dev/03-tdd/mocking.md +0 -43
- package/template/workflows/dev/03-tdd/refactoring.md +0 -10
- package/template/workflows/dev/03-tdd/tdd-finish.md +0 -34
- package/template/workflows/dev/03-tdd/tdd-loop.md +0 -36
- package/template/workflows/dev/03-tdd/tdd-plan.md +0 -37
- package/template/workflows/dev/03-tdd/tests.md +0 -61
- package/template/workflows/dev/04-finalize/04-finalize.md +0 -57
- package/template/workflows/dev/04-finalize/agents/completion-gate-agent.md +0 -35
- package/template/workflows/dev/04-finalize/completion-gate.md +0 -41
- package/template/workflows/dev/04-finalize/finalize-archive.md +0 -55
- package/template/workflows/dev/A-improve-architecture/A-improve-architecture.md +0 -60
- package/template/workflows/dev/A-improve-architecture/HTML-REPORT.md +0 -123
- package/template/workflows/dev/A-improve-architecture/architecture-grill.md +0 -30
- package/template/workflows/dev/A-improve-architecture/architecture-review.md +0 -29
- package/template/workflows/dev/A-improve-architecture/architecture-scan.md +0 -37
- package/template/workflows/dev/AGENTS.md +0 -95
- package/template/workflows/dev/D-docs-sync/D-docs-sync.md +0 -140
- package/template/workflows/dev/D-docs-sync/agents/docs-diff-agent.md +0 -34
- package/template/workflows/dev/D-docs-sync/agents/docs-update-agent.md +0 -34
- package/template/workflows/dev/D-docs-sync/agents-contract.md +0 -95
- package/template/workflows/dev/D-docs-sync/changelog-contract.md +0 -155
- package/template/workflows/dev/D-docs-sync/config-contract.md +0 -75
- package/template/workflows/dev/D-docs-sync/docs-sync-diff.md +0 -86
- package/template/workflows/dev/D-docs-sync/docs-sync-finish.md +0 -37
- package/template/workflows/dev/D-docs-sync/docs-sync-state.md +0 -47
- package/template/workflows/dev/D-docs-sync/docs-sync-update.md +0 -44
- package/template/workflows/dev/D-docs-sync/knowledge-extract.md +0 -66
- package/template/workflows/dev/D-docs-sync/readme-contract.md +0 -124
- package/template/workflows/dev/D-docs-sync/state-json-schema.md +0 -172
- package/template/workflows/dev/H-diagnose/H-diagnose.md +0 -108
- package/template/workflows/dev/H-diagnose/agents/diagnose-agent.md +0 -33
- package/template/workflows/dev/H-diagnose/agents/fix-agent.md +0 -34
- package/template/workflows/dev/H-diagnose/diagnose-fix.md +0 -34
- package/template/workflows/dev/H-diagnose/diagnose-guide.md +0 -144
- package/template/workflows/dev/H-diagnose/diagnose-loop.md +0 -41
- package/template/workflows/dev/H-diagnose/scripts/hitl-loop.template.sh +0 -41
- package/template/workflows/dev/I-to-issues/I-to-issues.md +0 -79
- package/template/workflows/dev/I-to-issues/issues-slices.md +0 -211
- package/template/workflows/dev/M-domain-modeling/ADR-FORMAT.md +0 -74
- package/template/workflows/dev/M-domain-modeling/CONTEXT-FORMAT.md +0 -67
- package/template/workflows/dev/M-domain-modeling/M-domain-modeling.md +0 -102
- package/template/workflows/dev/R-review/R-review.md +0 -75
- package/template/workflows/dev/R-review/agents/engineering-review-agent.md +0 -33
- package/template/workflows/dev/R-review/agents/spec-review-agent.md +0 -34
- package/template/workflows/dev/R-review/agents/standards-review-agent.md +0 -34
- package/template/workflows/dev/R-review/code-quality-checklist.md +0 -118
- package/template/workflows/dev/R-review/removal-checklist.md +0 -53
- package/template/workflows/dev/R-review/review-axes.md +0 -61
- package/template/workflows/dev/R-review/review-setup.md +0 -111
- package/template/workflows/dev/R-review/review-verdict.md +0 -43
- package/template/workflows/dev/R-review/security-checklist.md +0 -126
- package/template/workflows/dev/R-review/solid-checklist.md +0 -73
- package/template/workflows/dev/_templates/diagnosis-template.md +0 -20
- package/template/workflows/dev/_templates/docs-sync-report-template.md +0 -45
- package/template/workflows/dev/_templates/docs-sync-state-template.json +0 -14
- package/template/workflows/dev/_templates/domain-model-log-template.md +0 -20
- package/template/workflows/dev/_templates/grill-context-map-template.md +0 -20
- package/template/workflows/dev/_templates/grill-decision-log-template.md +0 -20
- package/template/workflows/dev/_templates/issues-slices-template.md +0 -106
- package/template/workflows/dev/_templates/overview-template.md +0 -19
- package/template/workflows/dev/_templates/prd-template.md +0 -26
- package/template/workflows/dev/_templates/regression-template.md +0 -20
- package/template/workflows/dev/_templates/review-report-template.md +0 -30
- package/template/workflows/dev/_templates/review-sources-template.md +0 -33
- package/template/workflows/dev/_templates/review-verdict-template.md +0 -33
- package/template/workflows/dev/_templates/tdd-log-template.md +0 -23
- package/template/workflows/dev/_templates/tdd-plan-template.md +0 -35
- package/template/workflows/dev/_templates/tdd-verification-template.md +0 -26
- package/template/workflows/doc/AGENTS.md +0 -80
- package/template/workflows/doc/B-writing-beats/B-writing-beats.md +0 -79
- package/template/workflows/doc/B-writing-beats/writing-beats-append.md +0 -31
- package/template/workflows/doc/B-writing-beats/writing-beats-options.md +0 -29
- package/template/workflows/doc/E-edit-article/E-edit-article.md +0 -79
- package/template/workflows/doc/E-edit-article/edit-article-plan.md +0 -30
- package/template/workflows/doc/E-edit-article/edit-article-rewrite.md +0 -31
- package/template/workflows/doc/F-writing-fragments/F-writing-fragments.md +0 -80
- package/template/workflows/doc/F-writing-fragments/writing-fragments-interview.md +0 -32
- package/template/workflows/doc/F-writing-fragments/writing-fragments-log.md +0 -29
- package/template/workflows/doc/S-writing-shape/S-writing-shape.md +0 -81
- package/template/workflows/doc/S-writing-shape/writing-shape-block.md +0 -32
- package/template/workflows/doc/S-writing-shape/writing-shape-opening.md +0 -27
- package/template/workflows/doc/T-teach/T-teach.md +0 -64
- package/template/workflows/doc/T-teach/teach-lesson-wrap.md +0 -63
- package/template/workflows/doc/T-teach/teach-lesson.md +0 -53
- package/template/workflows/doc/T-teach/teach-mission.md +0 -33
- package/template/workflows/doc/T-teach/teach-resources.md +0 -36
- package/template/workflows/doc/_templates/edit-article-plan-template.md +0 -25
- package/template/workflows/doc/_templates/edit-article-template.md +0 -7
- package/template/workflows/doc/_templates/teach-glossary-template.md +0 -26
- package/template/workflows/doc/_templates/teach-learning-record-template.md +0 -38
- package/template/workflows/doc/_templates/teach-lesson-html-template.md +0 -24
- package/template/workflows/doc/_templates/teach-mission-template.md +0 -19
- package/template/workflows/doc/_templates/teach-resources-template.md +0 -18
- package/template/workflows/doc/_templates/writing-article-template.md +0 -7
- package/template/workflows/doc/_templates/writing-beat-options-template.md +0 -21
- package/template/workflows/doc/_templates/writing-fragments-template.md +0 -7
- package/template/workflows/doc/_templates/writing-interview-log-template.md +0 -21
- package/template/workflows/doc/_templates/writing-shape-log-template.md +0 -25
- package/template/workflows/person/AGENTS.md +0 -72
- /package/template/{.speculo/.config/adr → workflows/matt-pocock/_state/archive}/.gitkeep +0 -0
- /package/template/{.speculo/.config/context → workflows/matt-pocock/_state/changes}/.gitkeep +0 -0
- /package/template/{.speculo/archive/doc → workflows/person/_state/.config/context}/.gitkeep +0 -0
- /package/template/{.speculo/doc → workflows/person/_state/archive}/.gitkeep +0 -0
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
# AI 代理手册类文档同步契约(通用)
|
|
2
|
-
|
|
3
|
-
AI 代理手册类文档(`AGENTS.md`、`CLAUDE.md`、`.cursorrules`、`.github/copilot-instructions.md` 等)是**给 AI 代理看的工作手册**,不是给用户看的营销页。它的受众是其他 AI 代理(Claude / Cursor / Kiro / Codex / GPT / Gemini 等),内容应是高信息密度的结构化陈述。
|
|
4
|
-
|
|
5
|
-
本契约给出通用写作与同步规则;具体章节结构由项目自身现有文档决定,同步时保留既有结构做差量更新。
|
|
6
|
-
|
|
7
|
-
## 文档定位
|
|
8
|
-
|
|
9
|
-
- 不是用户文档,不需要 Quick Start 式教程
|
|
10
|
-
- 不是营销文,不需要"它多强大"
|
|
11
|
-
- 是**事实手册**:项目身份、目录布局、关键命令、扩展机制、禁止与必须
|
|
12
|
-
- 是**惯例沉淀**:代码风格、测试要求、发布约定、常见陷阱
|
|
13
|
-
|
|
14
|
-
## 典型章节
|
|
15
|
-
|
|
16
|
-
以下是 AI 代理手册中**常见**的章节;实际是否存在、顺序如何,由项目决定:
|
|
17
|
-
|
|
18
|
-
| 常见章节 | 通用同步触发条件 |
|
|
19
|
-
|---------|-----------------|
|
|
20
|
-
| 项目身份 | `package.json` / `pyproject.toml` / `Cargo.toml` 等元信息变化(name / version / runtime 约束 / license) |
|
|
21
|
-
| 核心架构 | 顶层领域模型、核心抽象、关键常量集变化 |
|
|
22
|
-
| 仓库布局 | 顶层目录树变化(新增/删除/重命名) |
|
|
23
|
-
| 开发命令 | 项目任务运行器入口变化(scripts / Makefile / justfile) |
|
|
24
|
-
| CLI / API 速查 | CLI 入口或公共 API 变化 |
|
|
25
|
-
| 扩展机制 | 钩子、插件、生命周期钩子的 public API 变化 |
|
|
26
|
-
| 代理行为规约 | 代码风格、测试要求、发布约定的策略性调整(变化频率低) |
|
|
27
|
-
| 常见陷阱 | CI 失败复盘、重构遗留约定、新成员反复犯错 |
|
|
28
|
-
| 相关文档 | 新增/删除对外文档时 |
|
|
29
|
-
|
|
30
|
-
## 仓库布局小节的同步规则
|
|
31
|
-
|
|
32
|
-
如存在"仓库布局 / Repository Layout / 目录结构"章节,它是代码树的 ASCII 快照。**每次同步**都要对照实际顶层目录:
|
|
33
|
-
|
|
34
|
-
- 列顶层目录 + 关键子目录(建议最多两层)
|
|
35
|
-
- 用 `├──` `└──` `│` 表示树形
|
|
36
|
-
- 右侧注释简短,说明"这个目录是做什么的"
|
|
37
|
-
- 新增 / 删除 / 重命名顶层目录时必须跟进
|
|
38
|
-
|
|
39
|
-
## 开发命令与 CLI 速查
|
|
40
|
-
|
|
41
|
-
- 表格形式(两列:"场景 / 命令",或三列:"命令 / 作用 / 常用标志")
|
|
42
|
-
- 命令来自项目任务运行器(`package.json#scripts` / `Makefile` / etc.)或 CLI 入口源码
|
|
43
|
-
- 新增命令 → 加一行;改名 → 改行;删除 → 删行
|
|
44
|
-
- 与 README 的 CLI Reference **同源但更简略**:README 提供完整说明,代理手册只给速查
|
|
45
|
-
|
|
46
|
-
## 扩展机制
|
|
47
|
-
|
|
48
|
-
如项目提供钩子、插件、生命周期回调等二次开发入口,对应源文件的 public API 变化时必须同步此章节。代码示例应使用**实际存在的入口**,不要虚构。
|
|
49
|
-
|
|
50
|
-
## 代理行为规约
|
|
51
|
-
|
|
52
|
-
这是最稳定的章节。调整的触发条件有限:
|
|
53
|
-
|
|
54
|
-
- 工具链升级(例如 ESLint flat config / legacy 切换、测试框架替换)
|
|
55
|
-
- 构建 / 发布流水线改造
|
|
56
|
-
- 代码风格或命名约定的全仓级调整
|
|
57
|
-
|
|
58
|
-
## 常见陷阱
|
|
59
|
-
|
|
60
|
-
每一条是一个真实踩过的坑或设计隐患。
|
|
61
|
-
|
|
62
|
-
**添加条目的时机**:
|
|
63
|
-
|
|
64
|
-
- CI 失败排查后发现某类错误反复出现
|
|
65
|
-
- 重大重构后遗留的临时约定
|
|
66
|
-
- 新团队成员或 AI 代理反复犯的同一错
|
|
67
|
-
|
|
68
|
-
**删除条目的时机**:工具链或代码结构升级消除了该陷阱。
|
|
69
|
-
|
|
70
|
-
## 相关文档
|
|
71
|
-
|
|
72
|
-
指向项目的其他对外文档(README / CHANGELOG / CONTRIBUTING / spec 目录等)。新增顶层文档(如增加 `CONTRIBUTING.md`)时同步本小节。
|
|
73
|
-
|
|
74
|
-
## 语言与风格
|
|
75
|
-
|
|
76
|
-
- 全文使用**项目主要贡献者的工作语言**(中文项目用中文,英文项目用英文)
|
|
77
|
-
- 代码实体(命令、路径、字段名、配置键、类名)保持**原文**,不翻译
|
|
78
|
-
- 列表式陈述优先于长段落
|
|
79
|
-
- 表格优先于散文
|
|
80
|
-
- 代码块优先于描述
|
|
81
|
-
- 使用硬约束语言:**禁止 / 必须 / 不得 / 强制**
|
|
82
|
-
- 避免营销语、惊叹号、表情符号
|
|
83
|
-
- 避免模糊词:"通常 / 大概 / 可能"改为具体条件
|
|
84
|
-
|
|
85
|
-
## 长度预算
|
|
86
|
-
|
|
87
|
-
建议全文控制在 500 行以内(与渐进披露 L2 阈值一致)。超过时把具体细节下沉到 `references/` 子文档并在主文档中引用。
|
|
88
|
-
|
|
89
|
-
## 不做的事
|
|
90
|
-
|
|
91
|
-
- 不复述 README 里已讲过的"它解决什么问题"
|
|
92
|
-
- 不写命令的详细 usage(`--help` 已经提供,速查表已经够)
|
|
93
|
-
- 不加 Quick Start 类步骤教程(那是 README 的工作)
|
|
94
|
-
- 不罗列借鉴项目清单(README 的致谢小节已经有了)
|
|
95
|
-
- 不做版本变更历史(那是 CHANGELOG 的工作)
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
# CHANGELOG 类文档同步契约(通用)
|
|
2
|
-
|
|
3
|
-
CHANGELOG 类文档(`CHANGELOG.md`、`CHANGELOGS.md`、`HISTORY.md`、`RELEASES.md`)遵循 [Keep a Changelog 1.1.0](https://keepachangelog.com/1.1.0/) 格式与 [SemVer 2.0.0](https://semver.org/)。语言由项目决定(中/英/其他),日期建议采用 ISO 8601(UTC 或带时区偏移)。
|
|
4
|
-
|
|
5
|
-
## 文档骨架(Keep a Changelog 约定)
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
# Changelog
|
|
9
|
-
|
|
10
|
-
<简短介绍段:声明遵循 KaC + SemVer 等约定>
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## [Unreleased]
|
|
15
|
-
|
|
16
|
-
### Added / 新增
|
|
17
|
-
### Changed / 变更
|
|
18
|
-
### Deprecated / 弃用
|
|
19
|
-
### Removed / 移除
|
|
20
|
-
### Fixed / 修复
|
|
21
|
-
### Security / 安全
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## [x.y.z] — YYYY-MM-DD
|
|
26
|
-
|
|
27
|
-
<同样的分节>
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## 版本链接 / Links
|
|
32
|
-
|
|
33
|
-
- [Unreleased](<compare-url>/vLATEST...HEAD)
|
|
34
|
-
- [x.y.z](<releases-url>/tag/vx.y.z)
|
|
35
|
-
- ...
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
`[Unreleased]` 顶部段落**永远存在**,即使内容为空。
|
|
39
|
-
|
|
40
|
-
## 标准分节与可选扩展
|
|
41
|
-
|
|
42
|
-
**Keep a Changelog 标准 6 节**(必须用标准名,语言本地化即可):
|
|
43
|
-
|
|
44
|
-
| 标准节 | 语义 |
|
|
45
|
-
|------|------|
|
|
46
|
-
| Added / 新增 | 新功能、新命令、新模板、新技能 |
|
|
47
|
-
| Changed / 变更 | 既有能力的行为/默认值调整 |
|
|
48
|
-
| Deprecated / 弃用 | 将来会移除但本版本仍能用 |
|
|
49
|
-
| Removed / 移除 | 已从代码中删除的能力 |
|
|
50
|
-
| Fixed / 修复 | bug 修复 |
|
|
51
|
-
| Security / 安全 | 安全修复、CVE 响应、鉴权相关调整 |
|
|
52
|
-
|
|
53
|
-
**常见非标准扩展**(项目可选):
|
|
54
|
-
|
|
55
|
-
| 扩展节 | 语义 |
|
|
56
|
-
|-------|------|
|
|
57
|
-
| Planned / 计划中 | 明确声明"即将做但未动工"的事项,用于路线图沟通 |
|
|
58
|
-
| Docs / 文档 | 对外文档的更新(README / AGENTS / references 等) |
|
|
59
|
-
| Performance / 性能 | 性能优化但行为未变 |
|
|
60
|
-
| Dependencies / 依赖 | 依赖升级聚合(非 Security) |
|
|
61
|
-
|
|
62
|
-
项目一旦采用某扩展节就在整个 CHANGELOG 内一致使用,不要忽隐忽现。**没有内容的分节不要列出空标题**;保留有内容的即可。
|
|
63
|
-
|
|
64
|
-
## 把 git 变更写成 Changelog 条目
|
|
65
|
-
|
|
66
|
-
[Conventional Commits](https://www.conventionalcommits.org/) 前缀对应分节(按项目采用的 commit 约定调整):
|
|
67
|
-
|
|
68
|
-
| 前缀 | 分节 |
|
|
69
|
-
|------|------|
|
|
70
|
-
| `feat:` / `feat(...):` | Added / 新增 |
|
|
71
|
-
| `fix:` / `fix(...):` | Fixed / 修复 |
|
|
72
|
-
| `refactor:` / `perf:` | Changed / 变更(若有行为影响)或 Performance |
|
|
73
|
-
| `docs:` | Docs / 文档(如项目采用该扩展节);否则不写 |
|
|
74
|
-
| `chore:` / `ci:` / `build:` / `style:` / `test:` | 默认不写;仅在用户能感知时写入相应分节 |
|
|
75
|
-
| `revert:` | 视被 revert 的内容归类 |
|
|
76
|
-
| 依赖升级(Dependabot 等) | Security(有 CVE) / Dependencies 或 Changed(常规) |
|
|
77
|
-
|
|
78
|
-
**不要把每一个 commit 都写成一行**。聚合为"主题条目":
|
|
79
|
-
|
|
80
|
-
- 同一主题下的多个 commit → 一条 bullet,列出关键细节
|
|
81
|
-
- `chore:` 类型整批的 Dependabot 升级 → 一条"依赖周更"条目
|
|
82
|
-
- 只影响开发体验(测试配置调整、lint 规则微调)通常不进 CHANGELOG
|
|
83
|
-
|
|
84
|
-
示例(原始 commits → Changelog 条目):
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
git log
|
|
88
|
-
feat(cli): add --json flag to status command
|
|
89
|
-
fix(status): handle missing config gracefully
|
|
90
|
-
test(status): cover --json output
|
|
91
|
-
|
|
92
|
-
→ CHANGELOG 的 [Unreleased] 下:
|
|
93
|
-
### Added
|
|
94
|
-
- **CLI**:`status --json` 支持机器可读输出,缺失配置时给出空结构而非报错
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Tag 发版时的迁移
|
|
98
|
-
|
|
99
|
-
当检测到区间内发生了版本 tag(即项目元信息中的 version 变化 + 新 `v*` tag):
|
|
100
|
-
|
|
101
|
-
1. 确定 tag 创建日期:`git log -1 --format=%aI vX.Y.Z`
|
|
102
|
-
2. 把 `[Unreleased]` 下除"Planned / 计划中"外的所有条目整体移动到新版本段落 `## [X.Y.Z] — YYYY-MM-DD`
|
|
103
|
-
3. 清空 `[Unreleased]`(保留空的"Planned / 计划中"区块,如项目使用该扩展节)
|
|
104
|
-
4. 更新底部版本链接:
|
|
105
|
-
- 新增 `[X.Y.Z]` 链接行
|
|
106
|
-
- 把 `[Unreleased]` 的 compare 基线改为 `vX.Y.Z...HEAD`
|
|
107
|
-
5. 如果 tag 之后还有新 commit,按正常流程把这些 commit 写入新的 `[Unreleased]`
|
|
108
|
-
|
|
109
|
-
## 版本链接契约
|
|
110
|
-
|
|
111
|
-
底部链接段落固定结构:
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
- [Unreleased](<repo>/compare/vLATEST...HEAD)
|
|
115
|
-
- [X.Y.Z](<repo>/releases/tag/vX.Y.Z)
|
|
116
|
-
- [X.Y.Z-1](...)
|
|
117
|
-
- ...
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
每发一个新版本 → 加一行;`[Unreleased]` compare 基线始终指向最新 tag。仓库 URL 由项目决定(GitHub / GitLab / Gitea / Bitbucket)。
|
|
121
|
-
|
|
122
|
-
## 条目写作规范
|
|
123
|
-
|
|
124
|
-
- 每个 bullet 以**能力名或模块名**加粗开头,如 `**CLI**:...`、`**API**:...`、`**templates**:...`、`**build**:...`、`**CI**:...`
|
|
125
|
-
- 用户视角描述"发生了什么",不描述"怎么改的"
|
|
126
|
-
- 路径、命令、标志、版本号保留代码格式(反引号)
|
|
127
|
-
- 不使用表情符号
|
|
128
|
-
- 一条 bullet 不超过两行;更长拆成子列表
|
|
129
|
-
|
|
130
|
-
## 不做的事
|
|
131
|
-
|
|
132
|
-
- **不要**重写已发布版本段落的条目措辞 —— 这些是历史档案
|
|
133
|
-
- **不要**在 `[Unreleased]` 里保留已被移入正式版本的条目
|
|
134
|
-
- **不要**反向覆盖:用 GitHub / GitLab 自动生成的 release notes 盖掉人工整理的 CHANGELOG
|
|
135
|
-
- **不要**把文档自身同步写成 `Added / Changed` —— 如项目采用"Docs / 文档"扩展节归入该节;否则不写
|
|
136
|
-
- **不要**把内部重构写成新功能
|
|
137
|
-
|
|
138
|
-
## 示例:典型同步产物
|
|
139
|
-
|
|
140
|
-
```markdown
|
|
141
|
-
## [Unreleased]
|
|
142
|
-
|
|
143
|
-
### Added
|
|
144
|
-
|
|
145
|
-
- **CLI**:`status --json` 输出机器可读状态
|
|
146
|
-
- **templates**:新增 authentication 模板,覆盖常见登录模式
|
|
147
|
-
|
|
148
|
-
### Changed
|
|
149
|
-
|
|
150
|
-
- **doctor**:`--check-deps` 在检测到未知依赖时改为 warn(原 error)
|
|
151
|
-
|
|
152
|
-
### Docs
|
|
153
|
-
|
|
154
|
-
- 新增 `.agents/skills/docs-sync/`,用于基于 git diff 同步对外文档
|
|
155
|
-
```
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# .config 知识资产同步契约
|
|
2
|
-
|
|
3
|
-
本契约用于 `dev/D-docs-sync` 审计和更新 `speculo/.speculo/.config/`。它只规定 docs-sync 的同步边界;术语和 ADR 的格式单一事实源仍是 `../M-domain-modeling/CONTEXT-FORMAT.md` 与 `../M-domain-modeling/ADR-FORMAT.md`。
|
|
4
|
-
|
|
5
|
-
## 覆盖范围
|
|
6
|
-
|
|
7
|
-
- `speculo/.speculo/.config/RULES.md`
|
|
8
|
-
- `speculo/.speculo/.config/LESSONS.md`
|
|
9
|
-
- `speculo/.speculo/.config/context/**/*.md`
|
|
10
|
-
- `speculo/.speculo/.config/adr/**/*.md`
|
|
11
|
-
|
|
12
|
-
## 通用生命周期动作
|
|
13
|
-
|
|
14
|
-
每次审计都把候选项标记为以下之一:
|
|
15
|
-
|
|
16
|
-
| 动作 | 含义 |
|
|
17
|
-
|------|------|
|
|
18
|
-
| `add` | 当前代码、文档或归档产物出现了新的稳定知识,应新增 |
|
|
19
|
-
| `update` | 旧内容仍有价值但与当前事实不一致,应改写 |
|
|
20
|
-
| `delete` | 内容已过期、重复、空置或被取代,应删除或转交 prune |
|
|
21
|
-
| `keep` | 内容仍准确且有当前证据支撑 |
|
|
22
|
-
| `propose-only` | 需要用户确认或领域建模确认,暂不写文件 |
|
|
23
|
-
|
|
24
|
-
禁止只追加内容。旧事实、旧引用、重复条目和空模板必须被审计。
|
|
25
|
-
|
|
26
|
-
## RULES.md
|
|
27
|
-
|
|
28
|
-
`RULES.md` 是用户维护的硬约束库。
|
|
29
|
-
|
|
30
|
-
- docs-sync 必须读取并遵守。
|
|
31
|
-
- docs-sync 可以在 report 中提出增删改建议。
|
|
32
|
-
- 只有用户明确确认具体规则改动时,才可写入 `RULES.md`。
|
|
33
|
-
- 不能把一次性任务偏好、临时 workaround 或尚未验证的经验写成规则。
|
|
34
|
-
|
|
35
|
-
## LESSONS.md
|
|
36
|
-
|
|
37
|
-
`LESSONS.md` 记录跨任务可复用经验。
|
|
38
|
-
|
|
39
|
-
- 可追加来自归档复盘、诊断、发布失败、重复踩坑的高信号经验。
|
|
40
|
-
- 可删除或合并重复、过时、单次任务专属、已被规则/ADR 吸收的条目。
|
|
41
|
-
- 每条经验应能说明“以后遇到什么条件时如何行动”,不要记录流水账。
|
|
42
|
-
- 如果只影响当前 change,把内容留在 change 产物中,不写入 LESSONS。
|
|
43
|
-
|
|
44
|
-
## CONTEXT
|
|
45
|
-
|
|
46
|
-
CONTEXT 是项目通用语言,不是实现说明、PRD 或决策日志。
|
|
47
|
-
|
|
48
|
-
- 只沉淀项目领域特有术语,不写通用编程词。
|
|
49
|
-
- 术语定义最多一到两句话。
|
|
50
|
-
- 同一概念多名、用户用词冲突、上下文边界不清时,必须调用 `../M-domain-modeling/M-domain-modeling.md` 确认。
|
|
51
|
-
- 当前代码或 ADR 反转术语含义时,更新或删除旧定义;不要保留双重定义。
|
|
52
|
-
|
|
53
|
-
## ADR
|
|
54
|
-
|
|
55
|
-
ADR 记录难以逆转、缺上下文会令人意外、存在真实权衡的决策。
|
|
56
|
-
|
|
57
|
-
- ADR 引用必须指向真实存在的 ADR 文件。
|
|
58
|
-
- ADR 被取代时,旧 ADR 顶部必须有 superseded 标注,并指向新 ADR。
|
|
59
|
-
- ADR 索引或 README(若项目存在)必须与实际文件、状态、取代链一致。
|
|
60
|
-
- 已被物理删除的 ADR 引用必须删除、改为新 ADR,或在 report 中标记为阻塞。
|
|
61
|
-
- 新 ADR 或取代链写入前,按 `../M-domain-modeling/ADR-FORMAT.md` 判断是否值得记录。
|
|
62
|
-
|
|
63
|
-
## 删除与 Prune
|
|
64
|
-
|
|
65
|
-
docs-sync 可以直接删除 tracked 文档中的过期段落;对 `.config` 文件级删除默认进入 `../../../skills/config-prune/SKILL.md` 审计候选。
|
|
66
|
-
|
|
67
|
-
可进入 prune 候选的典型情况:
|
|
68
|
-
|
|
69
|
-
- 被取代超过 30 天且无活跃引用的 ADR。
|
|
70
|
-
- 指向不存在 ADR 的索引行或正文引用。
|
|
71
|
-
- 空置占位文件或只含 TODO 的长期资产。
|
|
72
|
-
- CONTEXT 中已无代码、文档或归档证据支撑的术语。
|
|
73
|
-
- LESSONS 中重复或被 RULES/ADR 吸收的经验。
|
|
74
|
-
|
|
75
|
-
删除 `.config` 文件或 RULES 条目前必须有用户明确确认。
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Diff Collect Phase
|
|
2
|
-
|
|
3
|
-
## 输入
|
|
4
|
-
|
|
5
|
-
- `speculo/.speculo/dev/docs-sync-state.json`
|
|
6
|
-
- `LAST_SYNC_SHA`
|
|
7
|
-
- 当前 `HEAD`
|
|
8
|
-
- state 中的 `tracked_assets`
|
|
9
|
-
|
|
10
|
-
## 产物
|
|
11
|
-
|
|
12
|
-
- `speculo/.speculo/dev/<change>/docs-sync-report.md`,由 `../_templates/docs-sync-report-template.md` 填写或追加
|
|
13
|
-
|
|
14
|
-
## 填写引导
|
|
15
|
-
|
|
16
|
-
### Bootstrap Collect
|
|
17
|
-
|
|
18
|
-
若 State Read 设置了 `BOOTSTRAP_DOCS_INIT=true`:
|
|
19
|
-
|
|
20
|
-
1. 把同步范围记为 `<bootstrap>..HEAD`;不要对 `null` 运行 `git diff "$RANGE"`。
|
|
21
|
-
2. 盘点当前项目事实,至少收集:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
git rev-parse HEAD
|
|
25
|
-
git log --oneline --no-merges --max-count=50
|
|
26
|
-
git ls-files
|
|
27
|
-
git ls-files -- 'README*' 'CHANGELOG*' AGENTS.md CLAUDE.md docs speculo/.speculo/.config .github package.json pnpm-lock.yaml package-lock.json yarn.lock pyproject.toml Cargo.toml go.mod Makefile justfile
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
3. 按项目实际技术栈读取元数据和入口文件,例如 `package.json` scripts/bin/files、CLI/API 入口、测试目录、CI workflow、release 配置、LICENSE。
|
|
31
|
-
4. 对比现有文档,列出初始化动作:
|
|
32
|
-
- `add`:缺失但项目应具备的基础文档或章节。
|
|
33
|
-
- `update`:已有文档与当前项目事实不一致。
|
|
34
|
-
- `delete`:初始化时发现的空模板、旧事实或重复说明。
|
|
35
|
-
- `keep`:已有且准确的文档资产。
|
|
36
|
-
- `propose-only`:`RULES.md` 写入、`.config` 文件删除、不稳定术语或 ADR 候选。
|
|
37
|
-
5. `bootstrap` 不以 git diff 驱动,而以当前项目事实驱动;所有新增内容仍必须有真实文件、配置、命令或代码入口支撑。
|
|
38
|
-
|
|
39
|
-
### Regular Diff Collect
|
|
40
|
-
|
|
41
|
-
固定收集以下信息:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
RANGE="$LAST_SYNC_SHA..HEAD"
|
|
45
|
-
git log --oneline --no-merges "$RANGE"
|
|
46
|
-
git diff --name-status "$RANGE"
|
|
47
|
-
git diff --shortstat "$RANGE"
|
|
48
|
-
git diff --name-only "$RANGE" | awk -F/ '{print $1"/"$2}' | sort | uniq -c | sort -rn
|
|
49
|
-
git diff --name-status "$RANGE" -- speculo/.speculo/archive speculo/.speculo/.config
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
有疑问的具体改动再读取:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
git log -p "$RANGE" -- <specific-path>
|
|
56
|
-
git show <sha> -- <specific-file>
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
把变更按资产类型映射到 `tracked_assets`:
|
|
60
|
-
|
|
61
|
-
- 对外能力变化:README 类 + CHANGELOG
|
|
62
|
-
- 内部重构但行为未变:视情况写 CHANGELOG 或 AGENTS 类约定
|
|
63
|
-
- 依赖升级:CHANGELOG 聚合;安全 CVE 进 Security
|
|
64
|
-
- CI/CD 变化:CHANGELOG + AGENTS / CONTRIBUTING 的发布约定
|
|
65
|
-
- 文档自身:仅在对外可见时写 CHANGELOG 的文档类条目
|
|
66
|
-
- 测试 / 开发工具链:通常不进 CHANGELOG;AGENTS 的测试要求酌情更新
|
|
67
|
-
- 新增顶层目录 / 顶级文件:如 AGENTS 类存在仓库布局章节则必须同步
|
|
68
|
-
- `template/` 下 framework 资产变化:README 内置入口、quick reference、architecture、AGENTS 资产编辑规则、CHANGELOG
|
|
69
|
-
- `speculo/.speculo/.config/adr/` 变化:ADR README/索引、CONTEXT 相关术语、AGENTS/architecture 中的决策约束
|
|
70
|
-
- `speculo/.speculo/.config/context/` 变化:README/AGENTS 术语、PRD/architecture 中的通用语言
|
|
71
|
-
- `speculo/.speculo/.config/LESSONS.md` 变化:AGENTS 常见陷阱、workflow 规则、retro/diagnose 经验;低信号或重复项应建议删除
|
|
72
|
-
- `speculo/.speculo/.config/RULES.md` 变化:只审计和提出建议;写入必须等用户确认
|
|
73
|
-
- `speculo/.speculo/archive/` 变化:进入 `knowledge-extract.md`,从归档产物提取决策、经验、规则和文档漂移信号
|
|
74
|
-
|
|
75
|
-
## 边界
|
|
76
|
-
|
|
77
|
-
- 不把每个 commit 都写成文档条目。
|
|
78
|
-
- 常规同步不修改未列入 `tracked_assets` 的资产,除非先获得用户确认并更新 state;`bootstrap` 模式可把基础文档创建候选先纳入初始化 `tracked_assets`,再修改。
|
|
79
|
-
- 不因为某路径出现在 diff 中就自动扩写文档;必须判断旧内容是否仍然成立,是否应该删除或压缩。
|
|
80
|
-
- `bootstrap` 模式不虚构路线图、未实现能力或不存在的命令;无法从项目事实确认的内容进入 `propose-only` 或询问用户。
|
|
81
|
-
|
|
82
|
-
## 完成准则
|
|
83
|
-
|
|
84
|
-
- git 差异素材或 `bootstrap` 项目盘点已记录到 report
|
|
85
|
-
- 已列出要新增、删除、修改、保留的资产和理由,或判定空同步
|
|
86
|
-
- archive 与 `.config` 相关 diff 已移交后续阶段
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# State Write Phase
|
|
2
|
-
|
|
3
|
-
## 输入
|
|
4
|
-
|
|
5
|
-
- 更新后的 tracked assets
|
|
6
|
-
- `speculo/.speculo/dev/docs-sync-state.json`
|
|
7
|
-
- `speculo/.speculo/dev/<change>/docs-sync-report.md`
|
|
8
|
-
- 当前 `HEAD`
|
|
9
|
-
|
|
10
|
-
## 产物
|
|
11
|
-
|
|
12
|
-
- 更新后的 `speculo/.speculo/dev/docs-sync-state.json`
|
|
13
|
-
- 完整的 `speculo/.speculo/dev/<change>/docs-sync-report.md`
|
|
14
|
-
|
|
15
|
-
## 填写引导
|
|
16
|
-
|
|
17
|
-
1. 运行项目级校验;命令根据项目工具链决定。
|
|
18
|
-
2. 如果当前为 `bootstrap` 模式,验证通过后把推导出的 `tracked_assets`、本次创建/更新的 `synced_assets` 和当前 `HEAD` 一起写入 state,建立首次同步基线。
|
|
19
|
-
3. 如果所有差异都无需资产修改,仍把 `last_sync_sha` 推进到当前 `HEAD`,并把 `synced_assets` 置为 `[]`。
|
|
20
|
-
4. 如果修改了资产,验证通过后再推进 state。
|
|
21
|
-
5. 写回 state 时按 `state-json-schema.md` 字段顺序,2 空格缩进,尾部换行。
|
|
22
|
-
6. 原子化写入:先写 `speculo/.speculo/dev/docs-sync-state.json.tmp`,再 rename。
|
|
23
|
-
7. 按 report 模板向用户报告范围、归档来源、改动资产、新基线和验证命令。
|
|
24
|
-
8. 如果存在 `propose-only` 或 prune 候选,不因候选未执行阻塞基线推进;但必须在 report 中列出后续确认项。
|
|
25
|
-
|
|
26
|
-
## 边界
|
|
27
|
-
|
|
28
|
-
- 验证失败时不推进 `last_sync_sha`。
|
|
29
|
-
- `bootstrap` 模式没有成功创建或确认首批 `tracked_assets` 时不推进 `last_sync_sha`。
|
|
30
|
-
- 不把敏感信息、绝对路径或完整 diff 写入 state。
|
|
31
|
-
- 不把 archive 提取详情、用户确认原文或 prune 候选全文写入 state;这些只写 report。
|
|
32
|
-
|
|
33
|
-
## 完成准则
|
|
34
|
-
|
|
35
|
-
- state 已原子写入或明确记录阻塞原因
|
|
36
|
-
- report 已包含同步范围、读取归档、改动资产、`.config` 审计、验证结果
|
|
37
|
-
- `.status.json` 的 `docs_sync_status` 已更新
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# State Read Phase
|
|
2
|
-
|
|
3
|
-
## 输入
|
|
4
|
-
|
|
5
|
-
- `speculo/.speculo/dev/docs-sync-state.json`
|
|
6
|
-
- `git rev-parse HEAD`
|
|
7
|
-
- `../_templates/docs-sync-state-template.json`
|
|
8
|
-
- `state-json-schema.md`
|
|
9
|
-
|
|
10
|
-
## 产物
|
|
11
|
-
|
|
12
|
-
- `speculo/.speculo/dev/docs-sync-state.json`
|
|
13
|
-
- `speculo/.speculo/dev/<change>/docs-sync-report.md`
|
|
14
|
-
|
|
15
|
-
## 填写引导
|
|
16
|
-
|
|
17
|
-
1. 设置 `STATE_FILE="speculo/.speculo/dev/docs-sync-state.json"`。
|
|
18
|
-
2. 读取 `state-json-schema.md`,按 schema 校验 state;若文件不存在,复制 `../_templates/docs-sync-state-template.json` 为骨架,把 `state_path` 设为 `speculo/.speculo/dev/docs-sync-state.json`。
|
|
19
|
-
3. 若存在 v1 state(`schema_version: 1` 或含 `tracked_docs` / `synced_docs`),迁移为 v2:
|
|
20
|
-
- `tracked_assets = tracked_docs`
|
|
21
|
-
- `synced_assets = synced_docs`
|
|
22
|
-
- 保留所有 baseline 字段
|
|
23
|
-
- `schema_version = 2`
|
|
24
|
-
- 在 report 中记录迁移摘要
|
|
25
|
-
4. 读取 `last_sync_sha` 和当前 `HEAD`。
|
|
26
|
-
5. 若 `tracked_assets` 为空、`last_sync_sha` 为 `null` 或 state 文件刚由模板创建,设置 `BOOTSTRAP_DOCS_INIT=true`,把 `.status.json` 的 `docs_sync_status` 置为 `bootstrap`,本次默认执行从 0 到 1 的完整文档初始化。
|
|
27
|
-
6. `bootstrap` 模式下自动推导首批 `tracked_assets`,不因缺少用户确认而停止;候选至少包括:
|
|
28
|
-
- 基础文档:`README.md`、`CHANGELOG.md`、`AGENTS.md`,以及项目已存在或明显需要的 `CLAUDE.md` / `.github/copilot-instructions.md`。
|
|
29
|
-
- 文档目录:已存在的 `docs/**/*.md`;若项目有复杂架构、CLI/API、发布流程或接入说明但缺少承载文档,可把待创建的 `docs/*.md` 纳入初始化候选。
|
|
30
|
-
- Speculo 知识资产:实际存在的 `speculo/.speculo/.config/RULES.md`、`speculo/.speculo/.config/LESSONS.md`、`speculo/.speculo/.config/context/**/*.md`、`speculo/.speculo/.config/adr/**/*.md`。
|
|
31
|
-
7. `bootstrap` 模式的初始化目标是:基于当前项目真实文件、元数据、命令、入口、测试、CI 和发布配置,创建或补齐首批可维护文档,并把本次创建/更新的路径写入 report 与最终 state。
|
|
32
|
-
8. `RULES.md` 只审计和提出建议,写入需用户明确确认;`.config/context` 和 `.config/adr` 中不稳定、多语义或需要取舍的内容,先交由 `../M-domain-modeling/M-domain-modeling.md` 确认。
|
|
33
|
-
9. 若已存在有效 `tracked_assets` 且 `last_sync_sha == HEAD`,仍执行 archive 和 `.config` 审计;只有审计也无变化时才报告无需操作。
|
|
34
|
-
|
|
35
|
-
## 边界
|
|
36
|
-
|
|
37
|
-
- 不把 state 写到仓库根目录。
|
|
38
|
-
- 首次空 state 不等待用户确认 `tracked_assets`;必须自动进入 `bootstrap` 初始化,并在 report 中说明推导依据。
|
|
39
|
-
- 不因 v1 迁移自动扩大已有同步范围;只有迁移后 `tracked_assets` 为空或 `last_sync_sha` 为 `null` 时才进入 `bootstrap`。
|
|
40
|
-
- 不在 State Read 阶段直接推进 `last_sync_sha`;基线只在 Finish 阶段验证通过后写回。
|
|
41
|
-
- 不在未确认时写入 `RULES.md`、删除 `.config` 文件或固化存在语义争议的 CONTEXT / ADR。
|
|
42
|
-
|
|
43
|
-
## 完成准则
|
|
44
|
-
|
|
45
|
-
- 已确定是否进入 `bootstrap`、无需同步或继续进入 diff collect
|
|
46
|
-
- v1 state 已迁移为 v2,或已明确阻塞原因
|
|
47
|
-
- `.status.json` 的 `docs_sync_status` 已更新
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Asset Audit & Update Phase
|
|
2
|
-
|
|
3
|
-
## 输入
|
|
4
|
-
|
|
5
|
-
- `speculo/.speculo/dev/<change>/docs-sync-report.md`
|
|
6
|
-
- state 中的 `tracked_assets`
|
|
7
|
-
- git 差异素材
|
|
8
|
-
- archive 知识提取结果
|
|
9
|
-
- 按需读取的 contract 文件
|
|
10
|
-
|
|
11
|
-
## 产物
|
|
12
|
-
|
|
13
|
-
- 更新后的 tracked assets
|
|
14
|
-
- `speculo/.speculo/dev/<change>/docs-sync-report.md`
|
|
15
|
-
|
|
16
|
-
## 填写引导
|
|
17
|
-
|
|
18
|
-
1. 若当前为 `bootstrap` 模式,先把初始化候选写入 report 的 Mapping,再按候选更新最终 `tracked_assets`;缺失的基础文档可作为 `add` 创建。
|
|
19
|
-
2. 更新 README 类文档前读取 `readme-contract.md`。
|
|
20
|
-
3. 更新 AGENTS / AI 代理手册类文档前读取 `agents-contract.md`。
|
|
21
|
-
4. 更新 CHANGELOG 类文档前读取 `changelog-contract.md`。
|
|
22
|
-
5. 更新 `.config` 前读取 `config-contract.md`;涉及术语或 ADR 语义时读取 `../M-domain-modeling/M-domain-modeling.md`,按需读取其 `CONTEXT-FORMAT.md` / `ADR-FORMAT.md`。
|
|
23
|
-
6. 常规同步只做差量修改,保留既有结构、语气和字段;`bootstrap` 模式创建缺失文档时,可按 contract 生成完整初始骨架。
|
|
24
|
-
7. 每个候选改动都按 `add | update | delete | keep | propose-only` 标记,并写入 report;不允许只追加不审计。
|
|
25
|
-
8. 多语言镜像文档必须结构对等;代码实体不翻译。
|
|
26
|
-
9. CHANGELOG 顶部必须保留 `[Unreleased]`;首次创建 CHANGELOG 时使用 Keep a Changelog 骨架,并只记录当前已存在事实。
|
|
27
|
-
10. AGENTS 类的仓库布局小节必须反映实际顶层目录变化;首次创建 AGENTS 类文档时面向 AI 代理写工作手册,不写用户 Quick Start。
|
|
28
|
-
11. `RULES.md` 只写 report 建议;用户明确确认后才可修改文件。
|
|
29
|
-
12. `LESSONS.md` 只保留可复用、已验证、非重复的经验;空占位、重复项和只适用于单次任务的内容应删除或不写入。
|
|
30
|
-
13. ADR / CONTEXT 更新前先判断是否是领域语义变化;不稳定、多语义或存在冲突时,必须交由 `../M-domain-modeling/M-domain-modeling.md` 询问确认。
|
|
31
|
-
|
|
32
|
-
## 边界
|
|
33
|
-
|
|
34
|
-
- 常规同步不整页重写 README 或代理手册;`bootstrap` 模式只在文件缺失时创建完整初始文件,已有文件仍以审计和差量修订为主。
|
|
35
|
-
- 不添加没有对应代码来源的计划中能力。
|
|
36
|
-
- 不把 docs-sync state 放回 skill 或 workflow 目录。
|
|
37
|
-
- 不自动删除 `.config` 文件;删除候选进入 report 或交由 `../../../skills/config-prune/SKILL.md` 审计,执行删除需要用户确认。
|
|
38
|
-
- 不把归档产物正文大段复制到长期文档;只沉淀可复用结论,并保留路径引用。
|
|
39
|
-
|
|
40
|
-
## 完成准则
|
|
41
|
-
|
|
42
|
-
- 需要同步的 tracked assets 已完成差量修改、`bootstrap` 初始化创建或明确列为 propose-only
|
|
43
|
-
- `docs-sync-report.md` 记录每个资产的修改理由、生命周期动作和摘要
|
|
44
|
-
- `docs-sync-report.md` 无残留 `[TODO:]`
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# Knowledge Extract Phase
|
|
2
|
-
|
|
3
|
-
本阶段把 `speculo/.speculo/archive/` 中已完成 change 的高信号产物提取为长期知识候选。归档是证据来源,不是要复制进长期文档的正文仓库。
|
|
4
|
-
|
|
5
|
-
## 输入
|
|
6
|
-
|
|
7
|
-
- `LAST_SYNC_SHA..HEAD`
|
|
8
|
-
- `speculo/.speculo/archive/`
|
|
9
|
-
- `speculo/.speculo/dev/<change>/docs-sync-report.md`
|
|
10
|
-
- git diff 中与代码、文档、`.config` 或 archive 相关的路径
|
|
11
|
-
|
|
12
|
-
## 产物
|
|
13
|
-
|
|
14
|
-
- `docs-sync-report.md` 的 `Archive Sources` 与 `Knowledge Suggestions` 小节
|
|
15
|
-
|
|
16
|
-
## 归档扫描
|
|
17
|
-
|
|
18
|
-
固定先收集:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
RANGE="$LAST_SYNC_SHA..HEAD"
|
|
22
|
-
git diff --name-status "$RANGE" -- speculo/.speculo/archive
|
|
23
|
-
git diff --name-only "$RANGE" -- speculo/.speculo/archive
|
|
24
|
-
find speculo/.speculo/archive -maxdepth 4 -type f | sort
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
若项目没有 `speculo/.speculo/archive/`,记录缺失,不阻塞 docs-sync。
|
|
28
|
-
|
|
29
|
-
## 读取优先级
|
|
30
|
-
|
|
31
|
-
只深读相关归档,不批量复制全部历史。优先读取:
|
|
32
|
-
|
|
33
|
-
- 本次 range 中新增或变更的 archive 文件。
|
|
34
|
-
- 文件名为 `decision-log.md`、`domain-model-log.md`、`prd*.md`、`issues-slices.md`、`review-report.md`、`completion-summary.md`、`retro*.md`、`report.md` 的高信号产物。
|
|
35
|
-
- 与本次 diff 触及路径、术语、模块或 ADR 编号同名/同义的归档 change。
|
|
36
|
-
|
|
37
|
-
低信号产物(日志、快照、纯执行记录)只记录路径,不提取长期知识。
|
|
38
|
-
|
|
39
|
-
## 提取映射
|
|
40
|
-
|
|
41
|
-
| 归档信号 | 映射目标 |
|
|
42
|
-
|----------|----------|
|
|
43
|
-
| 已确认、难以逆转、有权衡的 `D-*` 决策 | ADR 候选或现有 ADR 更新 |
|
|
44
|
-
| 新术语、术语冲突、上下文边界变化 | CONTEXT 候选;不稳定时转 `../M-domain-modeling/M-domain-modeling.md` |
|
|
45
|
-
| 反复出现的约束、禁止项 | RULES 建议(propose-only) |
|
|
46
|
-
| 可复用踩坑、验证经验、工作流反模式 | LESSONS 新增/合并/删除候选 |
|
|
47
|
-
| 与当前实现不一致的旧说明 | tracked assets 或 `.config` 更新/删除候选 |
|
|
48
|
-
| 被取代、合并、放弃的方案 | ADR supersession 或 prune 候选 |
|
|
49
|
-
|
|
50
|
-
## 不确定性处理
|
|
51
|
-
|
|
52
|
-
以下情况不得直接写入 `.config`:
|
|
53
|
-
|
|
54
|
-
- 同一术语存在多种含义。
|
|
55
|
-
- 决策是否仍有效无法从代码或归档判断。
|
|
56
|
-
- 归档记录与当前代码相互矛盾。
|
|
57
|
-
- 候选规则会改变用户维护的 `RULES.md`。
|
|
58
|
-
|
|
59
|
-
处理方式:在 report 中列为 `propose-only`,并调用 `../M-domain-modeling/M-domain-modeling.md` 或等待用户确认。
|
|
60
|
-
|
|
61
|
-
## 完成准则
|
|
62
|
-
|
|
63
|
-
- 已列出读取过的 archive 路径。
|
|
64
|
-
- 每个知识候选都有来源路径和生命周期动作。
|
|
65
|
-
- 无证据或低信号内容未写入长期资产。
|
|
66
|
-
- 不确定项已标记为待确认或移交领域建模。
|