@miniidealab/openlogos 0.5.8 → 0.5.9
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/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +38 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/i18n.js +6 -6
- package/dist/i18n.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/code-implementor/SKILL.en.md +195 -0
- package/skills/code-implementor/SKILL.md +195 -0
- package/spec/agents-md.md +8 -2
- package/spec/test-results.md +1 -1
- package/spec/workflow.md +2 -2
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Locale } from '../i18n.js';
|
|
2
|
-
export type AiTool = '
|
|
2
|
+
export type AiTool = 'claude-code' | 'opencode' | 'cursor' | 'other';
|
|
3
3
|
type NameSource = 'argument' | 'package.json' | 'Cargo.toml' | 'pyproject.toml' | 'directory';
|
|
4
4
|
interface NameResult {
|
|
5
5
|
name: string;
|
|
@@ -7,7 +7,7 @@ interface NameResult {
|
|
|
7
7
|
}
|
|
8
8
|
export declare function readConfigName(root: string): NameResult | null;
|
|
9
9
|
export declare function detectProjectName(root: string): NameResult;
|
|
10
|
-
export declare const SKILL_NAMES: readonly ["project-init", "prd-writer", "product-designer", "architecture-designer", "scenario-architect", "api-designer", "db-designer", "test-writer", "test-orchestrator", "code-reviewer", "change-writer", "merge-executor"];
|
|
10
|
+
export declare const SKILL_NAMES: readonly ["project-init", "prd-writer", "product-designer", "architecture-designer", "scenario-architect", "api-designer", "db-designer", "test-writer", "test-orchestrator", "code-implementor", "code-reviewer", "change-writer", "merge-executor"];
|
|
11
11
|
export declare function findSkillsSource(): string | null;
|
|
12
12
|
export declare function findSpecSource(): string | null;
|
|
13
13
|
export declare function findOpenCodePluginTemplateSource(): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,YAAY,CAAC;AAExF,MAAM,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,YAAY,CAAC;AAExF,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,KAAK,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE9F,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+B9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAI1D;AAoFD,eAAO,MAAM,WAAW,uPAcd,CAAC;AAkBX,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAW9C;AAED,wBAAgB,gCAAgC,IAAI,MAAM,GAAG,IAAI,CAahE;AAuDD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6BzK;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAalE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,SAAqB,GAAG,MAAM,CAkE1F;AAYD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAa,EACrB,SAAS,GAAE,SAAqB,EAChC,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkC1C;AAuID,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,MAAM,CAgDjG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYvE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,SAAS,GAAE,SAAqB,GAAG,MAAM,CAoJtI;AAED,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,iBAwFvF"}
|
package/dist/commands/init.js
CHANGED
|
@@ -78,13 +78,13 @@ async function resolveProjectName(locale, root, explicitName) {
|
|
|
78
78
|
function detectAiToolFromEnv() {
|
|
79
79
|
if (process.env.CLAUDE_PLUGIN_ROOT || process.env.CLAUDE_CODE)
|
|
80
80
|
return 'claude-code';
|
|
81
|
-
return '
|
|
81
|
+
return 'claude-code';
|
|
82
82
|
}
|
|
83
83
|
async function chooseLocale() {
|
|
84
84
|
if (!isTTY()) {
|
|
85
85
|
console.error('Error: --locale is required in non-interactive mode.');
|
|
86
86
|
console.error('');
|
|
87
|
-
console.error('Usage: openlogos init --locale <en|zh> [--ai-tool <
|
|
87
|
+
console.error('Usage: openlogos init --locale <en|zh> [--ai-tool <claude-code|opencode|cursor|other>] [name]');
|
|
88
88
|
console.error('');
|
|
89
89
|
console.error('Ask the user to choose a language first:');
|
|
90
90
|
console.error(' --locale en English');
|
|
@@ -101,18 +101,18 @@ async function chooseAiTool(locale) {
|
|
|
101
101
|
if (!isTTY())
|
|
102
102
|
return detectAiToolFromEnv();
|
|
103
103
|
console.log(`\n${t(locale, 'init.aiToolHeader')}`);
|
|
104
|
-
console.log(t(locale, 'init.aiToolCursor'));
|
|
105
104
|
console.log(t(locale, 'init.aiToolClaudeCode'));
|
|
106
105
|
console.log(t(locale, 'init.aiToolOpenCode'));
|
|
106
|
+
console.log(t(locale, 'init.aiToolCursor'));
|
|
107
107
|
console.log(t(locale, 'init.aiToolOther') + '\n');
|
|
108
108
|
const answer = await askQuestion(t(locale, 'init.aiToolPrompt'));
|
|
109
109
|
if (answer === '2')
|
|
110
|
-
return 'claude-code';
|
|
111
|
-
if (answer === '3')
|
|
112
110
|
return 'opencode';
|
|
111
|
+
if (answer === '3')
|
|
112
|
+
return 'cursor';
|
|
113
113
|
if (answer === '4')
|
|
114
114
|
return 'other';
|
|
115
|
-
return '
|
|
115
|
+
return 'claude-code';
|
|
116
116
|
}
|
|
117
117
|
export const SKILL_NAMES = [
|
|
118
118
|
'project-init',
|
|
@@ -124,6 +124,7 @@ export const SKILL_NAMES = [
|
|
|
124
124
|
'db-designer',
|
|
125
125
|
'test-writer',
|
|
126
126
|
'test-orchestrator',
|
|
127
|
+
'code-implementor',
|
|
127
128
|
'code-reviewer',
|
|
128
129
|
'change-writer',
|
|
129
130
|
'merge-executor',
|
|
@@ -138,6 +139,7 @@ const SKILL_DESCRIPTIONS = {
|
|
|
138
139
|
'db-designer': { en: 'Database schema design', zh: '数据库 Schema 设计' },
|
|
139
140
|
'test-writer': { en: 'Unit test + scenario test case design (Step 3a, all projects)', zh: '单元测试 + 场景测试用例设计(Step 3a)' },
|
|
140
141
|
'test-orchestrator': { en: 'API orchestration test design (Step 3b, API projects only)', zh: 'API 编排测试设计(Step 3b,仅 API 项目)' },
|
|
142
|
+
'code-implementor': { en: 'Code and test code generation with spec fidelity (Step 4)', zh: '基于规格链的代码与测试代码生成(Step 4)' },
|
|
141
143
|
'code-reviewer': { en: 'Code review and compliance checking', zh: '代码审查与规范检查' },
|
|
142
144
|
'change-writer': { en: 'Change proposal writing and impact analysis', zh: '变更提案编写与影响分析' },
|
|
143
145
|
'merge-executor': { en: 'Delta merge execution via MERGE_PROMPT.md', zh: '通过 MERGE_PROMPT.md 执行 Delta 合并' },
|
|
@@ -403,7 +405,7 @@ function generatePhaseDetectionPlain(locale) {
|
|
|
403
405
|
- 场景存在但 \`logos/resources/api/\` 为空 → 建议 Phase 3 Step 2(api-designer + db-designer)
|
|
404
406
|
- API 存在但 \`logos/resources/test/\` 为空 → 建议 Phase 3 Step 3a(test-writer)
|
|
405
407
|
- 测试用例存在但 \`logos/resources/scenario/\` 为空 → 建议 Phase 3 Step 3b(test-orchestrator,仅 API 项目)
|
|
406
|
-
- 以上全部完成 → 建议 Phase 3 Step 4
|
|
408
|
+
- 以上全部完成 → 建议 Phase 3 Step 4(code-implementor)
|
|
407
409
|
- 代码已生成但 \`logos/resources/verify/\` 为空 → 建议 Phase 3 Step 5(运行测试后 \`openlogos verify\`)`;
|
|
408
410
|
}
|
|
409
411
|
return `Phase detection logic:
|
|
@@ -414,7 +416,7 @@ function generatePhaseDetectionPlain(locale) {
|
|
|
414
416
|
- scenarios exist but \`logos/resources/api/\` is empty → suggest Phase 3 Step 2 (api-designer + db-designer)
|
|
415
417
|
- API exists but \`logos/resources/test/\` is empty → suggest Phase 3 Step 3a (test-writer)
|
|
416
418
|
- test cases exist but \`logos/resources/scenario/\` is empty → suggest Phase 3 Step 3b (test-orchestrator, API projects only)
|
|
417
|
-
- All above exist → suggest Phase 3 Step 4 (code
|
|
419
|
+
- All above exist → suggest Phase 3 Step 4 (code-implementor)
|
|
418
420
|
- code generated but \`logos/resources/verify/\` is empty → suggest Phase 3 Step 5 (run tests then \`openlogos verify\`)`;
|
|
419
421
|
}
|
|
420
422
|
function generatePhaseDetectionWithSkills(locale) {
|
|
@@ -427,7 +429,7 @@ function generatePhaseDetectionWithSkills(locale) {
|
|
|
427
429
|
- 场景存在但 \`logos/resources/api/\` 为空 → Phase 3 Step 2 → **读取 \`${skillPath('api-designer')}\` 和 \`${skillPath('db-designer')}\` 并按其步骤执行**
|
|
428
430
|
- API 存在但 \`logos/resources/test/\` 为空 → Phase 3 Step 3a → **读取 \`${skillPath('test-writer')}\` 并按其步骤执行**
|
|
429
431
|
- 测试用例存在但 \`logos/resources/scenario/\` 为空 → Phase 3 Step 3b → **读取 \`${skillPath('test-orchestrator')}\` 并按其步骤执行**(仅 API 项目)
|
|
430
|
-
- 以上全部完成 → Phase 3 Step 4
|
|
432
|
+
- 以上全部完成 → Phase 3 Step 4 → **读取 \`${skillPath('code-implementor')}\` 并按其步骤执行**(完成后可用 \`${skillPath('code-reviewer')}\` 进行代码审查)
|
|
431
433
|
- 代码已生成但 \`logos/resources/verify/\` 为空 → Phase 3 Step 5(运行测试后 \`openlogos verify\`)`;
|
|
432
434
|
}
|
|
433
435
|
return `Phase detection logic (**when a phase is detected, you MUST read the corresponding Skill file and follow its steps**):
|
|
@@ -438,7 +440,7 @@ function generatePhaseDetectionWithSkills(locale) {
|
|
|
438
440
|
- scenarios exist but \`logos/resources/api/\` is empty → Phase 3 Step 2 → **read \`${skillPath('api-designer')}\` and \`${skillPath('db-designer')}\` and follow their steps**
|
|
439
441
|
- API exists but \`logos/resources/test/\` is empty → Phase 3 Step 3a → **read \`${skillPath('test-writer')}\` and follow its steps**
|
|
440
442
|
- test cases exist but \`logos/resources/scenario/\` is empty → Phase 3 Step 3b → **read \`${skillPath('test-orchestrator')}\` and follow its steps** (API projects only)
|
|
441
|
-
- All above exist → Phase 3 Step 4 (code
|
|
443
|
+
- All above exist → Phase 3 Step 4 → **read \`${skillPath('code-implementor')}\` and follow its steps** (after completion, use \`${skillPath('code-reviewer')}\` for code review)
|
|
442
444
|
- code generated but \`logos/resources/verify/\` is empty → Phase 3 Step 5 (run tests then \`openlogos verify\`)`;
|
|
443
445
|
}
|
|
444
446
|
function generateStep4ExecutionRules(locale) {
|
|
@@ -461,6 +463,30 @@ Step 4 分批执行提示词(可直接复用):
|
|
|
461
463
|
Ready-to-use prompt for Step 4 batch execution:
|
|
462
464
|
- \`Please execute Phase 3 Step 4 for this scope. If the task is large, split into batches, but each batch must deliver: (1) business code, (2) matching UT/ST test code, (3) OpenLogos reporter writing to logos/resources/verify/test-results.jsonl. Before outputting code, list the UT/ST IDs covered in this batch.\``;
|
|
463
465
|
}
|
|
466
|
+
function generateDocumentPostEditVerify(locale) {
|
|
467
|
+
if (locale === 'zh') {
|
|
468
|
+
return `## 文档修改后的验证(强制)
|
|
469
|
+
|
|
470
|
+
每次**写入或修改** Markdown / 文本类规格文档(例如 \`logos/resources/\`、\`logos/changes/\`、\`logos/spec/\` 或项目根 \`spec/\` 下的 \`.md\`,以及根目录 \`AGENTS.md\` / \`CLAUDE.md\`)后:
|
|
471
|
+
|
|
472
|
+
1. **必须**用当前环境可用的方式**从磁盘重新读取**本次修改涉及的片段(例如 Read 工具、或终端 \`sed\` / \`rg\`),向用户展示**文件中的实际原文**(可省略无关段落并标注 \`...\`)。
|
|
473
|
+
2. **禁止**仅以自然语言概括「已改为……」作为唯一交付物,而不附带可对照的原文佐证。
|
|
474
|
+
3. **例外**:纯 typo 或单字符标点修改时,至少读回**受影响的那一行**,或展示等价的 diff 片段。
|
|
475
|
+
|
|
476
|
+
**目的**:避免工具声称已保存、但实际未落盘或路径错误导致内容「丢失」而不自知。
|
|
477
|
+
`;
|
|
478
|
+
}
|
|
479
|
+
return `## Document Edit Verification (Required)
|
|
480
|
+
|
|
481
|
+
After every **write or modify** operation on Markdown / text specification files (e.g. \`.md\` under \`logos/resources/\`, \`logos/changes/\`, \`logos/spec/\` or project-root \`spec/\`, plus root \`AGENTS.md\` / \`CLAUDE.md\`):
|
|
482
|
+
|
|
483
|
+
1. You **MUST** re-read the affected span **from disk** using whatever means the environment provides (e.g. Read tool, or terminal \`sed\` / \`rg\`), and show the user the **actual file text** (you may omit unrelated parts with \`...\`).
|
|
484
|
+
2. You **MUST NOT** deliver only a prose summary like "it now says…" without verifiable on-disk excerpts.
|
|
485
|
+
3. **Exception**: for pure typos or single-character punctuation fixes, at minimum re-read and show **the affected line** or an equivalent diff hunk.
|
|
486
|
+
|
|
487
|
+
**Rationale**: avoid silent failures when the model believes the file was saved but the write did not land or the wrong path was used.
|
|
488
|
+
`;
|
|
489
|
+
}
|
|
464
490
|
const DIRECTORIES = [
|
|
465
491
|
'logos/resources/prd/1-product-requirements',
|
|
466
492
|
'logos/resources/prd/2-product-design/1-feature-specs',
|
|
@@ -584,6 +610,8 @@ When the user's request is vague or they ask "what should I do next":
|
|
|
584
610
|
${includeSkills ? generatePhaseDetectionWithSkills(locale) : generatePhaseDetectionPlain(locale)}
|
|
585
611
|
|
|
586
612
|
${generateStep4ExecutionRules(locale)}
|
|
613
|
+
|
|
614
|
+
${generateDocumentPostEditVerify(locale)}
|
|
587
615
|
`;
|
|
588
616
|
if (includeSkills) {
|
|
589
617
|
const skillAutoLoadInstr = locale === 'zh'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n.js
CHANGED
|
@@ -27,9 +27,9 @@ const messages = {
|
|
|
27
27
|
'init.namePrompt': 'Which name would you like to use? [1/2] (default: 1): ',
|
|
28
28
|
'init.langPrompt': 'Your choice [1/2] (default: 1): ',
|
|
29
29
|
'init.aiToolHeader': 'Choose AI coding tool / 选择 AI 编码工具:',
|
|
30
|
-
'init.
|
|
31
|
-
'init.
|
|
32
|
-
'init.
|
|
30
|
+
'init.aiToolClaudeCode': ' 1. Claude Code (default)',
|
|
31
|
+
'init.aiToolOpenCode': ' 2. OpenCode',
|
|
32
|
+
'init.aiToolCursor': ' 3. Cursor',
|
|
33
33
|
'init.aiToolOther': ' 4. Other',
|
|
34
34
|
'init.aiToolPrompt': 'Your choice [1/2/3/4] (default: 1): ',
|
|
35
35
|
'init.skillsDeployed': '{count} skills deployed to {target}',
|
|
@@ -129,9 +129,9 @@ const messages = {
|
|
|
129
129
|
'init.namePrompt': '使用哪个名称?[1/2](默认 1):',
|
|
130
130
|
'init.langPrompt': '请选择 [1/2](默认 1):',
|
|
131
131
|
'init.aiToolHeader': '选择 AI 编码工具:',
|
|
132
|
-
'init.
|
|
133
|
-
'init.
|
|
134
|
-
'init.
|
|
132
|
+
'init.aiToolClaudeCode': ' 1. Claude Code(默认)',
|
|
133
|
+
'init.aiToolOpenCode': ' 2. OpenCode',
|
|
134
|
+
'init.aiToolCursor': ' 3. Cursor',
|
|
135
135
|
'init.aiToolOther': ' 4. 其他',
|
|
136
136
|
'init.aiToolPrompt': '请选择 [1/2/3/4](默认: 1): ',
|
|
137
137
|
'init.skillsDeployed': '{count} 个 Skills 已部署到 {target}',
|
package/dist/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,QAAQ,GAA2C;IACvD,EAAE,EAAE;QACF,OAAO;QACP,eAAe,EAAE,8DAA8D;QAC/E,WAAW,EAAE,kCAAkC;QAC/C,YAAY,EAAE,gEAAgE;QAC9E,cAAc,EAAE,sIAAsI;QACtJ,YAAY,EAAE,+DAA+D;QAC7E,YAAY,EAAE,2DAA2D;QACzE,mBAAmB,EAAE,iCAAiC;QACtD,kBAAkB,EAAE,6BAA6B;QACjD,kBAAkB,EAAE,mCAAmC;QACvD,iBAAiB,EAAE,wDAAwD;QAC3E,iBAAiB,EAAE,kCAAkC;QACrD,mBAAmB,EAAE,qCAAqC;QAC1D,
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ Usage:
|
|
|
16
16
|
Commands:
|
|
17
17
|
init [name] Initialize a new OpenLogos project structure
|
|
18
18
|
--locale <en|zh> Set language (skip prompt)
|
|
19
|
-
--ai-tool <
|
|
19
|
+
--ai-tool <claude-code|opencode|cursor|other> Set AI tool (skip prompt)
|
|
20
20
|
sync Regenerate AI instruction files (AGENTS.md, CLAUDE.md)
|
|
21
21
|
status Show current project phase and suggest next steps
|
|
22
22
|
verify Verify test results against test case specs
|
package/package.json
CHANGED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Skill: Code Implementor
|
|
2
|
+
|
|
3
|
+
> Generate business code and test code based on the full specification chain (sequence diagrams, API YAML, DB DDL, test case specs). Ensure strict spec fidelity, embed OpenLogos reporter, and deliver closed-loop batches per scenario.
|
|
4
|
+
|
|
5
|
+
## Trigger Conditions
|
|
6
|
+
|
|
7
|
+
- User requests code implementation or code generation
|
|
8
|
+
- User mentions "Phase 3 Step 4", "code generation", "implement S01"
|
|
9
|
+
- Test case design is complete (`logos/resources/test/` is non-empty) and coding should begin
|
|
10
|
+
- User specifies a scenario number (e.g., S01) to implement
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
- `logos/resources/prd/3-technical-plan/2-scenario-implementation/` contains sequence diagrams (**required**)
|
|
15
|
+
- `logos/resources/api/` contains API specifications (read if present)
|
|
16
|
+
- `logos/resources/database/` contains DB DDL (read if present)
|
|
17
|
+
- `logos/resources/test/` contains test case specifications (**required**)
|
|
18
|
+
- `logos/logos-project.yaml` contains `tech_stack` (**required**)
|
|
19
|
+
|
|
20
|
+
If sequence diagrams or test case directories are empty, prompt the user to complete Phase 3 Step 1 (scenario-architect) and Step 3a (test-writer) first.
|
|
21
|
+
|
|
22
|
+
## Core Capabilities
|
|
23
|
+
|
|
24
|
+
1. Load full specification context to establish an implementation baseline
|
|
25
|
+
2. Plan batch execution strategy, splitting large tasks by scenario or module
|
|
26
|
+
3. Generate business code strictly consistent with API YAML (routes, status codes, error codes, fields)
|
|
27
|
+
4. Generate data access code strictly aligned with DB DDL (table names, column names, types, constraints)
|
|
28
|
+
5. Generate test code with IDs exactly matching test-cases.md
|
|
29
|
+
6. Embed OpenLogos reporter in test code (outputting to `test-results.jsonl`)
|
|
30
|
+
7. Self-check after each batch to ensure spec fidelity
|
|
31
|
+
|
|
32
|
+
## Relationship with test-writer and code-reviewer
|
|
33
|
+
|
|
34
|
+
This Skill sits in the middle of a three-Skill chain:
|
|
35
|
+
|
|
36
|
+
- **test-writer** (Step 3a): Designs test case **specification documents** (Markdown), defines UT/ST IDs — the "exam designer"
|
|
37
|
+
- **code-implementor** (Step 4, this Skill): Transforms all specs into **runnable business code and test code** — the "exam taker"
|
|
38
|
+
- **code-reviewer** (after Step 4): Audits generated business code against specs, outputs a review report — the "exam grader"
|
|
39
|
+
|
|
40
|
+
test-writer writes no code; code-implementor designs no test cases; code-reviewer modifies no code. Together they form a **Design → Execute → Review** closed loop.
|
|
41
|
+
|
|
42
|
+
## Execution Steps
|
|
43
|
+
|
|
44
|
+
### Step 1: Load Specification Context
|
|
45
|
+
|
|
46
|
+
**Before writing any line of code**, read the following documents to establish full context:
|
|
47
|
+
|
|
48
|
+
| Document | Path | Purpose |
|
|
49
|
+
|----------|------|---------|
|
|
50
|
+
| Architecture | `prd/3-technical-plan/1-architecture/` | Overall structure, framework, design patterns |
|
|
51
|
+
| Sequence diagrams | `prd/3-technical-plan/2-scenario-implementation/` | Implementation blueprint — Step sequence = code call chain |
|
|
52
|
+
| API specs | `logos/resources/api/*.yaml` | Endpoint contracts — routes, methods, status codes, fields |
|
|
53
|
+
| DB DDL | `logos/resources/database/*.sql` | Data layer contracts — table structures, constraints, indexes |
|
|
54
|
+
| Test case specs | `logos/resources/test/*-test-cases.md` | Verification targets — UT/ST IDs, expected inputs/outputs |
|
|
55
|
+
| Orchestration tests | `logos/resources/scenario/*.json` | End-to-end verification targets (API projects) |
|
|
56
|
+
| Project config | `logos/logos-project.yaml` | `tech_stack`, `external_dependencies` |
|
|
57
|
+
|
|
58
|
+
After loading, confirm:
|
|
59
|
+
- Which scenarios are in scope (S01, S02...)
|
|
60
|
+
- Which API endpoints and DB tables are involved
|
|
61
|
+
- Total UT/ST case count
|
|
62
|
+
- Technology stack confirmation (language, framework, test framework)
|
|
63
|
+
|
|
64
|
+
### Step 2: Plan Batch Strategy
|
|
65
|
+
|
|
66
|
+
**Large tasks must be batched, but each batch must be closed-loop.**
|
|
67
|
+
|
|
68
|
+
1. **Split dimension**: By scenario (S01, S02) or by module (auth, projects)
|
|
69
|
+
2. **Pre-batch declaration**: Before each batch, list the UT/ST case IDs covered, ensuring traceability to `logos/resources/test/*.md`
|
|
70
|
+
3. **Closed-loop requirement**: Each batch must deliver all three elements — business code + test code + reporter
|
|
71
|
+
4. **No deferred testing**: "Write all business code first, add tests later" is not allowed
|
|
72
|
+
|
|
73
|
+
Output format example:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## Batch Scope
|
|
77
|
+
|
|
78
|
+
- Scenario: S01 (User Registration)
|
|
79
|
+
- Endpoints: POST /api/auth/register, POST /api/auth/verify-email
|
|
80
|
+
- DB tables: users, profiles
|
|
81
|
+
- Covered cases: UT-S01-01 ~ UT-S01-08, ST-S01-01 ~ ST-S01-03
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Step 3: Generate Business Code
|
|
85
|
+
|
|
86
|
+
Implement business logic following the sequence diagram Step sequence, **strictly adhering to these spec fidelity rules**:
|
|
87
|
+
|
|
88
|
+
#### API Fidelity (mandatory)
|
|
89
|
+
|
|
90
|
+
| Rule | Description |
|
|
91
|
+
|------|-------------|
|
|
92
|
+
| Route paths | Code routes must exactly match API YAML `paths` |
|
|
93
|
+
| HTTP methods | GET/POST/PUT/DELETE must match |
|
|
94
|
+
| Request body fields | Code must read all `required` fields from YAML `requestBody.schema` |
|
|
95
|
+
| Field validation | `type`, `format` (email/uuid), `minLength` constraints must be validated in code |
|
|
96
|
+
| Response fields | Returned JSON field names and types must match YAML `responses.schema` |
|
|
97
|
+
| HTTP status codes | Normal and error status codes must match YAML definitions (don't return 200 when spec says 201) |
|
|
98
|
+
| Error response format | Must follow the unified `{ code, message, details? }` format |
|
|
99
|
+
|
|
100
|
+
#### DB Fidelity (mandatory)
|
|
101
|
+
|
|
102
|
+
| Rule | Description |
|
|
103
|
+
|------|-------------|
|
|
104
|
+
| Table and column names | Names referenced in code must match DDL exactly (no typos, no case mismatches) |
|
|
105
|
+
| Field types | Value types in code must match DDL definitions (e.g., cents not dollars for INTEGER amounts) |
|
|
106
|
+
| Constraint compliance | NOT NULL fields must always have values; UNIQUE fields must handle conflicts; CHECK enum values need corresponding constants |
|
|
107
|
+
| Transaction usage | Multi-table write operations must be wrapped in transactions |
|
|
108
|
+
| Parameterized queries | String-concatenated SQL is prohibited; use parameterized queries |
|
|
109
|
+
|
|
110
|
+
#### Exception Handling (mandatory)
|
|
111
|
+
|
|
112
|
+
- Every EX exception case in sequence diagrams must have a corresponding error handling branch in code
|
|
113
|
+
- External service calls (DB, third-party APIs) must have timeout and error handling
|
|
114
|
+
- Empty catch blocks (silently swallowed exceptions) are not allowed
|
|
115
|
+
- Multi-step write failures need compensation/rollback mechanisms
|
|
116
|
+
|
|
117
|
+
### Step 4: Generate Test Code
|
|
118
|
+
|
|
119
|
+
#### Test ID Contract
|
|
120
|
+
|
|
121
|
+
Test case IDs in code must **exactly match** those defined in `test-cases.md`:
|
|
122
|
+
|
|
123
|
+
- `UT-S01-01` must be used verbatim in test code — no renaming, abbreviating, or reordering
|
|
124
|
+
- These IDs are a cross-phase contract: test-cases.md → test code → test-results.jsonl → acceptance-report.md
|
|
125
|
+
|
|
126
|
+
#### OpenLogos Reporter Embedding
|
|
127
|
+
|
|
128
|
+
Every test file must embed the OpenLogos reporter, implemented per the template in `logos/spec/test-results.md`:
|
|
129
|
+
|
|
130
|
+
- Output path: `logos/resources/verify/test-results.jsonl`
|
|
131
|
+
- Format: JSONL (one JSON object per line)
|
|
132
|
+
- Each case outputs: `{ "id": "UT-S01-01", "status": "pass"|"fail"|"skip", ... }`
|
|
133
|
+
- First run truncates the file, subsequent writes append
|
|
134
|
+
- Ensure `logos/resources/verify/` directory exists before writing
|
|
135
|
+
|
|
136
|
+
Select the reporter template for the appropriate language (TypeScript/Python/Go, etc.) based on `tech_stack` (templates in `logos/spec/test-results.md`).
|
|
137
|
+
|
|
138
|
+
#### Test Code Structure
|
|
139
|
+
|
|
140
|
+
- Unit tests: Each UT case maps to an independent test function
|
|
141
|
+
- Scenario tests: Each ST case maps to an end-to-end flow test
|
|
142
|
+
- Test data: Each test prepares isolated test data and cleans up afterward, ensuring idempotency
|
|
143
|
+
|
|
144
|
+
### Step 5: Self-Check
|
|
145
|
+
|
|
146
|
+
After each batch, run through this checklist (a lightweight pre-check before code-reviewer):
|
|
147
|
+
|
|
148
|
+
- [ ] API route paths and HTTP methods match YAML
|
|
149
|
+
- [ ] HTTP status codes (normal + error) match YAML
|
|
150
|
+
- [ ] Error response format follows `{ code, message }` convention
|
|
151
|
+
- [ ] DB operations use correct table and column names from DDL
|
|
152
|
+
- [ ] Multi-table writes use transactions
|
|
153
|
+
- [ ] All pre-declared UT/ST IDs exist in test code
|
|
154
|
+
- [ ] Reporter is embedded with correct output path
|
|
155
|
+
- [ ] No hardcoded sensitive data (passwords, keys, test fixtures)
|
|
156
|
+
|
|
157
|
+
If any inconsistency is found, **fix it immediately before delivery** — don't wait for the code-reviewer phase.
|
|
158
|
+
|
|
159
|
+
### Step 6: Guide Next Steps
|
|
160
|
+
|
|
161
|
+
After each batch:
|
|
162
|
+
|
|
163
|
+
1. **Prompt to run tests**: Tell the user the test command (e.g., `npm test`, `pytest`)
|
|
164
|
+
2. **Prompt to check results**: Confirm `logos/resources/verify/test-results.jsonl` was generated
|
|
165
|
+
3. **After all batches complete**: Guide the user to run `openlogos verify` for Gate 3.5 acceptance
|
|
166
|
+
|
|
167
|
+
If the user wants a quality audit, suggest using the `code-reviewer` Skill.
|
|
168
|
+
|
|
169
|
+
## Output Specification
|
|
170
|
+
|
|
171
|
+
- **Business code**: Output to the project source tree (directory structure follows architecture design conventions)
|
|
172
|
+
- **Test code**: Output to the project test directory
|
|
173
|
+
- **Reporter**: Embedded in test code (not a standalone file)
|
|
174
|
+
- **JSONL results**: `logos/resources/verify/test-results.jsonl`
|
|
175
|
+
- This Skill does not produce files under `logos/resources/` (code goes to the project source tree; JSONL is produced at test runtime)
|
|
176
|
+
|
|
177
|
+
## Best Practices
|
|
178
|
+
|
|
179
|
+
- **Spec fidelity is the #1 priority**: Code must strictly match API YAML / DB DDL — most production bugs come from subtle inconsistencies between code and specs
|
|
180
|
+
- **Writing business code before test code within a batch is fine**, but both must be completed in the same batch — never split across batches
|
|
181
|
+
- **Don't forget the reporter**: This is the key to `openlogos verify` automated acceptance — no reporter means no automated verification
|
|
182
|
+
- **Don't invent test IDs**: IDs in test code must come from test-cases.md — never add new ones or rename existing ones
|
|
183
|
+
- **Don't skip exception handling**: Every EX case in the sequence diagram must have a corresponding code branch
|
|
184
|
+
- **Self-check is cheaper than rework**: A 5-minute Step 5 self-check can prevent 30 minutes of rework during code-reviewer
|
|
185
|
+
- **Batch granularity**: One scenario per batch is a good default; one API endpoint per batch is too granular
|
|
186
|
+
|
|
187
|
+
## Recommended Prompts
|
|
188
|
+
|
|
189
|
+
The following prompts can be copied directly for AI use:
|
|
190
|
+
|
|
191
|
+
- `Help me implement S01`
|
|
192
|
+
- `Generate business code and test code for S01 based on the specs`
|
|
193
|
+
- `Execute Phase 3 Step 4, batch by scenario`
|
|
194
|
+
- `Implement S01, ensuring consistency with API YAML and DB DDL`
|
|
195
|
+
- `Please execute Phase 3 Step 4 for S01. Deliver business code + test code + OpenLogos reporter in each batch.`
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Skill: Code Implementor
|
|
2
|
+
|
|
3
|
+
> 基于完整规格链(时序图、API YAML、DB DDL、测试用例规格)生成业务代码和测试代码。确保代码与规格严格一致,嵌入 OpenLogos reporter,按场景分批交付闭环产物。
|
|
4
|
+
|
|
5
|
+
## 触发条件
|
|
6
|
+
|
|
7
|
+
- 用户要求实现代码、生成代码或编写代码
|
|
8
|
+
- 用户提到 "Phase 3 Step 4"、"代码生成"、"帮我实现 S01"
|
|
9
|
+
- 测试用例设计已完成(`logos/resources/test/` 非空),需要开始编码
|
|
10
|
+
- 用户指定某个场景编号(如 S01)需要实现
|
|
11
|
+
|
|
12
|
+
## 前置依赖
|
|
13
|
+
|
|
14
|
+
- `logos/resources/prd/3-technical-plan/2-scenario-implementation/` 中包含场景时序图(**必需**)
|
|
15
|
+
- `logos/resources/api/` 中包含 API 规格(有则读取)
|
|
16
|
+
- `logos/resources/database/` 中包含 DB DDL(有则读取)
|
|
17
|
+
- `logos/resources/test/` 中包含测试用例规格(**必需**)
|
|
18
|
+
- `logos/logos-project.yaml` 中包含 `tech_stack`(**必需**)
|
|
19
|
+
|
|
20
|
+
如果时序图或测试用例目录为空,提示用户先完成 Phase 3 Step 1(scenario-architect)和 Step 3a(test-writer)。
|
|
21
|
+
|
|
22
|
+
## 核心能力
|
|
23
|
+
|
|
24
|
+
1. 加载完整规格上下文,建立实现基准
|
|
25
|
+
2. 规划分批策略,按场景或模块拆分大任务
|
|
26
|
+
3. 生成与 API YAML 严格一致的业务代码(路由、状态码、错误码、字段)
|
|
27
|
+
4. 生成与 DB DDL 严格对齐的数据访问代码(表名、列名、类型、约束)
|
|
28
|
+
5. 生成与 test-cases.md 中 ID 完全对齐的测试代码
|
|
29
|
+
6. 在测试代码中嵌入 OpenLogos reporter(输出到 `test-results.jsonl`)
|
|
30
|
+
7. 每批完成后执行自检,确保规格一致性
|
|
31
|
+
|
|
32
|
+
## 与 test-writer 和 code-reviewer 的关系
|
|
33
|
+
|
|
34
|
+
本 Skill 处于三者链条的中间位置:
|
|
35
|
+
|
|
36
|
+
- **test-writer**(Step 3a):设计测试用例**规格文档**(Markdown),定义 UT/ST ID——是"出卷人"
|
|
37
|
+
- **code-implementor**(Step 4,本 Skill):将所有规格转化为**可运行的业务代码和测试代码**——是"答卷人"
|
|
38
|
+
- **code-reviewer**(Step 4 之后):拿着规格**审计已生成的业务代码**,输出审查报告——是"阅卷人"
|
|
39
|
+
|
|
40
|
+
test-writer 不写代码;code-implementor 不设计用例;code-reviewer 不修改代码。三者形成 **设计 → 执行 → 审查** 闭环。
|
|
41
|
+
|
|
42
|
+
## 执行步骤
|
|
43
|
+
|
|
44
|
+
### Step 1: 加载规格上下文
|
|
45
|
+
|
|
46
|
+
**在写任何一行代码之前**,必须读取以下文档建立完整上下文:
|
|
47
|
+
|
|
48
|
+
| 文档 | 路径 | 用途 |
|
|
49
|
+
|------|------|------|
|
|
50
|
+
| 技术架构 | `prd/3-technical-plan/1-architecture/` | 整体结构、框架、设计模式 |
|
|
51
|
+
| 场景时序图 | `prd/3-technical-plan/2-scenario-implementation/` | 实现蓝图——Step 序列即代码调用链 |
|
|
52
|
+
| API 规格 | `logos/resources/api/*.yaml` | 端点契约——路由、方法、状态码、字段定义 |
|
|
53
|
+
| DB DDL | `logos/resources/database/*.sql` | 数据层契约——表结构、约束、索引 |
|
|
54
|
+
| 测试用例规格 | `logos/resources/test/*-test-cases.md` | 验证目标——UT/ST ID、预期输入输出 |
|
|
55
|
+
| 编排测试 | `logos/resources/scenario/*.json` | 端到端验证目标(API 项目) |
|
|
56
|
+
| 项目配置 | `logos/logos-project.yaml` | `tech_stack`、`external_dependencies` |
|
|
57
|
+
|
|
58
|
+
读取完成后,确认以下信息:
|
|
59
|
+
- 本次实现涉及哪些场景(S01、S02...)
|
|
60
|
+
- 涉及哪些 API 端点和 DB 表
|
|
61
|
+
- 对应的 UT/ST 用例总数
|
|
62
|
+
- 技术栈确认(语言、框架、测试框架)
|
|
63
|
+
|
|
64
|
+
### Step 2: 规划分批策略
|
|
65
|
+
|
|
66
|
+
**大任务必须拆批,但每批必须闭环。**
|
|
67
|
+
|
|
68
|
+
1. **拆分维度**:按场景(S01、S02)或按模块(auth、projects)拆分
|
|
69
|
+
2. **批前声明**:每批开始前,列出本批覆盖的 UT/ST case ID 清单,确保与 `logos/resources/test/*.md` 可追溯
|
|
70
|
+
3. **闭环要求**:每批必须同时交付三要素——业务代码 + 测试代码 + reporter
|
|
71
|
+
4. **不得延迟测试**:不允许"先写完所有业务代码,最后统一补测试"
|
|
72
|
+
|
|
73
|
+
输出格式示例:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## 本批次范围
|
|
77
|
+
|
|
78
|
+
- 场景:S01(用户注册)
|
|
79
|
+
- 端点:POST /api/auth/register, POST /api/auth/verify-email
|
|
80
|
+
- DB 表:users, profiles
|
|
81
|
+
- 覆盖用例:UT-S01-01 ~ UT-S01-08, ST-S01-01 ~ ST-S01-03
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Step 3: 生成业务代码
|
|
85
|
+
|
|
86
|
+
按时序图 Step 序列逐步实现业务逻辑,**严格遵守以下规格一致性规则**:
|
|
87
|
+
|
|
88
|
+
#### API 一致性(必须遵守)
|
|
89
|
+
|
|
90
|
+
| 规则 | 说明 |
|
|
91
|
+
|------|------|
|
|
92
|
+
| 路由路径 | 代码中的路由必须与 API YAML 的 `paths` 完全一致 |
|
|
93
|
+
| HTTP 方法 | GET/POST/PUT/DELETE 必须匹配 |
|
|
94
|
+
| 请求体字段 | 代码必须读取 YAML `requestBody.schema` 中定义的所有 `required` 字段 |
|
|
95
|
+
| 字段验证 | `type`、`format`(email/uuid)、`minLength` 等约束必须在代码中实现验证 |
|
|
96
|
+
| 响应字段 | 返回的 JSON 字段名和类型必须与 YAML `responses.schema` 一致 |
|
|
97
|
+
| HTTP 状态码 | 正常和错误情况的状态码必须与 YAML 定义一致(不能把 201 写成 200) |
|
|
98
|
+
| 错误响应格式 | 必须遵循统一的 `{ code, message, details? }` 格式 |
|
|
99
|
+
|
|
100
|
+
#### DB 一致性(必须遵守)
|
|
101
|
+
|
|
102
|
+
| 规则 | 说明 |
|
|
103
|
+
|------|------|
|
|
104
|
+
| 表名和列名 | 代码中引用的表名、列名必须与 DDL 一致(无拼写错误、大小写差异) |
|
|
105
|
+
| 字段类型 | 传入的值类型必须与 DDL 定义匹配(如金额字段用分而非元) |
|
|
106
|
+
| 约束遵守 | NOT NULL 字段必须有值;UNIQUE 字段必须处理冲突;CHECK 约束的枚举值需有对应常量 |
|
|
107
|
+
| 事务使用 | 多表写操作必须包裹在事务中 |
|
|
108
|
+
| 参数化查询 | 禁止字符串拼接 SQL,必须使用参数化查询 |
|
|
109
|
+
|
|
110
|
+
#### 异常处理(必须遵守)
|
|
111
|
+
|
|
112
|
+
- 时序图中的每个 EX 异常用例必须在代码中有对应的错误处理分支
|
|
113
|
+
- 外部服务调用(DB、第三方 API)必须有超时和错误处理
|
|
114
|
+
- 不允许空 catch 块(静默吞异常)
|
|
115
|
+
- 多步写入失败时需要有补偿/回滚机制
|
|
116
|
+
|
|
117
|
+
### Step 4: 生成测试代码
|
|
118
|
+
|
|
119
|
+
#### 测试 ID 契约
|
|
120
|
+
|
|
121
|
+
测试代码中的用例 ID 必须与 `test-cases.md` 中定义的 **完全一致**:
|
|
122
|
+
|
|
123
|
+
- `UT-S01-01` 在测试代码中必须原封不动使用,不允许改名、缩写或重排序
|
|
124
|
+
- 这些 ID 是跨阶段契约:test-cases.md → 测试代码 → test-results.jsonl → acceptance-report.md
|
|
125
|
+
|
|
126
|
+
#### OpenLogos Reporter 嵌入
|
|
127
|
+
|
|
128
|
+
每个测试文件必须嵌入 OpenLogos reporter,按照 `logos/spec/test-results.md` 中的模板实现:
|
|
129
|
+
|
|
130
|
+
- 输出路径:`logos/resources/verify/test-results.jsonl`
|
|
131
|
+
- 格式:JSONL(每行一个 JSON 对象)
|
|
132
|
+
- 每个用例输出:`{ "id": "UT-S01-01", "status": "pass"|"fail"|"skip", ... }`
|
|
133
|
+
- 首次运行 truncate 文件,后续 append
|
|
134
|
+
- 写入前确保 `logos/resources/verify/` 目录存在
|
|
135
|
+
|
|
136
|
+
根据 `tech_stack` 选择对应语言的 reporter 模板(TypeScript/Python/Go 等,模板见 `logos/spec/test-results.md`)。
|
|
137
|
+
|
|
138
|
+
#### 测试代码结构
|
|
139
|
+
|
|
140
|
+
- 单元测试:每个 UT 用例对应一个独立的测试函数
|
|
141
|
+
- 场景测试:每个 ST 用例对应一个端到端流程测试
|
|
142
|
+
- 测试数据:每个测试准备独立的测试数据,测试后清理,确保幂等性
|
|
143
|
+
|
|
144
|
+
### Step 5: 自检
|
|
145
|
+
|
|
146
|
+
每批代码完成后,执行以下自检(相当于 code-reviewer 的前置轻量版本):
|
|
147
|
+
|
|
148
|
+
- [ ] API 路由路径和 HTTP 方法与 YAML 一致
|
|
149
|
+
- [ ] HTTP 状态码(正常 + 异常)与 YAML 一致
|
|
150
|
+
- [ ] 错误响应格式遵循 `{ code, message }` 规范
|
|
151
|
+
- [ ] DB 操作的表名、列名与 DDL 一致
|
|
152
|
+
- [ ] 多表写操作已使用事务
|
|
153
|
+
- [ ] 批前声明的所有 UT/ST ID 在测试代码中都存在
|
|
154
|
+
- [ ] Reporter 已嵌入且输出路径正确
|
|
155
|
+
- [ ] 无硬编码敏感信息(密码、密钥、测试数据)
|
|
156
|
+
|
|
157
|
+
如果发现不一致,**立即修正后再交付**,不要等到 code-reviewer 阶段。
|
|
158
|
+
|
|
159
|
+
### Step 6: 引导下一步
|
|
160
|
+
|
|
161
|
+
每批完成后:
|
|
162
|
+
|
|
163
|
+
1. **提示运行测试**:告诉用户运行测试命令(如 `npm test`、`pytest`)
|
|
164
|
+
2. **提示检查结果**:确认 `logos/resources/verify/test-results.jsonl` 已生成
|
|
165
|
+
3. **所有批次完成后**:引导用户运行 `openlogos verify` 执行 Gate 3.5 验收
|
|
166
|
+
|
|
167
|
+
如果用户希望审查代码质量,引导使用 `code-reviewer` Skill。
|
|
168
|
+
|
|
169
|
+
## 输出规范
|
|
170
|
+
|
|
171
|
+
- **业务代码**:输出到项目源码树(目录结构遵循架构设计中的约定)
|
|
172
|
+
- **测试代码**:输出到项目测试目录
|
|
173
|
+
- **Reporter**:嵌入测试代码中(非独立文件)
|
|
174
|
+
- **JSONL 结果**:`logos/resources/verify/test-results.jsonl`
|
|
175
|
+
- 本 Skill 不在 `logos/resources/` 下产出文件(代码进入项目源码树,JSONL 由测试运行时产出)
|
|
176
|
+
|
|
177
|
+
## 实践经验
|
|
178
|
+
|
|
179
|
+
- **规格一致性是第一优先级**:代码必须与 API YAML / DB DDL 严格对齐——大部分生产 Bug 来自代码与规格的细微不一致
|
|
180
|
+
- **先写业务代码后写测试是允许的**,但必须在同一批次内完成,不允许拆到不同批次
|
|
181
|
+
- **Reporter 不要忘记**:这是 `openlogos verify` 能自动验收的关键——没有 reporter 就没有自动化验收
|
|
182
|
+
- **不要发明用例 ID**:测试代码中的 ID 必须来自 test-cases.md,不允许自行新增或改名
|
|
183
|
+
- **不要跳过异常处理**:时序图中标注的每个 EX 用例必须在代码中有对应分支
|
|
184
|
+
- **自检比返工便宜**:Step 5 的 5 分钟自检可以避免 code-reviewer 阶段 30 分钟的返工
|
|
185
|
+
- **分批粒度**:单批次不宜过大(一个场景是合适的粒度),也不宜过小(一个 API 端点太碎)
|
|
186
|
+
|
|
187
|
+
## 推荐提示词
|
|
188
|
+
|
|
189
|
+
以下提示词可以直接复制给 AI 使用:
|
|
190
|
+
|
|
191
|
+
- `帮我实现 S01 的代码`
|
|
192
|
+
- `基于规格文档帮我生成 S01 的业务代码和测试代码`
|
|
193
|
+
- `执行 Phase 3 Step 4,按场景分批实现`
|
|
194
|
+
- `帮我实现 S01,确保与 API YAML 和 DB DDL 一致`
|
|
195
|
+
- `Please execute Phase 3 Step 4 for S01. Deliver business code + test code + OpenLogos reporter in each batch.`
|
package/spec/agents-md.md
CHANGED
|
@@ -28,6 +28,9 @@ Read `logos/logos-project.yaml` first to understand the project resource index.
|
|
|
28
28
|
4. All code changes must have corresponding API orchestration tests
|
|
29
29
|
5. Use the Delta change workflow for iterations (see logos/changes/ directory)
|
|
30
30
|
|
|
31
|
+
## Document Edit Verification
|
|
32
|
+
[Fixed locale-specific paragraph — re-read from disk after Markdown/text spec edits]
|
|
33
|
+
|
|
31
34
|
## Interaction Guidelines
|
|
32
35
|
When the user's request is vague or they ask "what should I do next":
|
|
33
36
|
1. Scan `logos/resources/` to determine the current project phase
|
|
@@ -61,12 +64,12 @@ Ready-to-use prompt for Step 4 batch execution:
|
|
|
61
64
|
当 aiTool = "cursor" 时,列出 `.cursor/rules/` 下部署的 `.mdc` 文件:
|
|
62
65
|
- `skills/prd-writer` — `.cursor/rules/prd-writer.mdc`
|
|
63
66
|
- `skills/product-designer` — `.cursor/rules/product-designer.mdc`
|
|
64
|
-
- ...(共
|
|
67
|
+
- ...(共 13 项)
|
|
65
68
|
|
|
66
69
|
当 aiTool = "claude-code" 或 "other" 时,列出 `logos/skills/` 下部署的 `SKILL.md` 文件:
|
|
67
70
|
- `skills/prd-writer` — `logos/skills/prd-writer/SKILL.md`
|
|
68
71
|
- `skills/product-designer` — `logos/skills/product-designer/SKILL.md`
|
|
69
|
-
- ...(共
|
|
72
|
+
- ...(共 13 项)
|
|
70
73
|
|
|
71
74
|
当 aiTool = "opencode" 时:
|
|
72
75
|
- **兼容模式**:继续使用 `AGENTS.md` + `logos/skills/*/SKILL.md`
|
|
@@ -77,6 +80,8 @@ Ready-to-use prompt for Step 4 batch execution:
|
|
|
77
80
|
- When writing Markdown files that contain triple-backtick code blocks inside other code blocks, use 4-backtick fences (````) for the outer block
|
|
78
81
|
```
|
|
79
82
|
|
|
83
|
+
`createAgentsMd`(`cli/src/commands/init.ts`)在 **Interaction Guidelines** 与 **Active Skills**(若存在)之间插入 **Document Edit Verification** 固定段落:每次写入或修改 Markdown / 文本类规格后,须从磁盘读回修改片段并展示原文;禁止仅以概括性文字作为唯一交付;纯 typo 可仅展示受影响行或等价 diff。文案随 `locale`(`zh` / `en`)切换。
|
|
84
|
+
|
|
80
85
|
## 生成规则
|
|
81
86
|
|
|
82
87
|
### 数据来源
|
|
@@ -100,6 +105,7 @@ AGENTS.md 的内容从以下文件中自动提取:
|
|
|
100
105
|
4. All code changes must have corresponding API orchestration tests
|
|
101
106
|
5. Use the Delta change workflow for iterations
|
|
102
107
|
6. All generated test code must include an OpenLogos reporter (see spec/test-results.md)
|
|
108
|
+
7. After editing Markdown / text specs, re-read from disk and show excerpts to the user (see 「文档修改后的验证」生成段)
|
|
103
109
|
|
|
104
110
|
### 生成时机
|
|
105
111
|
|
package/spec/test-results.md
CHANGED
|
@@ -91,7 +91,7 @@ reporter 在写入前应确保 `logos/resources/verify/` 目录存在(`mkdir -
|
|
|
91
91
|
|
|
92
92
|
## AI 生成 reporter 代码模板
|
|
93
93
|
|
|
94
|
-
以下是各语言的 reporter 参考实现。AI 在 Phase 3 Step 4
|
|
94
|
+
以下是各语言的 reporter 参考实现。AI 在 Phase 3 Step 4(代码生成,由 `code-implementor` Skill 驱动)时,应根据项目的 `tech_stack` 选择对应语言的模板,嵌入到测试代码中。
|
|
95
95
|
|
|
96
96
|
### TypeScript (vitest / jest)
|
|
97
97
|
|
package/spec/workflow.md
CHANGED
|
@@ -224,9 +224,9 @@ Phase 2 在 Phase 1 场景的基础上增加交互细节:
|
|
|
224
224
|
|
|
225
225
|
**Gate 3.3b**:编排覆盖所有正常流程 + 核心异常流程。
|
|
226
226
|
|
|
227
|
-
### Step 4: AI 驱动代码生成 +
|
|
227
|
+
### Step 4: AI 驱动代码生成 + 测试代码(code-implementor Skill)
|
|
228
228
|
|
|
229
|
-
AI 面前已有完整上下文(原型 + 场景 + API + DB + 测试用例 +
|
|
229
|
+
AI 面前已有完整上下文(原型 + 场景 + API + DB + 测试用例 + 编排),此时生成的代码质量远高于直接写代码。按场景逐个生成、逐个验证。使用 `code-implementor` Skill 引导 AI 加载完整规格上下文、按场景分批实现、并确保代码与规格严格一致。
|
|
230
230
|
|
|
231
231
|
代码生成同时包括:
|
|
232
232
|
- **业务代码**:按时序图 Step 逐步实现
|