@elvis1513/auto-coding-skill 0.1.2 → 0.1.4
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 +112 -16
- package/cli/assets/skill/SKILL.md +35 -6
- package/cli/assets/skill/data/templates/ENGINEERING.md +46 -19
- package/cli/assets/skill/data/templates/bridges/CLAUDE.md +3 -1
- package/cli/assets/skill/data/templates/bridges/CODEX.md +3 -1
- package/cli/assets/skill/data/templates/docs/deployment/deploy-records/_TEMPLATE-DEPLOY-RECORD.md +9 -8
- package/cli/assets/skill/data/templates/docs/deployment/deploy-runbook.md +7 -7
- package/cli/assets/skill/data/templates/docs/reviews/_TEMPLATE-REVIEW.md +1 -1
- package/cli/assets/skill/data/templates/docs/tasks/summaries/_TEMPLATE-TASK-SUMMARY.md +5 -5
- package/cli/assets/skill/data/templates/docs/tasks/taskbook.md +4 -4
- package/cli/assets/skill/data/templates/docs/testing/regression-matrix.md +2 -2
- package/cli/assets/skill/scripts/ap.py +6 -6
- package/cli/assets/skill/scripts/core.py +3 -3
- package/cli/src/index.js +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -5,6 +5,9 @@ Framework-agnostic engineering workflow skill for:
|
|
|
5
5
|
- Claude Code
|
|
6
6
|
- Codex CLI
|
|
7
7
|
|
|
8
|
+
This skill is scoped to Claude/Codex workflows. During development, it should prefer already available MCP servers, installed skills, plugins, and app connectors for design, research, documentation, verification, and external system updates.
|
|
9
|
+
It should also prefer multi-agent execution whenever the work can be split into parallel subtasks safely.
|
|
10
|
+
|
|
8
11
|
## Install
|
|
9
12
|
|
|
10
13
|
```bash
|
|
@@ -22,8 +25,8 @@ npm install -g git+https://github.com/elvis1513/auto-coding-skill.git
|
|
|
22
25
|
1. Install skill into project:
|
|
23
26
|
|
|
24
27
|
```bash
|
|
25
|
-
autocoding init --ai
|
|
26
|
-
# or
|
|
28
|
+
autocoding init --ai all
|
|
29
|
+
# or: --ai codex / --ai claude
|
|
27
30
|
```
|
|
28
31
|
|
|
29
32
|
2. Initialize docs and local scripts:
|
|
@@ -36,13 +39,13 @@ python3 .claude/skills/auto-coding-skill/scripts/ap.py --repo . install
|
|
|
36
39
|
|
|
37
40
|
3. Fill only one file manually:
|
|
38
41
|
|
|
39
|
-
- `ENGINEERING.md` frontmatter
|
|
42
|
+
- `docs/ENGINEERING.md` frontmatter
|
|
40
43
|
|
|
41
|
-
This frontmatter is the only manual config source (commands +
|
|
44
|
+
This frontmatter is the only manual config source (commands + local Docker runtime + docs paths).
|
|
42
45
|
|
|
43
46
|
4. Start AI development by constraints:
|
|
44
47
|
|
|
45
|
-
- `ENGINEERING.md`
|
|
48
|
+
- `docs/ENGINEERING.md`
|
|
46
49
|
- `docs/tasks/taskbook.md`
|
|
47
50
|
- `docs/design/**`
|
|
48
51
|
- `docs/interfaces/**`
|
|
@@ -50,18 +53,88 @@ This frontmatter is the only manual config source (commands + deployment + docs
|
|
|
50
53
|
- `docs/bugs/bug-list.md`
|
|
51
54
|
- `docs/tasks/summaries/**`
|
|
52
55
|
|
|
56
|
+
5. Tool selection rule during execution:
|
|
57
|
+
|
|
58
|
+
- Prefer current MCP/skills/plugins/apps first.
|
|
59
|
+
- Fall back to shell/manual work only when those capabilities are unavailable or insufficient.
|
|
60
|
+
|
|
61
|
+
6. Collaboration rule during execution:
|
|
62
|
+
|
|
63
|
+
- Prefer multi-agent mode.
|
|
64
|
+
- Split research, design, implementation, validation, and documentation into parallel subtasks whenever the boundaries are clear.
|
|
65
|
+
- Keep one main agent responsible for integration and final gates.
|
|
66
|
+
|
|
53
67
|
## AGENTS.md Constraint Example
|
|
54
68
|
|
|
55
69
|
```md
|
|
56
70
|
## Mandatory Skill
|
|
57
71
|
- Always use `auto-coding-skill` for implementation tasks.
|
|
58
72
|
- Before any code change, read and obey:
|
|
59
|
-
1) ENGINEERING.md
|
|
73
|
+
1) docs/ENGINEERING.md
|
|
60
74
|
2) docs/tasks/taskbook.md
|
|
61
75
|
- Execute gates using `python3 scripts/autopipeline/ap.py`.
|
|
62
76
|
- If required docs are missing, create/update docs first, then code.
|
|
63
77
|
```
|
|
64
78
|
|
|
79
|
+
## Docs Structure and Recording Rules
|
|
80
|
+
|
|
81
|
+
### 1) docs/ENGINEERING.md
|
|
82
|
+
- Purpose: single source of project config + engineering gate rules.
|
|
83
|
+
- How to record:
|
|
84
|
+
- Fill YAML frontmatter once (project/commands/runtime/docs fields).
|
|
85
|
+
- Keep all local runtime info here only (compose file/service/container/image/health).
|
|
86
|
+
- Do not duplicate config in other docs.
|
|
87
|
+
|
|
88
|
+
### 2) docs/deployment/
|
|
89
|
+
- Files:
|
|
90
|
+
- `docs/deployment/deploy-runbook.md`: local Docker runtime procedure and validation checklist.
|
|
91
|
+
- `docs/deployment/deploy-records/<TASK_ID>-YYYYMMDD.md`: per-run local verification record.
|
|
92
|
+
- How to record:
|
|
93
|
+
- In runtime record, write compose file, service, container, image/tag, env file, docker status, smoke/regression evidence.
|
|
94
|
+
|
|
95
|
+
### 3) docs/design/
|
|
96
|
+
- Files:
|
|
97
|
+
- `docs/design/<TASK_ID>-<slug>.md` (from DD template).
|
|
98
|
+
- Purpose:
|
|
99
|
+
- Detailed design before coding (scope,方案、时序图、ER图、接口编排、测试策略、回滚).
|
|
100
|
+
- How to record:
|
|
101
|
+
- One task/subtask one DD file.
|
|
102
|
+
- Status changes: Draft -> Reviewed -> Approved.
|
|
103
|
+
|
|
104
|
+
### 4) docs/interfaces/
|
|
105
|
+
- Files:
|
|
106
|
+
- `docs/interfaces/api.md`: authoritative API documentation (current contract).
|
|
107
|
+
- `docs/interfaces/api-change-log.md`: append-only API changes per task.
|
|
108
|
+
- How to record:
|
|
109
|
+
- API changes must update both files in the same task.
|
|
110
|
+
- `api.md` records latest endpoint contract.
|
|
111
|
+
- `api-change-log.md` appends task-level delta (新增/修改/废弃/兼容策略/影响面).
|
|
112
|
+
|
|
113
|
+
### 5) docs/reviews/
|
|
114
|
+
- Files:
|
|
115
|
+
- `docs/reviews/<TASK_ID>-<timestamp>.md` (from review template).
|
|
116
|
+
- Purpose:
|
|
117
|
+
- Gate review evidence: static checks, code quality, test quality, risks.
|
|
118
|
+
- How to record:
|
|
119
|
+
- Record commands used (lint/typecheck from docs/ENGINEERING.md frontmatter) and conclusion (Pass/Blocked).
|
|
120
|
+
|
|
121
|
+
### 6) docs/tasks/
|
|
122
|
+
- Files:
|
|
123
|
+
- `docs/tasks/taskbook.md`: master task ledger (all tasks appended here).
|
|
124
|
+
- `docs/tasks/summaries/<TASK_ID>.md`: end-of-task summary artifact.
|
|
125
|
+
- How to record:
|
|
126
|
+
- `taskbook.md` stores task scope/acceptance/subtasks/evidence links.
|
|
127
|
+
- `summaries/<TASK_ID>.md` stores final objective result, change overview, gate evidence, risks, follow-ups.
|
|
128
|
+
|
|
129
|
+
### 7) docs/testing/
|
|
130
|
+
- Files:
|
|
131
|
+
- `docs/testing/regression-matrix.md`
|
|
132
|
+
- Purpose:
|
|
133
|
+
- Full regression matrix against the local runtime environment; must be 0 FAIL.
|
|
134
|
+
- How to record:
|
|
135
|
+
- Add/maintain rows by regression ID (R-xxx), area, steps/command, expected, status, evidence.
|
|
136
|
+
- If any FAIL exists, gate fails.
|
|
137
|
+
|
|
65
138
|
## Commands
|
|
66
139
|
|
|
67
140
|
```bash
|
|
@@ -69,15 +142,24 @@ pip install pyyaml requests
|
|
|
69
142
|
python3 scripts/autopipeline/ap.py run build
|
|
70
143
|
python3 scripts/autopipeline/ap.py run test
|
|
71
144
|
python3 scripts/autopipeline/ap.py run lint
|
|
145
|
+
python3 scripts/autopipeline/ap.py run smoke
|
|
146
|
+
python3 scripts/autopipeline/ap.py run regression
|
|
72
147
|
python3 scripts/autopipeline/ap.py verify-api-docs
|
|
73
148
|
python3 scripts/autopipeline/ap.py check-matrix
|
|
74
149
|
python3 scripts/autopipeline/ap.py gen-summary T0001-1
|
|
75
150
|
python3 scripts/autopipeline/ap.py commit-push T0001-1 --msg "T0001-1: <summary>" --require-matrix
|
|
76
151
|
```
|
|
77
152
|
|
|
78
|
-
##
|
|
153
|
+
## Publish (NPM)
|
|
154
|
+
|
|
155
|
+
1. Sync assets and basic check:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
npm run sync-assets
|
|
159
|
+
npm test
|
|
160
|
+
```
|
|
79
161
|
|
|
80
|
-
|
|
162
|
+
2. Bump version (required before every publish):
|
|
81
163
|
|
|
82
164
|
```bash
|
|
83
165
|
npm version patch
|
|
@@ -85,7 +167,9 @@ npm version patch
|
|
|
85
167
|
# or: npm version major
|
|
86
168
|
```
|
|
87
169
|
|
|
88
|
-
|
|
170
|
+
`npm version` will update `package.json` and create a git tag.
|
|
171
|
+
|
|
172
|
+
3. Login and run release check:
|
|
89
173
|
|
|
90
174
|
```bash
|
|
91
175
|
npm login
|
|
@@ -93,24 +177,36 @@ npm whoami
|
|
|
93
177
|
npm run release:check
|
|
94
178
|
```
|
|
95
179
|
|
|
96
|
-
|
|
180
|
+
4. Publish package:
|
|
97
181
|
|
|
98
182
|
```bash
|
|
183
|
+
npm publish --access public
|
|
184
|
+
# if your account requires 2FA OTP:
|
|
99
185
|
npm publish --access public --otp <6-digit-otp>
|
|
100
186
|
```
|
|
101
187
|
|
|
102
|
-
|
|
188
|
+
5. Verify and update clients:
|
|
103
189
|
|
|
104
190
|
```bash
|
|
105
191
|
npm view @elvis1513/auto-coding-skill version
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
5. Update installed clients:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
192
|
npm install -g @elvis1513/auto-coding-skill@latest
|
|
112
193
|
```
|
|
113
194
|
|
|
195
|
+
### Common Publish Errors
|
|
196
|
+
|
|
197
|
+
- `403 You cannot publish over the previously published versions`
|
|
198
|
+
- Cause: same version already exists.
|
|
199
|
+
- Fix: run `npm version patch` (or `minor`/`major`) then publish again.
|
|
200
|
+
- `403 Two-factor authentication ... is required to publish`
|
|
201
|
+
- Cause: publish requires 2FA.
|
|
202
|
+
- Fix: use `npm publish --access public --otp <6-digit-otp>`.
|
|
203
|
+
- `404 Not Found` when install
|
|
204
|
+
- Cause: package not published successfully, or scope/name mismatch.
|
|
205
|
+
- Fix: verify with `npm view @elvis1513/auto-coding-skill version` first.
|
|
206
|
+
- `Access token expired or revoked`
|
|
207
|
+
- Cause: npm auth token expired.
|
|
208
|
+
- Fix: run `npm login` again and retry publish/install.
|
|
209
|
+
|
|
114
210
|
## License
|
|
115
211
|
|
|
116
212
|
MIT
|
|
@@ -1,15 +1,43 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: auto-coding-skill
|
|
3
|
-
description: Use for strict project engineering workflow in Claude/Codex. Initialize docs, fill ENGINEERING.md frontmatter once, then execute design->implement->gates->summary->commit/push.
|
|
3
|
+
description: Use for strict project engineering workflow in Claude/Codex. Initialize docs, fill docs/ENGINEERING.md frontmatter once, then execute design->implement->local-docker-gates->summary->commit/push.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Auto Coding Skill (Claude + Codex)
|
|
7
7
|
|
|
8
|
+
This skill is a Claude/Codex-only engineering workflow. During design, research, implementation, verification, and delivery, prefer already available MCP servers, installed skills, plugins, and app connectors over ad-hoc manual work whenever they can complete the task reliably.
|
|
9
|
+
|
|
10
|
+
Default to multi-agent execution when the client supports it. Break work into independent design, research, implementation, validation, and documentation subtasks so Claude/Codex can run them in parallel whenever that reduces cycle time without weakening control of the main task.
|
|
11
|
+
|
|
8
12
|
## Supported clients
|
|
9
13
|
|
|
10
14
|
- Claude Code
|
|
11
15
|
- Codex CLI
|
|
12
16
|
|
|
17
|
+
## Tooling policy
|
|
18
|
+
|
|
19
|
+
Use available platform capabilities first:
|
|
20
|
+
|
|
21
|
+
1) Prefer installed MCP servers for design context, documentation lookup, browser automation, issue/docs systems, and deployment/runtime inspection.
|
|
22
|
+
2) Prefer already installed local skills when the task matches them.
|
|
23
|
+
3) Prefer supported plugins/apps/connectors when they provide authoritative project context or can write back records.
|
|
24
|
+
4) Fall back to manual shell/code workflows only when the above are unavailable, insufficient, or slower than direct execution.
|
|
25
|
+
|
|
26
|
+
Typical examples:
|
|
27
|
+
- Design/UI work: prefer Figma MCP and related design skills.
|
|
28
|
+
- Documentation/library lookup: prefer official docs and MCP-backed doc tools.
|
|
29
|
+
- Project management or knowledge base updates: prefer Linear/Notion connectors if available.
|
|
30
|
+
- Browser/runtime verification: prefer Playwright/browser tools if available.
|
|
31
|
+
|
|
32
|
+
## Collaboration policy
|
|
33
|
+
|
|
34
|
+
Prefer multi-agent mode across the workflow:
|
|
35
|
+
|
|
36
|
+
1) Split independent subtasks early when they can run in parallel.
|
|
37
|
+
2) Keep the main agent on the critical path: task framing, design decisions, integration, and final quality gates.
|
|
38
|
+
3) Use side agents for bounded work such as research, code slices, documentation updates, regression checks, or review passes.
|
|
39
|
+
4) Do not delegate a blocking architectural decision without keeping one agent responsible for final integration and correctness.
|
|
40
|
+
|
|
13
41
|
## Entry
|
|
14
42
|
|
|
15
43
|
1) Install skill files into target repo:
|
|
@@ -36,24 +64,25 @@ pip install pyyaml requests
|
|
|
36
64
|
|
|
37
65
|
Fill only:
|
|
38
66
|
|
|
39
|
-
- `ENGINEERING.md` frontmatter
|
|
67
|
+
- `docs/ENGINEERING.md` frontmatter
|
|
40
68
|
|
|
41
69
|
This contains all manual fields:
|
|
42
70
|
- `commands.*`
|
|
43
|
-
- `
|
|
71
|
+
- `runtime.*`
|
|
44
72
|
- `docs.*`
|
|
45
73
|
|
|
46
74
|
Do not duplicate config in other md/yaml files.
|
|
47
75
|
|
|
48
76
|
## Execution order
|
|
49
77
|
|
|
50
|
-
1) `ENGINEERING.md`
|
|
78
|
+
1) `docs/ENGINEERING.md`
|
|
51
79
|
2) `docs/tasks/taskbook.md`
|
|
52
80
|
3) `docs/design/**`
|
|
53
81
|
4) implementation
|
|
54
82
|
5) run gates via `python3 scripts/autopipeline/ap.py`
|
|
55
|
-
6)
|
|
56
|
-
7)
|
|
83
|
+
6) start and validate local Docker runtime
|
|
84
|
+
7) update API docs + regression matrix + bug list + summary
|
|
85
|
+
8) commit/push
|
|
57
86
|
|
|
58
87
|
## Commands
|
|
59
88
|
|
|
@@ -12,19 +12,16 @@ commands:
|
|
|
12
12
|
smoke: ""
|
|
13
13
|
regression: ""
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
systemd_dir: "/usr/lib/systemd/system"
|
|
22
|
-
remote_app_root: ""
|
|
23
|
-
remote_jar_path: ""
|
|
24
|
-
remote_config_dir: ""
|
|
25
|
-
remote_bin_dir: ""
|
|
15
|
+
runtime:
|
|
16
|
+
docker_compose_file: ""
|
|
17
|
+
docker_service: ""
|
|
18
|
+
container_name: ""
|
|
19
|
+
image: ""
|
|
20
|
+
app_port: ""
|
|
26
21
|
health_base_url: ""
|
|
27
22
|
health_path: ""
|
|
23
|
+
env_file: ""
|
|
24
|
+
startup_timeout_sec: 60
|
|
28
25
|
|
|
29
26
|
docs:
|
|
30
27
|
taskbook: "docs/tasks/taskbook.md"
|
|
@@ -37,12 +34,12 @@ docs:
|
|
|
37
34
|
summary_dir: "docs/tasks/summaries"
|
|
38
35
|
---
|
|
39
36
|
|
|
40
|
-
# ENGINEERING.md — AutoPipeline Gates (Source of Truth)
|
|
37
|
+
# docs/ENGINEERING.md — AutoPipeline Gates (Source of Truth)
|
|
41
38
|
|
|
42
39
|
目标:把一次任务固化为不可跳过的流水线:
|
|
43
40
|
读任务 → 写DD → 实现 → 本地测试通过 → 静态分析+Review落盘 → 更新API Markdown+接口变更清单 →
|
|
44
|
-
|
|
45
|
-
记录Bug并新增自动化回归 → 任务总结落盘 → commit → push
|
|
41
|
+
本地 Docker 启动验证 → 健康检查 → 按 API Markdown 对本地环境全量回归 + 回归矩阵 0 fail →
|
|
42
|
+
记录 Bug 并新增自动化回归 → 任务总结落盘 → commit → push
|
|
46
43
|
|
|
47
44
|
规则:任一步骤失败或缺产物,禁止进入下一步;未 push 视为任务未完成,禁止开始下一个任务/子任务。
|
|
48
45
|
|
|
@@ -50,14 +47,14 @@ docs:
|
|
|
50
47
|
|
|
51
48
|
## 0. 配置填写(必须)
|
|
52
49
|
|
|
53
|
-
|
|
50
|
+
先填写 `docs/ENGINEERING.md` frontmatter 中的所有空值(例如 Docker 文件、服务名、容器名、健康检查地址、命令)。
|
|
54
51
|
禁止在其他 md/yaml 重复维护这些配置。
|
|
55
52
|
|
|
56
53
|
---
|
|
57
54
|
|
|
58
55
|
## 1. 权威输入与冲突裁决(优先级)
|
|
59
56
|
|
|
60
|
-
1) ENGINEERING.md(本文件)
|
|
57
|
+
1) docs/ENGINEERING.md(本文件)
|
|
61
58
|
2) docs/tasks/taskbook.md
|
|
62
59
|
3) docs/design/**
|
|
63
60
|
4) docs/interfaces/api.md
|
|
@@ -70,6 +67,36 @@ docs:
|
|
|
70
67
|
|
|
71
68
|
---
|
|
72
69
|
|
|
70
|
+
## 1.5 工具使用策略(Claude / Codex 专属)
|
|
71
|
+
|
|
72
|
+
优先使用当前环境已安装、已授权、已可访问的工具能力:
|
|
73
|
+
|
|
74
|
+
1) MCP servers
|
|
75
|
+
2) 已安装 skills
|
|
76
|
+
3) plugins / apps / connectors
|
|
77
|
+
4) shell / 手工实现
|
|
78
|
+
|
|
79
|
+
规则:
|
|
80
|
+
- 做设计、查资料、看文档、看页面、查知识库、写回外部系统时,优先调用现有 MCP / skills / plugins / apps。
|
|
81
|
+
- 能用权威工具直接完成时,不重复手写中间数据。
|
|
82
|
+
- 工具不可用、无权限、结果不可靠时,才回退到本地命令或手工处理。
|
|
83
|
+
- 选择工具时优先“已安装且当前项目可直接使用”的能力,而不是重新造流程。
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 1.6 多 Agent 协作策略(Claude / Codex 专属)
|
|
88
|
+
|
|
89
|
+
整个流程尽可能使用多 agent 模式并行推进。
|
|
90
|
+
|
|
91
|
+
规则:
|
|
92
|
+
- 任务开始后,优先拆分为可并行的子任务:设计补充、资料检索、实现分块、测试验证、文档回写、review。
|
|
93
|
+
- 主 agent 负责关键路径:任务定义、方案裁决、代码集成、质量门禁、最终交付。
|
|
94
|
+
- 子 agent 负责边界清晰、可独立推进的工作,完成后回收结果给主 agent 集成。
|
|
95
|
+
- 如果某项工作会直接阻塞主路径且难以独立定义,不要机械拆分;由主 agent 保持控制。
|
|
96
|
+
- 能并行就不要串行;能拆独立 write scope 就不要让多个 agent 写同一块内容。
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
73
100
|
## 2. Gate 流水线(强制、不可跳过)
|
|
74
101
|
|
|
75
102
|
Gate-1 读任务:只从 taskbook 取范围与验收;缺信息先补 taskbook
|
|
@@ -78,9 +105,9 @@ Gate-3 实现:严格按DD;接口变更必须同步 API Markdown
|
|
|
78
105
|
Gate-4 本地CI:必须通过(commands.build / commands.test)
|
|
79
106
|
Gate-5 静态分析+Review:静态分析通过;docs/reviews/ 生成记录
|
|
80
107
|
Gate-6 文档:更新 api.md + 追加 api-change-log.md
|
|
81
|
-
Gate-7
|
|
82
|
-
Gate-8
|
|
83
|
-
Gate-9 全量回归:按 API Markdown
|
|
108
|
+
Gate-7 本地运行:必须在本地 Docker 环境启动目标服务;失败先修复再继续
|
|
109
|
+
Gate-8 健康检查:本地容器启动后必须健康检查通过
|
|
110
|
+
Gate-9 全量回归:按 API Markdown 对本地环境全量回归;回归矩阵全量 PASS(0 fail);发现问题必须写 bug-list 并新增自动化回归用例
|
|
84
111
|
Gate-10 任务总结:必须生成 docs/tasks/summaries/<TASK_ID>.md
|
|
85
112
|
Gate-11 完成:全门禁通过后必须 commit+push
|
|
86
113
|
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
Follow ENGINEERING.md strictly. Source of truth: ENGINEERING.md.
|
|
1
|
+
Follow docs/ENGINEERING.md strictly. Source of truth: docs/ENGINEERING.md.
|
|
2
|
+
Prefer already available MCP servers, installed skills, plugins, and app connectors during design, research, verification, and documentation workflows.
|
|
3
|
+
Prefer multi-agent mode whenever the task can be split into independent parallel subtasks without weakening integration control.
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
Follow ENGINEERING.md strictly. Source of truth: ENGINEERING.md.
|
|
1
|
+
Follow docs/ENGINEERING.md strictly. Source of truth: docs/ENGINEERING.md.
|
|
2
|
+
Prefer already available MCP servers, installed skills, plugins, and app connectors during design, research, verification, and documentation workflows.
|
|
3
|
+
Prefer multi-agent mode whenever the task can be split into independent parallel subtasks without weakening integration control.
|
package/cli/assets/skill/data/templates/docs/deployment/deploy-records/_TEMPLATE-DEPLOY-RECORD.md
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Local Runtime Record — <Task ID> — YYYY-MM-DD
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
-
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
3
|
+
- Docker compose file:
|
|
4
|
+
- Docker service:
|
|
5
|
+
- Container name:
|
|
6
|
+
- Image/tag:
|
|
7
|
+
- Exposed port:
|
|
8
|
+
- Env file:
|
|
9
9
|
|
|
10
10
|
## Evidence
|
|
11
|
-
-
|
|
11
|
+
- docker ps / compose ps:
|
|
12
12
|
- smoke_test:
|
|
13
13
|
- api_regression:
|
|
14
|
+
- health_check:
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Local Runtime Runbook(本地 Docker 验证)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
-
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
3
|
+
运行参数统一读取:`docs/ENGINEERING.md` frontmatter
|
|
4
|
+
- runtime.docker_compose_file / runtime.docker_service
|
|
5
|
+
- runtime.container_name / runtime.image / runtime.app_port
|
|
6
|
+
- runtime.health_base_url / runtime.health_path
|
|
7
|
+
- runtime.env_file / runtime.startup_timeout_sec
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
本地 Docker 启动后必须:
|
|
10
10
|
- smoke-test
|
|
11
11
|
- api-regression
|
|
12
12
|
- 回归矩阵全量 PASS(0 fail)
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
- 目标:
|
|
12
12
|
- 验收结论:PASS / FAIL(FAIL 必须说明原因与后续计划)
|
|
13
13
|
|
|
14
|
-
## 2.
|
|
14
|
+
## 2. 变更概览(代码/配置/本地运行)
|
|
15
15
|
- 关键改动点:
|
|
16
16
|
- 影响模块:
|
|
17
17
|
- 兼容性影响(是否破坏兼容、迁移方案):
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
- 回滚方式:
|
|
29
29
|
|
|
30
30
|
## 5. 质量门禁证据(必须可追溯)
|
|
31
|
-
- 项目配置:`ENGINEERING.md`(frontmatter)
|
|
31
|
+
- 项目配置:`docs/ENGINEERING.md`(frontmatter)
|
|
32
32
|
- 本地CI:`ci-local`
|
|
33
33
|
- 静态分析:`static`
|
|
34
34
|
- Review 文档:`docs/reviews/<TASK_ID>-<timestamp>.md`
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
- 新增/确认的 Bug(写入 `docs/bugs/bug-list.md`):
|
|
40
40
|
- 新增自动化回归用例(引用回归矩阵ID):
|
|
41
41
|
|
|
42
|
-
## 7.
|
|
43
|
-
-
|
|
44
|
-
-
|
|
42
|
+
## 7. 本地运行记录(如有)
|
|
43
|
+
- 本地运行记录:`docs/deployment/deploy-records/<TASK_ID>-YYYYMMDD.md`
|
|
44
|
+
- Docker compose/service/image/env 变更(若有):
|
|
45
45
|
|
|
46
46
|
## 8. 风险与回滚
|
|
47
47
|
- 风险:
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
规则:
|
|
4
4
|
1) 所有任务都写在本文件(持续续写,不另起任务文件)
|
|
5
|
-
2) 允许拆子任务:每个子任务也必须走全流程(DD→实现→测试→review
|
|
5
|
+
2) 允许拆子任务:每个子任务也必须走全流程(DD→实现→测试→review→接口文档→本地 Docker 验证→回归→总结→commit→push)
|
|
6
6
|
3) 每个任务必须有明确验收与证据(日志/报告/文件路径)
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
## Task T0001 — <Title>
|
|
11
|
-
- 状态:Planned | Designing | Implementing | Testing | Reviewing |
|
|
11
|
+
- 状态:Planned | Designing | Implementing | Testing | Reviewing | Runtime Verifying | Done
|
|
12
12
|
- 范围(In scope):
|
|
13
13
|
- 非目标(Out of scope):
|
|
14
14
|
- 验收标准(必须可执行):
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
- [ ] T0001-2 <subtask>
|
|
19
19
|
|
|
20
20
|
### 证据(完成后填写)
|
|
21
|
-
- 项目配置:`ENGINEERING.md`(frontmatter)
|
|
21
|
+
- 项目配置:`docs/ENGINEERING.md`(frontmatter)
|
|
22
22
|
- DD:`docs/design/T0001-<slug>.md`
|
|
23
23
|
- Review:`docs/reviews/T0001-YYYYMMDD-HHMM.md`
|
|
24
24
|
- API 文档:`docs/interfaces/api.md`
|
|
25
25
|
- API Change Log:`docs/interfaces/api-change-log.md`
|
|
26
26
|
- 本地CI:粘贴摘要或给出文件路径
|
|
27
|
-
-
|
|
27
|
+
- 本地运行记录:`docs/deployment/deploy-records/T0001-YYYYMMDD.md`
|
|
28
28
|
- 回归矩阵:`docs/testing/regression-matrix.md`(全量PASS)
|
|
29
29
|
- Bug清单(如有):`docs/bugs/bug-list.md`
|
|
30
30
|
- 任务总结(强制):`docs/tasks/summaries/T0001.md`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Regression Matrix
|
|
1
|
+
# Regression Matrix(本地环境回归矩阵:必须全量 PASS,0 fail)
|
|
2
2
|
|
|
3
3
|
| ID | Area | Endpoint/Feature | Test Type | Steps / Command | Expected | Status(PASS/FAIL) | Evidence |
|
|
4
4
|
|---|---|---|---|---|---|---|---|
|
|
5
|
-
| R-001 | API | GET /health | smoke | commands.smoke | 200 OK | PASS | <paste log path> |
|
|
5
|
+
| R-001 | API | GET /health | smoke | commands.smoke | local 200 OK | PASS | <paste log path> |
|
|
@@ -21,7 +21,7 @@ def cmd_install(args: argparse.Namespace) -> None:
|
|
|
21
21
|
templates = _skill_root() / "data" / "templates"
|
|
22
22
|
|
|
23
23
|
copy_tree(templates / "docs", repo / "docs")
|
|
24
|
-
copy_tree(templates / "ENGINEERING.md", repo / "ENGINEERING.md")
|
|
24
|
+
copy_tree(templates / "ENGINEERING.md", repo / "docs" / "ENGINEERING.md")
|
|
25
25
|
|
|
26
26
|
if args.bridges:
|
|
27
27
|
copy_tree(templates / "bridges", repo)
|
|
@@ -32,7 +32,7 @@ def cmd_install(args: argparse.Namespace) -> None:
|
|
|
32
32
|
copy_tree(Path(__file__).resolve().parent / "core.py", scripts_dir / "core.py")
|
|
33
33
|
|
|
34
34
|
gi = repo / ".gitignore"
|
|
35
|
-
secret_line = "ENGINEERING.md"
|
|
35
|
+
secret_line = "docs/ENGINEERING.md"
|
|
36
36
|
if gi.exists():
|
|
37
37
|
txt = gi.read_text(encoding="utf-8")
|
|
38
38
|
if secret_line not in txt:
|
|
@@ -41,7 +41,7 @@ def cmd_install(args: argparse.Namespace) -> None:
|
|
|
41
41
|
gi.write_text(secret_line + "\n", encoding="utf-8")
|
|
42
42
|
|
|
43
43
|
print(f"[install] OK: scaffold installed into {repo}")
|
|
44
|
-
print("[install] Next: edit ENGINEERING.md frontmatter and fill all project/env fields")
|
|
44
|
+
print("[install] Next: edit docs/ENGINEERING.md frontmatter and fill all project/env fields")
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
def _infer_title(taskbook: Path, task_id: str) -> str:
|
|
@@ -92,7 +92,7 @@ def cmd_gen_summary(args: argparse.Namespace) -> None:
|
|
|
92
92
|
- 目标:TODO
|
|
93
93
|
- 验收结论:PASS / FAIL — TODO
|
|
94
94
|
|
|
95
|
-
## 2.
|
|
95
|
+
## 2. 变更概览(代码/配置/本地运行)
|
|
96
96
|
### Git change snapshot
|
|
97
97
|
- Staged files:
|
|
98
98
|
{('- ' + staged.replace('\n','\n- ')) if staged else '- (none)'}
|
|
@@ -164,7 +164,7 @@ def cmd_run(args: argparse.Namespace) -> None:
|
|
|
164
164
|
"""
|
|
165
165
|
Run a configured gate command:
|
|
166
166
|
build | test | lint | typecheck | format | smoke | regression
|
|
167
|
-
Commands are read from ENGINEERING.md frontmatter.
|
|
167
|
+
Commands are read from docs/ENGINEERING.md frontmatter.
|
|
168
168
|
"""
|
|
169
169
|
repo = Path(args.repo).resolve()
|
|
170
170
|
cfg = _load_cfg(repo)
|
|
@@ -173,7 +173,7 @@ def cmd_run(args: argparse.Namespace) -> None:
|
|
|
173
173
|
if name not in commands:
|
|
174
174
|
raise APError(
|
|
175
175
|
f"Command not configured: commands.{name}. "
|
|
176
|
-
"Edit ENGINEERING.md frontmatter. "
|
|
176
|
+
"Edit docs/ENGINEERING.md frontmatter. "
|
|
177
177
|
f"Available: {', '.join(commands.keys()) or '(none)'}"
|
|
178
178
|
)
|
|
179
179
|
cmd = str(commands[name])
|
|
@@ -97,14 +97,14 @@ def http_get_status(url: str, timeout_s: int = 5) -> int:
|
|
|
97
97
|
def find_config(repo: Path) -> Path:
|
|
98
98
|
"""Find single source project config file."""
|
|
99
99
|
candidates = [
|
|
100
|
-
repo / "ENGINEERING.md",
|
|
100
|
+
repo / "docs" / "ENGINEERING.md",
|
|
101
101
|
]
|
|
102
102
|
for c in candidates:
|
|
103
103
|
if c.exists():
|
|
104
104
|
return c
|
|
105
105
|
raise APError(
|
|
106
|
-
"Project config not found. Create ENGINEERING.md "
|
|
107
|
-
"and put commands +
|
|
106
|
+
"Project config not found. Create docs/ENGINEERING.md "
|
|
107
|
+
"and put commands + runtime fields in YAML frontmatter."
|
|
108
108
|
)
|
|
109
109
|
|
|
110
110
|
|
package/cli/src/index.js
CHANGED
|
@@ -64,7 +64,7 @@ function resolveTargetDir(ai, mode, destOverride){
|
|
|
64
64
|
|
|
65
65
|
function ensureGitignore(projectDir){
|
|
66
66
|
const gi = path.join(projectDir, ".gitignore");
|
|
67
|
-
const line = "ENGINEERING.md";
|
|
67
|
+
const line = "docs/ENGINEERING.md";
|
|
68
68
|
if (!exists(gi)) {
|
|
69
69
|
fs.writeFileSync(gi, `${line}\n`, "utf-8");
|
|
70
70
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elvis1513/auto-coding-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "CLI installer for auto-coding-skill (Claude Code + Codex CLI).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"engineering",
|
|
30
30
|
"workflow",
|
|
31
31
|
"ci",
|
|
32
|
-
"
|
|
32
|
+
"docker",
|
|
33
|
+
"local-testing"
|
|
33
34
|
],
|
|
34
35
|
"repository": {
|
|
35
36
|
"type": "git",
|