@miniidealab/openlogos 0.3.0 → 0.3.2
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 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +112 -8
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/sync.js +1 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/api-designer/SKILL.en.md +209 -0
- package/skills/architecture-designer/SKILL.en.md +181 -0
- package/skills/change-writer/SKILL.en.md +146 -0
- package/skills/code-reviewer/SKILL.en.md +204 -0
- package/skills/db-designer/SKILL.en.md +212 -0
- package/skills/merge-executor/SKILL.en.md +84 -0
- package/skills/prd-writer/SKILL.en.md +171 -0
- package/skills/product-designer/SKILL.en.md +228 -0
- package/skills/project-init/SKILL.en.md +163 -0
- package/skills/scenario-architect/SKILL.en.md +214 -0
- package/skills/test-orchestrator/SKILL.en.md +142 -0
- package/skills/test-writer/SKILL.en.md +247 -0
package/dist/commands/init.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export declare function readConfigName(root: string): NameResult | null;
|
|
|
9
9
|
export declare function detectProjectName(root: string): NameResult;
|
|
10
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"];
|
|
11
11
|
export declare function findSkillsSource(): string | null;
|
|
12
|
-
export declare function
|
|
12
|
+
export declare function generatePolicyMdc(locale: Locale): string;
|
|
13
|
+
export declare function deploySkills(root: string, aiTool: AiTool, locale?: Locale, skillsSource?: string): {
|
|
13
14
|
target: string;
|
|
14
15
|
count: number;
|
|
15
16
|
} | 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,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAExD,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;AAoED,eAAO,MAAM,WAAW,mOAad,CAAC;AAiBX,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,
|
|
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,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAExD,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;AAoED,eAAO,MAAM,WAAW,mOAad,CAAC;AAiBX,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoDxD;AAYD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAa,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkC1C;AAgCD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,MAAM,CA0CjG;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,GAAG,MAAM,CA6FpG;AAED,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,iBAyDvC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -139,7 +139,70 @@ export function findSkillsSource() {
|
|
|
139
139
|
return devSkills;
|
|
140
140
|
return null;
|
|
141
141
|
}
|
|
142
|
-
export function
|
|
142
|
+
export function generatePolicyMdc(locale) {
|
|
143
|
+
const body = locale === 'zh'
|
|
144
|
+
? `## ⚠️ 语言策略(最高优先级)
|
|
145
|
+
|
|
146
|
+
本项目的文档语言为 **中文**(配置于 \`logos/logos.config.json\` → \`locale: "zh"\`)。
|
|
147
|
+
|
|
148
|
+
**你的所有输出——包括生成的文档、代码注释、回复消息——必须使用中文。**
|
|
149
|
+
即使 Skill 文件使用其他语言编写,你的输出也必须是中文。
|
|
150
|
+
违反此规则将导致产出不可用。
|
|
151
|
+
|
|
152
|
+
## ⚠️ 变更管理(必须遵守)
|
|
153
|
+
|
|
154
|
+
**在修改项目源代码或文档之前,必须遵循以下流程:**
|
|
155
|
+
|
|
156
|
+
1. 确认 \`logos/changes/\` 下是否已有对应的 active 变更提案
|
|
157
|
+
2. 如果没有,**立即停止编码**,先运行 \`openlogos change <slug>\` 创建提案
|
|
158
|
+
3. 按照 change-writer Skill 填写 \`proposal.md\` 和 \`tasks.md\`
|
|
159
|
+
4. 提案经用户 review 通过后才能开始代码实现
|
|
160
|
+
5. 实现完成后运行 \`openlogos merge <slug>\` 和 \`openlogos archive <slug>\`
|
|
161
|
+
|
|
162
|
+
### 例外情况
|
|
163
|
+
- 纯 typo 修复(不改变语义)
|
|
164
|
+
- 仅修改 \`.gitignore\`、\`README.md\` 等非方法论文件`
|
|
165
|
+
: `## ⚠️ Language Policy (Highest Priority)
|
|
166
|
+
|
|
167
|
+
This project's document language is **English** (configured in \`logos/logos.config.json\` → \`locale: "en"\`).
|
|
168
|
+
|
|
169
|
+
**ALL your output — including generated documents, code comments, and responses — MUST be in English.**
|
|
170
|
+
Even if Skill files are written in another language, your output MUST be in English.
|
|
171
|
+
Violating this rule will render the output unusable.
|
|
172
|
+
|
|
173
|
+
## ⚠️ Change Management (Must Follow)
|
|
174
|
+
|
|
175
|
+
**Before modifying any project source code or documents, you MUST follow this workflow:**
|
|
176
|
+
|
|
177
|
+
1. Check if there is an active change proposal under \`logos/changes/\`
|
|
178
|
+
2. If NOT, **stop coding immediately** and run \`openlogos change <slug>\` to create a proposal
|
|
179
|
+
3. Fill in \`proposal.md\` and \`tasks.md\` following the change-writer Skill
|
|
180
|
+
4. Only proceed with implementation after the user has reviewed and approved the proposal
|
|
181
|
+
5. After implementation, run \`openlogos merge <slug>\` and \`openlogos archive <slug>\`
|
|
182
|
+
|
|
183
|
+
### Exceptions
|
|
184
|
+
- Pure typo fixes (no semantic change)
|
|
185
|
+
- Changes to non-methodology files only (\`.gitignore\`, \`README.md\`, etc.)`;
|
|
186
|
+
return `---
|
|
187
|
+
description: "OpenLogos — Project Policy: Language & Change Management (always active)"
|
|
188
|
+
alwaysApply: true
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
${body}
|
|
192
|
+
`;
|
|
193
|
+
}
|
|
194
|
+
function resolveSkillFile(sourceDir, skillName, locale) {
|
|
195
|
+
if (locale === 'en') {
|
|
196
|
+
const enPath = join(sourceDir, skillName, 'SKILL.en.md');
|
|
197
|
+
if (existsSync(enPath))
|
|
198
|
+
return enPath;
|
|
199
|
+
}
|
|
200
|
+
const defaultPath = join(sourceDir, skillName, 'SKILL.md');
|
|
201
|
+
if (existsSync(defaultPath))
|
|
202
|
+
return defaultPath;
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
export function deploySkills(root, aiTool, locale = 'en', skillsSource) {
|
|
143
206
|
const source = skillsSource ?? findSkillsSource();
|
|
144
207
|
if (!source || !existsSync(source))
|
|
145
208
|
return null;
|
|
@@ -148,24 +211,25 @@ export function deploySkills(root, aiTool, skillsSource) {
|
|
|
148
211
|
const targetDir = join(root, '.cursor', 'rules');
|
|
149
212
|
mkdirSync(targetDir, { recursive: true });
|
|
150
213
|
for (const name of SKILL_NAMES) {
|
|
151
|
-
const
|
|
152
|
-
if (
|
|
153
|
-
const content = readFileSync(
|
|
214
|
+
const srcPath = resolveSkillFile(source, name, locale);
|
|
215
|
+
if (srcPath) {
|
|
216
|
+
const content = readFileSync(srcPath, 'utf-8');
|
|
154
217
|
const desc = SKILL_DESCRIPTIONS[name]?.en ?? name;
|
|
155
218
|
const mdc = `---\ndescription: "OpenLogos — ${desc}"\nalwaysApply: false\n---\n\n${content}`;
|
|
156
219
|
writeFileSync(join(targetDir, `${name}.mdc`), mdc);
|
|
157
220
|
count++;
|
|
158
221
|
}
|
|
159
222
|
}
|
|
223
|
+
writeFileSync(join(targetDir, 'openlogos-policy.mdc'), generatePolicyMdc(locale));
|
|
160
224
|
return { target: '.cursor/rules/', count };
|
|
161
225
|
}
|
|
162
226
|
const targetDir = join(root, 'logos', 'skills');
|
|
163
227
|
for (const name of SKILL_NAMES) {
|
|
164
228
|
const skillDir = join(targetDir, name);
|
|
165
229
|
mkdirSync(skillDir, { recursive: true });
|
|
166
|
-
const
|
|
167
|
-
if (
|
|
168
|
-
copyFileSync(
|
|
230
|
+
const srcPath = resolveSkillFile(source, name, locale);
|
|
231
|
+
if (srcPath) {
|
|
232
|
+
copyFileSync(srcPath, join(skillDir, 'SKILL.md'));
|
|
169
233
|
count++;
|
|
170
234
|
}
|
|
171
235
|
}
|
|
@@ -258,6 +322,19 @@ ${conventionsForYaml(locale)}
|
|
|
258
322
|
}
|
|
259
323
|
export function createAgentsMd(locale, aiTool, target) {
|
|
260
324
|
const includeSkills = aiTool && target ? shouldIncludeActiveSkills(aiTool, target) : false;
|
|
325
|
+
const langPolicy = locale === 'zh'
|
|
326
|
+
? `## Language Policy
|
|
327
|
+
本项目的文档语言配置于 \`logos/logos.config.json\` 的 \`locale\` 字段(当前值:\`"zh"\`)。
|
|
328
|
+
- 所有生成的文档、注释和 AI 回复**必须使用中文**
|
|
329
|
+
- Skill 文件可能使用任何语言编写,但你的输出必须遵循 locale 设置
|
|
330
|
+
- 生成文档前请先检查 \`logos/logos.config.json\`
|
|
331
|
+
`
|
|
332
|
+
: `## Language Policy
|
|
333
|
+
This project's document language is configured in \`logos/logos.config.json\` → \`locale\` field (current value: \`"en"\`).
|
|
334
|
+
- ALL generated documents, comments, and AI responses MUST be in **English**
|
|
335
|
+
- Skill files may be written in any language, but your output MUST follow the locale setting
|
|
336
|
+
- Check \`logos/logos.config.json\` before generating any document
|
|
337
|
+
`;
|
|
261
338
|
let content = `# AI Assistant Instructions
|
|
262
339
|
|
|
263
340
|
This project follows the **OpenLogos** methodology.
|
|
@@ -267,6 +344,7 @@ Read \`logos/logos-project.yaml\` first to understand the project resource index
|
|
|
267
344
|
- Config: \`logos/logos.config.json\`
|
|
268
345
|
- Resource Index: \`logos/logos-project.yaml\`
|
|
269
346
|
|
|
347
|
+
${langPolicy}
|
|
270
348
|
## Methodology Rules
|
|
271
349
|
1. Never write code without first completing the design documents
|
|
272
350
|
2. Follow the Why → What → How progression
|
|
@@ -298,7 +376,33 @@ Phase detection logic:
|
|
|
298
376
|
## Active Skills
|
|
299
377
|
${generateActiveSkillsSection(locale)}`;
|
|
300
378
|
}
|
|
379
|
+
const changeMgmt = locale === 'zh'
|
|
380
|
+
? `## ⚠️ 变更管理(必须遵守)
|
|
381
|
+
|
|
382
|
+
**修改任何源代码或 Skill 文件之前,必须先创建变更提案:**
|
|
383
|
+
|
|
384
|
+
1. 运行 \`openlogos change <slug>\` 创建提案目录
|
|
385
|
+
2. 使用 change-writer Skill 填写 \`proposal.md\` + \`tasks.md\`
|
|
386
|
+
3. 用户确认后再开始编码
|
|
387
|
+
4. 完成后运行 \`openlogos merge <slug>\` → \`openlogos archive <slug>\`
|
|
388
|
+
|
|
389
|
+
唯一例外:纯 typo 修复、README 等非方法论文件的修改。
|
|
390
|
+
**跳过此步骤将违反 OpenLogos 核心方法论。**
|
|
391
|
+
`
|
|
392
|
+
: `## ⚠️ Change Management (Must Follow)
|
|
393
|
+
|
|
394
|
+
**Before modifying ANY source code or Skill files, you MUST create a change proposal first:**
|
|
395
|
+
|
|
396
|
+
1. Run \`openlogos change <slug>\` to create the proposal directory
|
|
397
|
+
2. Fill in \`proposal.md\` + \`tasks.md\` using the change-writer Skill
|
|
398
|
+
3. Only proceed with implementation after user approval
|
|
399
|
+
4. After completion, run \`openlogos merge <slug>\` → \`openlogos archive <slug>\`
|
|
400
|
+
|
|
401
|
+
Only exception: pure typo fixes and non-methodology files (README, .gitignore, etc.).
|
|
402
|
+
**Skipping this step violates the core OpenLogos methodology.**
|
|
403
|
+
`;
|
|
301
404
|
content += `
|
|
405
|
+
${changeMgmt}
|
|
302
406
|
## Conventions
|
|
303
407
|
${conventionsForAgentsMd(locale)}
|
|
304
408
|
`;
|
|
@@ -336,7 +440,7 @@ export async function init(name) {
|
|
|
336
440
|
console.log(` ✓ AGENTS.md`);
|
|
337
441
|
writeFileSync(join(root, 'CLAUDE.md'), createAgentsMd(locale, aiTool, 'claude'));
|
|
338
442
|
console.log(` ✓ CLAUDE.md`);
|
|
339
|
-
const deployResult = deploySkills(root, aiTool);
|
|
443
|
+
const deployResult = deploySkills(root, aiTool, locale);
|
|
340
444
|
if (deployResult && deployResult.count > 0) {
|
|
341
445
|
console.log(` ✓ ${t(locale, 'init.skillsDeployed', { count: String(deployResult.count), target: deployResult.target })}`);
|
|
342
446
|
}
|
|
@@ -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/commands/sync.js
CHANGED
|
@@ -35,7 +35,7 @@ export function sync() {
|
|
|
35
35
|
console.log(' ✓ AGENTS.md updated');
|
|
36
36
|
writeFileSync(join(root, 'CLAUDE.md'), createAgentsMd(locale, aiTool, 'claude'));
|
|
37
37
|
console.log(' ✓ CLAUDE.md updated');
|
|
38
|
-
const deployResult = deploySkills(root, aiTool);
|
|
38
|
+
const deployResult = deploySkills(root, aiTool, locale);
|
|
39
39
|
if (deployResult && deployResult.count > 0) {
|
|
40
40
|
console.log(` ✓ ${t(locale, 'init.skillsSynced', { count: String(deployResult.count), target: deployResult.target })}`);
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAEtE,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,WAAmB;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,wBAAwB,EACxB,MAAM,WAAW,GAAG,CACrB,CAAC;IAEF,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,IAAI;IAClB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAE5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;IAEjD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,WAAW,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Skill: API Designer
|
|
2
|
+
|
|
3
|
+
> Design OpenAPI 3.0+ YAML specifications based on sequence diagrams, letting APIs emerge naturally from scenarios rather than being defined in isolation. Every endpoint is traceable to a Step number in the sequence diagrams, ensuring "no scenario, no API design."
|
|
4
|
+
|
|
5
|
+
## Trigger Conditions
|
|
6
|
+
|
|
7
|
+
- User requests API design or API documentation
|
|
8
|
+
- User mentions "Phase 3 Step 2" or "API design"
|
|
9
|
+
- Scenario sequence diagrams already exist and API specifications need to be refined
|
|
10
|
+
- User provides a specific API endpoint that needs detailed design
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
- `logos/resources/prd/3-technical-plan/2-scenario-implementation/` contains scenario sequence diagrams
|
|
15
|
+
- `logos/resources/prd/3-technical-plan/1-architecture/` contains the architecture overview (confirming frontend-backend separation approach, authentication scheme, etc.)
|
|
16
|
+
- `tech_stack` in `logos-project.yaml` is filled in
|
|
17
|
+
|
|
18
|
+
If the sequence diagram directory is empty, prompt the user to complete Phase 3 Step 1 (scenario-architect) first.
|
|
19
|
+
|
|
20
|
+
## Core Capabilities
|
|
21
|
+
|
|
22
|
+
1. Extract all cross-system-boundary API calls from sequence diagrams
|
|
23
|
+
2. Deduplicate, merge, and group by domain to form an endpoint inventory
|
|
24
|
+
3. Design OpenAPI 3.0+ YAML specifications (paths, parameters, request bodies, response structures)
|
|
25
|
+
4. Define a unified error response format and error code system
|
|
26
|
+
5. Design authentication schemes (Bearer Token / API Key / Cookie)
|
|
27
|
+
6. Design standardized parameters for pagination, sorting, and filtering
|
|
28
|
+
|
|
29
|
+
## Execution Steps
|
|
30
|
+
|
|
31
|
+
### Step 1: Read Scenario Context
|
|
32
|
+
|
|
33
|
+
Read the following files to establish complete context:
|
|
34
|
+
|
|
35
|
+
- **Scenario sequence diagrams** (`logos/resources/prd/3-technical-plan/2-scenario-implementation/`): Extract all cross-system-boundary arrows
|
|
36
|
+
- **Architecture overview** (`logos/resources/prd/3-technical-plan/1-architecture/`): Confirm authentication scheme, frontend-backend separation approach, API gateway, etc.
|
|
37
|
+
- **`logos-project.yaml`**: Read `tech_stack` to confirm backend framework and deployment approach
|
|
38
|
+
|
|
39
|
+
### Step 2: Extract Endpoint Inventory
|
|
40
|
+
|
|
41
|
+
Traverse all scenario sequence diagrams and collect every cross-system-boundary call arrow:
|
|
42
|
+
|
|
43
|
+
1. Identify "cross-system-boundary" arrows — client to server, server to external service, inter-service calls
|
|
44
|
+
2. For each arrow, extract: HTTP method, path, source scenario number, and Step number
|
|
45
|
+
3. Deduplicate and merge — the same endpoint may appear in multiple scenarios (e.g., `POST /api/auth/login` may appear in both S02 and S03)
|
|
46
|
+
4. Output an endpoint inventory summary for user confirmation:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
Identified N API endpoints from sequence diagrams:
|
|
50
|
+
|
|
51
|
+
| # | Method | Path | Source Scenario | Domain |
|
|
52
|
+
|---|--------|------|-----------------|--------|
|
|
53
|
+
| 1 | POST | /api/auth/register | S01 Step 2 | auth |
|
|
54
|
+
| 2 | POST | /api/auth/login | S02 Step 1 | auth |
|
|
55
|
+
| 3 | GET | /api/projects | S04 Step 1 | projects |
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 3: Group by Domain
|
|
59
|
+
|
|
60
|
+
Group endpoints by business domain, with each group corresponding to a YAML file:
|
|
61
|
+
|
|
62
|
+
- `auth.yaml` — Authentication-related (registration, login, logout, password reset)
|
|
63
|
+
- `projects.yaml` — CRUD for core business entities
|
|
64
|
+
- `billing.yaml` — Payment and subscriptions
|
|
65
|
+
|
|
66
|
+
Grouping principles:
|
|
67
|
+
- Operations on the same data entity go together
|
|
68
|
+
- Authentication/authorization is a separate group
|
|
69
|
+
- Third-party service callbacks (e.g., payment callbacks) go under the corresponding business domain
|
|
70
|
+
|
|
71
|
+
### Step 4: Design Unified Conventions
|
|
72
|
+
|
|
73
|
+
Before generating specific endpoints, establish global conventions:
|
|
74
|
+
|
|
75
|
+
**Authentication scheme** (read from architecture overview):
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
components:
|
|
79
|
+
securitySchemes:
|
|
80
|
+
bearerAuth:
|
|
81
|
+
type: http
|
|
82
|
+
scheme: bearer
|
|
83
|
+
bearerFormat: JWT
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Unified error response**:
|
|
87
|
+
|
|
88
|
+
```yaml
|
|
89
|
+
components:
|
|
90
|
+
schemas:
|
|
91
|
+
ErrorResponse:
|
|
92
|
+
type: object
|
|
93
|
+
required: [code, message]
|
|
94
|
+
properties:
|
|
95
|
+
code:
|
|
96
|
+
type: string
|
|
97
|
+
description: Machine-readable error code (e.g., EMAIL_EXISTS)
|
|
98
|
+
message:
|
|
99
|
+
type: string
|
|
100
|
+
description: Human-readable error description
|
|
101
|
+
details:
|
|
102
|
+
type: object
|
|
103
|
+
description: Additional error information (e.g., field-level validation errors)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Pagination parameters** (applicable to list endpoints):
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
parameters:
|
|
110
|
+
- name: page
|
|
111
|
+
in: query
|
|
112
|
+
schema: { type: integer, minimum: 1, default: 1 }
|
|
113
|
+
- name: per_page
|
|
114
|
+
in: query
|
|
115
|
+
schema: { type: integer, minimum: 1, maximum: 100, default: 20 }
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Step 5: Design Detailed Specification per Endpoint
|
|
119
|
+
|
|
120
|
+
Design a complete OpenAPI specification for each endpoint, **output by domain**, pausing after each domain for user review:
|
|
121
|
+
|
|
122
|
+
Each endpoint must include:
|
|
123
|
+
- `operationId`: Unique identifier for code generation
|
|
124
|
+
- `summary`: One-sentence description
|
|
125
|
+
- `description`: Annotate the source sequence diagram step (e.g., `Source: S01 Step 2 → Step 3`)
|
|
126
|
+
- `requestBody`: Schema including all fields (with required, types, validation rules such as minLength/format)
|
|
127
|
+
- `responses`: Cover the normal response + all known exceptions (extracted from EX use cases in sequence diagrams)
|
|
128
|
+
|
|
129
|
+
**Example**:
|
|
130
|
+
|
|
131
|
+
```yaml
|
|
132
|
+
paths:
|
|
133
|
+
/api/auth/register:
|
|
134
|
+
post:
|
|
135
|
+
operationId: register
|
|
136
|
+
summary: User registration
|
|
137
|
+
description: "Source: S01 Step 2 → Step 3"
|
|
138
|
+
requestBody:
|
|
139
|
+
required: true
|
|
140
|
+
content:
|
|
141
|
+
application/json:
|
|
142
|
+
schema:
|
|
143
|
+
type: object
|
|
144
|
+
required: [email, password]
|
|
145
|
+
properties:
|
|
146
|
+
email: { type: string, format: email }
|
|
147
|
+
password: { type: string, minLength: 8 }
|
|
148
|
+
responses:
|
|
149
|
+
'201':
|
|
150
|
+
description: Registration successful, verification email sent
|
|
151
|
+
content:
|
|
152
|
+
application/json:
|
|
153
|
+
schema:
|
|
154
|
+
type: object
|
|
155
|
+
properties:
|
|
156
|
+
userId: { type: string, format: uuid }
|
|
157
|
+
message: { type: string }
|
|
158
|
+
'409':
|
|
159
|
+
description: "Email already registered (EX-2.1)"
|
|
160
|
+
content:
|
|
161
|
+
application/json:
|
|
162
|
+
schema:
|
|
163
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
164
|
+
'422':
|
|
165
|
+
description: Request parameter validation failed
|
|
166
|
+
content:
|
|
167
|
+
application/json:
|
|
168
|
+
schema:
|
|
169
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Step 6: Verify Traceability Completeness
|
|
173
|
+
|
|
174
|
+
After output is complete, perform a traceability check:
|
|
175
|
+
|
|
176
|
+
1. **Forward check**: Every cross-system arrow in the sequence diagrams has a corresponding API endpoint
|
|
177
|
+
2. **Reverse check**: Every API endpoint's `description` annotates the source Step
|
|
178
|
+
3. **Exception coverage**: Every EX use case in the sequence diagrams has a corresponding HTTP error response
|
|
179
|
+
|
|
180
|
+
If gaps are found, supplement them before outputting the final version.
|
|
181
|
+
|
|
182
|
+
## Output Specification
|
|
183
|
+
|
|
184
|
+
- File format: OpenAPI 3.1 YAML
|
|
185
|
+
- Storage location: `logos/resources/api/`
|
|
186
|
+
- Split by domain: `auth.yaml`, `projects.yaml`, `billing.yaml`
|
|
187
|
+
- Each file contains complete `openapi`, `info`, `paths`, and `components` sections
|
|
188
|
+
- Error responses uniformly reference `$ref: '#/components/schemas/ErrorResponse'`
|
|
189
|
+
- Every endpoint's `description` must annotate the source sequence diagram step
|
|
190
|
+
|
|
191
|
+
## Best Practices
|
|
192
|
+
|
|
193
|
+
- **APIs emerge from sequence diagrams**: If an API cannot be traced back to a sequence diagram, it most likely should not exist. Design sequence diagrams first, then APIs — not the other way around
|
|
194
|
+
- **Path naming**: RESTful style, use plural nouns, `/api/{resource}`
|
|
195
|
+
- **Version prefix**: Do not add a version prefix initially (`/api/auth/register`); add `/api/v2/` when versioning becomes necessary
|
|
196
|
+
- **Status code semantics**: Strictly follow HTTP status code semantics — 200 success, 201 created, 400 bad request, 401 unauthorized, 403 forbidden, 404 not found, 409 conflict, 422 validation failed, 500 server error
|
|
197
|
+
- **Idempotent design**: PUT/DELETE operations must be idempotent
|
|
198
|
+
- **Sensitive data**: Do not include plaintext sensitive information such as passwords or tokens in responses
|
|
199
|
+
- **Output by domain**: Do not output all endpoints at once — output in batches by domain, letting the user review each batch before continuing
|
|
200
|
+
- **Consistent field naming**: Field names in the API should be consistent with column names in the subsequent DB design (or have explicit mapping rules) to avoid unnecessary field transformations in the code layer
|
|
201
|
+
|
|
202
|
+
## Recommended Prompts
|
|
203
|
+
|
|
204
|
+
The following prompts can be copied directly for use with the AI:
|
|
205
|
+
|
|
206
|
+
- `Help me design APIs`
|
|
207
|
+
- `Generate OpenAPI YAML based on the sequence diagrams`
|
|
208
|
+
- `Help me design the API specifications related to S01`
|
|
209
|
+
- `Help me extract all cross-system calls from the sequence diagrams into APIs`
|