speccore 6.82.0 → 6.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +178 -34
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/change.d.ts.map +1 -1
- package/dist/commands/change.js +39 -1
- package/dist/commands/change.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +118 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +75 -38
- package/dist/commands/pr.js.map +1 -1
- package/dist/core/agents/defaults/_INDEX.md +68 -0
- package/dist/core/agents/defaults/_TEMPLATE.md +34 -0
- package/dist/core/agents/defaults/code-reviewer.md +49 -0
- package/dist/core/agents/defaults/compiler.md +25 -0
- package/dist/core/agents/defaults/compliance-checker.md +38 -0
- package/dist/core/agents/defaults/dependency-analyst.md +42 -0
- package/dist/core/agents/defaults/doc-sync-agent.md +25 -0
- package/dist/core/agents/defaults/impact-analyst.md +37 -0
- package/dist/core/agents/defaults/interaction-designer.md +73 -0
- package/dist/core/agents/defaults/performance-expert.md +35 -0
- package/dist/core/agents/defaults/product-analyst-backend.md +68 -0
- package/dist/core/agents/defaults/product-analyst-frontend.md +72 -0
- package/dist/core/agents/defaults/product-analyst.md +48 -0
- package/dist/core/agents/defaults/regression-tester.md +36 -0
- package/dist/core/agents/defaults/risk-assessor.md +38 -0
- package/dist/core/agents/defaults/schedule-planner.md +37 -0
- package/dist/core/agents/defaults/security-reviewer-finance.md +67 -0
- package/dist/core/agents/defaults/security-reviewer.md +43 -0
- package/dist/core/agents/defaults/task-decomposer.md +33 -0
- package/dist/core/agents/defaults/test-engineer.md +25 -0
- package/dist/core/agents/defaults/test-reviewer.md +48 -0
- package/dist/core/agents/engine/agent-executor.d.ts +50 -0
- package/dist/core/agents/engine/agent-executor.d.ts.map +1 -0
- package/dist/core/agents/engine/agent-executor.js +225 -0
- package/dist/core/agents/engine/agent-executor.js.map +1 -0
- package/dist/core/agents/engine/agent-loader.d.ts +58 -0
- package/dist/core/agents/engine/agent-loader.d.ts.map +1 -0
- package/dist/core/agents/engine/agent-loader.js +377 -0
- package/dist/core/agents/engine/agent-loader.js.map +1 -0
- package/dist/core/agents/engine/types.d.ts +71 -0
- package/dist/core/agents/engine/types.d.ts.map +1 -0
- package/dist/core/agents/engine/types.js +8 -0
- package/dist/core/agents/engine/types.js.map +1 -0
- package/dist/core/agents/index.d.ts +12 -0
- package/dist/core/agents/index.d.ts.map +1 -0
- package/dist/core/agents/index.js +31 -0
- package/dist/core/agents/index.js.map +1 -0
- package/dist/core/agents/product-analyst.d.ts +17 -0
- package/dist/core/agents/product-analyst.d.ts.map +1 -0
- package/dist/core/agents/product-analyst.js +188 -0
- package/dist/core/agents/product-analyst.js.map +1 -0
- package/dist/core/command-loader.d.ts +31 -0
- package/dist/core/command-loader.d.ts.map +1 -0
- package/dist/core/command-loader.js +76 -0
- package/dist/core/command-loader.js.map +1 -0
- package/dist/core/commands/defaults/change-impact.md +40 -0
- package/dist/core/commands/defaults/pr-review.md +42 -0
- package/dist/core/commands/defaults/refactor.md +37 -0
- package/dist/core/context-injector.d.ts +56 -0
- package/dist/core/context-injector.d.ts.map +1 -0
- package/dist/core/context-injector.js +122 -0
- package/dist/core/context-injector.js.map +1 -0
- package/dist/core/hook-runner.d.ts +36 -0
- package/dist/core/hook-runner.d.ts.map +1 -0
- package/dist/core/hook-runner.js +93 -0
- package/dist/core/hook-runner.js.map +1 -0
- package/dist/core/hooks/defaults/post-execute.md +22 -0
- package/dist/core/hooks/defaults/pre-execute.md +18 -0
- package/dist/core/prompt-builder.d.ts +1 -0
- package/dist/core/prompt-builder.d.ts.map +1 -1
- package/dist/core/prompt-builder.js +60 -1
- package/dist/core/prompt-builder.js.map +1 -1
- package/dist/core/requirement-clarifier.d.ts +2 -1
- package/dist/core/requirement-clarifier.d.ts.map +1 -1
- package/dist/core/requirement-clarifier.js +78 -1
- package/dist/core/requirement-clarifier.js.map +1 -1
- package/dist/core/rule-loader.d.ts +38 -0
- package/dist/core/rule-loader.d.ts.map +1 -0
- package/dist/core/rule-loader.js +156 -0
- package/dist/core/rule-loader.js.map +1 -0
- package/dist/core/rules/defaults/_INDEX.md +16 -0
- package/dist/core/rules/defaults/api-design.md +44 -0
- package/dist/core/rules/defaults/database.md +37 -0
- package/dist/core/rules/defaults/frontend-common.md +38 -0
- package/dist/core/rules/defaults/nodejs.md +38 -0
- package/dist/core/rules/defaults/react.md +34 -0
- package/dist/core/rules/defaults/security.md +31 -0
- package/dist/core/rules/defaults/testing.md +35 -0
- package/dist/core/rules/defaults/typescript.md +36 -0
- package/dist/core/skill-loader.d.ts +28 -0
- package/dist/core/skill-loader.d.ts.map +1 -0
- package/dist/core/skill-loader.js +102 -0
- package/dist/core/skill-loader.js.map +1 -0
- package/dist/core/skills/defaults/caching.md +33 -0
- package/dist/core/skills/defaults/db-migration.md +46 -0
- package/dist/core/skills/defaults/deployment.md +50 -0
- package/dist/core/skills/defaults/logging.md +38 -0
- package/dist/core/verify-engine.d.ts +7 -0
- package/dist/core/verify-engine.d.ts.map +1 -1
- package/dist/core/verify-engine.js +27 -1
- package/dist/core/verify-engine.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-loader.js","sourceRoot":"","sources":["../../../../src/core/agents/engine/agent-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AGENTS 引擎 — 类型定义
|
|
3
|
+
*
|
|
4
|
+
* v6.84.0+: 规范数据库驱动的 Multi-Agent 调度架构
|
|
5
|
+
*/
|
|
6
|
+
export interface AgentDefinition {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
responsibilities: string[];
|
|
10
|
+
inputSpec: string;
|
|
11
|
+
checkList: string[];
|
|
12
|
+
outputFormat: string;
|
|
13
|
+
rolePrompt: string;
|
|
14
|
+
source: 'builtin' | 'user-defined';
|
|
15
|
+
activations: AgentActivation[];
|
|
16
|
+
}
|
|
17
|
+
export interface AgentActivation {
|
|
18
|
+
command: string;
|
|
19
|
+
phase: string;
|
|
20
|
+
priority: number;
|
|
21
|
+
condition?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AgentRegistryEntry {
|
|
24
|
+
agent: string;
|
|
25
|
+
priority: number;
|
|
26
|
+
condition?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface AgentRegistry {
|
|
30
|
+
phases: Record<string, AgentRegistryEntry[]>;
|
|
31
|
+
}
|
|
32
|
+
export interface AgentContext {
|
|
33
|
+
iteration?: string;
|
|
34
|
+
iterationDir?: string;
|
|
35
|
+
taskDir?: string;
|
|
36
|
+
codePath?: string;
|
|
37
|
+
platform?: string;
|
|
38
|
+
project?: {
|
|
39
|
+
industry?: string;
|
|
40
|
+
securityLevel?: number;
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
};
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
}
|
|
45
|
+
export interface AgentTask {
|
|
46
|
+
agent: string;
|
|
47
|
+
input: AgentContext;
|
|
48
|
+
priority?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface AgentResult {
|
|
51
|
+
agent: string;
|
|
52
|
+
passed: boolean;
|
|
53
|
+
findings: AgentFinding[];
|
|
54
|
+
rewrite?: string;
|
|
55
|
+
nextAgents?: string[];
|
|
56
|
+
duration: number;
|
|
57
|
+
output?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface AgentFinding {
|
|
60
|
+
severity: 'critical' | 'major' | 'minor' | 'info';
|
|
61
|
+
category: string;
|
|
62
|
+
message: string;
|
|
63
|
+
suggestion?: string;
|
|
64
|
+
location?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ResolvedAgent {
|
|
67
|
+
name: string;
|
|
68
|
+
definition: AgentDefinition;
|
|
69
|
+
priority: number;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/agents/engine/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,cAAc,CAAC;IACnC,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/agents/engine/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents Module — 专业 AI 角色定义
|
|
3
|
+
*
|
|
4
|
+
* v6.83.0+: 从单一 AGENTS.md 总纲 → 多角色专业化分离
|
|
5
|
+
* v6.84.0+: 规范数据库驱动(.speccore/AGENTS/)+ 混合调度器
|
|
6
|
+
* 每个角色包含:角色定义、专业 prompt 构建、领域特定检查清单
|
|
7
|
+
*/
|
|
8
|
+
export { PRODUCT_ANALYST_ROLE, INTERACTION_DESIGNER_ROLE, buildProductAnalystPrompt, buildInteractionDesignerPrompt, } from './product-analyst';
|
|
9
|
+
export { AgentDefinition, AgentActivation, AgentRegistryEntry, AgentRegistry, AgentContext, AgentTask, AgentResult, AgentFinding, ResolvedAgent, } from './engine/types';
|
|
10
|
+
export { loadAllAgents, loadRegistry, resolveAgentsForPhase, loadAgentDefinition, resolveAgentName, getBuiltinAgentContents, getBuiltinRegistryContent, getBuiltinTemplateContent, } from './engine/agent-loader';
|
|
11
|
+
export { buildAgentPrompt, prepareAgentTask, parseAgentResponse, mergeAgentResults, } from './engine/agent-executor';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agents Module — 专业 AI 角色定义
|
|
4
|
+
*
|
|
5
|
+
* v6.83.0+: 从单一 AGENTS.md 总纲 → 多角色专业化分离
|
|
6
|
+
* v6.84.0+: 规范数据库驱动(.speccore/AGENTS/)+ 混合调度器
|
|
7
|
+
* 每个角色包含:角色定义、专业 prompt 构建、领域特定检查清单
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.mergeAgentResults = exports.parseAgentResponse = exports.prepareAgentTask = exports.buildAgentPrompt = exports.getBuiltinTemplateContent = exports.getBuiltinRegistryContent = exports.getBuiltinAgentContents = exports.resolveAgentName = exports.loadAgentDefinition = exports.resolveAgentsForPhase = exports.loadRegistry = exports.loadAllAgents = exports.buildInteractionDesignerPrompt = exports.buildProductAnalystPrompt = exports.INTERACTION_DESIGNER_ROLE = exports.PRODUCT_ANALYST_ROLE = void 0;
|
|
11
|
+
// ── 向后兼容:保留 v6.83.0 硬编码角色(内部使用,不鼓励新代码直接引用)──
|
|
12
|
+
var product_analyst_1 = require("./product-analyst");
|
|
13
|
+
Object.defineProperty(exports, "PRODUCT_ANALYST_ROLE", { enumerable: true, get: function () { return product_analyst_1.PRODUCT_ANALYST_ROLE; } });
|
|
14
|
+
Object.defineProperty(exports, "INTERACTION_DESIGNER_ROLE", { enumerable: true, get: function () { return product_analyst_1.INTERACTION_DESIGNER_ROLE; } });
|
|
15
|
+
Object.defineProperty(exports, "buildProductAnalystPrompt", { enumerable: true, get: function () { return product_analyst_1.buildProductAnalystPrompt; } });
|
|
16
|
+
Object.defineProperty(exports, "buildInteractionDesignerPrompt", { enumerable: true, get: function () { return product_analyst_1.buildInteractionDesignerPrompt; } });
|
|
17
|
+
var agent_loader_1 = require("./engine/agent-loader");
|
|
18
|
+
Object.defineProperty(exports, "loadAllAgents", { enumerable: true, get: function () { return agent_loader_1.loadAllAgents; } });
|
|
19
|
+
Object.defineProperty(exports, "loadRegistry", { enumerable: true, get: function () { return agent_loader_1.loadRegistry; } });
|
|
20
|
+
Object.defineProperty(exports, "resolveAgentsForPhase", { enumerable: true, get: function () { return agent_loader_1.resolveAgentsForPhase; } });
|
|
21
|
+
Object.defineProperty(exports, "loadAgentDefinition", { enumerable: true, get: function () { return agent_loader_1.loadAgentDefinition; } });
|
|
22
|
+
Object.defineProperty(exports, "resolveAgentName", { enumerable: true, get: function () { return agent_loader_1.resolveAgentName; } });
|
|
23
|
+
Object.defineProperty(exports, "getBuiltinAgentContents", { enumerable: true, get: function () { return agent_loader_1.getBuiltinAgentContents; } });
|
|
24
|
+
Object.defineProperty(exports, "getBuiltinRegistryContent", { enumerable: true, get: function () { return agent_loader_1.getBuiltinRegistryContent; } });
|
|
25
|
+
Object.defineProperty(exports, "getBuiltinTemplateContent", { enumerable: true, get: function () { return agent_loader_1.getBuiltinTemplateContent; } });
|
|
26
|
+
var agent_executor_1 = require("./engine/agent-executor");
|
|
27
|
+
Object.defineProperty(exports, "buildAgentPrompt", { enumerable: true, get: function () { return agent_executor_1.buildAgentPrompt; } });
|
|
28
|
+
Object.defineProperty(exports, "prepareAgentTask", { enumerable: true, get: function () { return agent_executor_1.prepareAgentTask; } });
|
|
29
|
+
Object.defineProperty(exports, "parseAgentResponse", { enumerable: true, get: function () { return agent_executor_1.parseAgentResponse; } });
|
|
30
|
+
Object.defineProperty(exports, "mergeAgentResults", { enumerable: true, get: function () { return agent_executor_1.mergeAgentResults; } });
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/agents/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,8CAA8C;AAC9C,qDAK2B;AAJzB,uHAAA,oBAAoB,OAAA;AACpB,4HAAA,yBAAyB,OAAA;AACzB,4HAAA,yBAAyB,OAAA;AACzB,iIAAA,8BAA8B,OAAA;AAgBhC,sDAS+B;AAR7B,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA;AACZ,qHAAA,qBAAqB,OAAA;AACrB,mHAAA,mBAAmB,OAAA;AACnB,gHAAA,gBAAgB,OAAA;AAChB,uHAAA,uBAAuB,OAAA;AACvB,yHAAA,yBAAyB,OAAA;AACzB,yHAAA,yBAAyB,OAAA;AAG3B,0DAKiC;AAJ/B,kHAAA,gBAAgB,OAAA;AAChB,kHAAA,gBAAgB,OAAA;AAChB,oHAAA,kBAAkB,OAAA;AAClB,mHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent: Product Analyst — 产品分析师角色定义
|
|
3
|
+
*
|
|
4
|
+
* 职责:以资深产品经理视角深度分析需求文档的完整性、专业度、业务流程逻辑。
|
|
5
|
+
* v6.83.0+
|
|
6
|
+
*/
|
|
7
|
+
export declare const PRODUCT_ANALYST_ROLE = "\n# \uD83C\uDFAF \u89D2\u8272\uFF1A\u8D44\u6DF1\u4EA7\u54C1\u5206\u6790\u5E08\n\n\u4F60\u662F\u4E00\u4F4D\u62E5\u6709 10 \u5E74\u7ECF\u9A8C\u7684\u4E92\u8054\u7F51\u4EA7\u54C1\u7ECF\u7406\uFF0C\u64C5\u957F\uFF1A\n- \u5C06\u6A21\u7CCA\u7684\u7528\u6237\u63CF\u8FF0\u8F6C\u5316\u4E3A\u7ED3\u6784\u5316\u7684 PRD\n- \u8BC6\u522B\u9700\u6C42\u9057\u6F0F\u548C\u903B\u8F91\u65AD\u5C42\n- \u8BBE\u8BA1\u5B8C\u6574\u7684\u4E1A\u52A1\u6D41\u7A0B\u548C\u72B6\u6001\u6D41\u8F6C\n- \u5B9A\u4E49\u53EF\u91CF\u5316\u7684\u9A8C\u6536\u6807\u51C6\u548C\u7528\u6237\u4EF7\u503C\n\n## \u5206\u6790\u51C6\u5219\n\n### 1. \u4E1A\u52A1\u6D41\u7A0B\u5B8C\u6574\u6027\u68C0\u67E5\n\u5BF9\u6BCF\u6761\u4E1A\u52A1\u6D41\u7A0B\uFF0C\u5FC5\u987B\u9A8C\u8BC1\uFF1A\n- **\u8D77\u70B9**\uFF1A\u7528\u6237\u4ECE\u4EC0\u4E48\u573A\u666F/\u5165\u53E3\u8FDB\u5165\n- **\u6B65\u9AA4**\uFF1A\u6BCF\u4E00\u6B65\u7684\u64CD\u4F5C\u3001\u8F93\u5165\u3001\u7CFB\u7EDF\u53CD\u9988\n- **\u5206\u652F**\uFF1A\u6B63\u5E38\u6D41\u7A0B vs \u5F02\u5E38\u6D41\u7A0B\uFF08\u7F51\u7EDC\u5931\u8D25\u3001\u6743\u9650\u4E0D\u8DB3\u3001\u6570\u636E\u4E3A\u7A7A\uFF09\n- **\u7EC8\u70B9**\uFF1A\u6D41\u7A0B\u5982\u4F55\u7ED3\u675F\uFF0C\u7528\u6237\u5F97\u5230\u4EC0\u4E48\u7ED3\u679C\n- **\u72B6\u6001**\uFF1A\u6D89\u53CA\u54EA\u4E9B\u5B9E\u4F53\u72B6\u6001\u53D8\u5316\uFF0C\u72B6\u6001\u6D41\u8F6C\u662F\u5426\u95ED\u73AF\n\n### 2. \u524D\u7AEF\u4EA4\u4E92\u903B\u8F91\u68C0\u67E5\n\u5BF9\u6BCF\u4E2A\u524D\u7AEF\u529F\u80FD\u70B9\uFF0C\u5FC5\u987B\u9A8C\u8BC1\uFF1A\n- **\u9875\u9762\u7ED3\u6784**\uFF1A\u6709\u54EA\u4E9B\u533A\u57DF/\u6A21\u5757/\u5361\u7247\n- **\u7528\u6237\u64CD\u4F5C**\uFF1A\u70B9\u51FB/\u6ED1\u52A8/\u8F93\u5165/\u4E0B\u62C9/\u641C\u7D22/\u7B5B\u9009\n- **\u53CD\u9988\u673A\u5236**\uFF1A\u52A0\u8F7D\u72B6\u6001\u3001\u7A7A\u72B6\u6001\u3001\u9519\u8BEF\u63D0\u793A\u3001\u6210\u529F\u53CD\u9988\n- **\u6743\u9650\u63A7\u5236**\uFF1A\u4E0D\u540C\u89D2\u8272\u770B\u5230\u4EC0\u4E48\u3001\u80FD\u64CD\u4F5C\u4EC0\u4E48\n- **\u6570\u636E\u53D8\u5316**\uFF1A\u5B9E\u65F6\u66F4\u65B0\u8FD8\u662F\u624B\u52A8\u5237\u65B0\u3001\u4E50\u89C2\u66F4\u65B0\u8FD8\u662F\u7B49\u5F85\u786E\u8BA4\n\n### 3. \u9700\u6C42\u9057\u6F0F\u8BC6\u522B\n\u5E38\u89C1\u9057\u6F0F\u7C7B\u578B\uFF08\u5FC5\u987B\u9010\u4E00\u6392\u67E5\uFF09\uFF1A\n- \u2753 \u7A7A\u6570\u636E/\u9996\u6B21\u4F7F\u7528\u573A\u666F\uFF08Empty State\uFF09\n- \u2753 \u52A0\u8F7D/\u7B49\u5F85\u72B6\u6001\uFF08Loading State\uFF09\n- \u2753 \u7F51\u7EDC\u5F02\u5E38/\u8D85\u65F6\u5904\u7406\n- \u2753 \u6743\u9650\u4E0D\u8DB3/\u672A\u767B\u5F55\u5904\u7406\n- \u2753 \u6570\u636E\u91CF\u5927\u65F6\u7684\u5206\u9875/\u865A\u62DF\u6EDA\u52A8\n- \u2753 \u591A\u8BBE\u5907/\u591A\u6D4F\u89C8\u5668\u517C\u5BB9\u6027\n- \u2753 \u56FD\u9645\u5316/\u591A\u8BED\u8A00\u652F\u6301\n- \u2753 \u6697\u9ED1\u6A21\u5F0F/\u4E3B\u9898\u5207\u6362\n- \u2753 \u8868\u5355\u6821\u9A8C\u89C4\u5219\uFF08\u524D\u7AEF+\u540E\u7AEF\u4E00\u81F4\u6027\uFF09\n- \u2753 \u5220\u9664/\u4FEE\u6539\u64CD\u4F5C\u7684\u786E\u8BA4\u673A\u5236\n- \u2753 \u6279\u91CF\u64CD\u4F5C\u7684\u9009\u4E2D\u548C\u5168\u9009\u903B\u8F91\n- \u2753 \u641C\u7D22/\u7B5B\u9009\u7684\u6392\u5E8F\u548C\u91CD\u7F6E\u903B\u8F91\n\n### 4. \u672F\u8BED\u7EDF\u4E00\n- \u540C\u4E00\u6982\u5FF5\u5728\u5168\u6587\u6863\u4E2D\u53EA\u80FD\u6709\u4E00\u4E2A\u79F0\u547C\n- \u5EFA\u7ACB\u672F\u8BED\u8868\uFF08Glossary\uFF09\n- \u6280\u672F\u672F\u8BED\u4F7F\u7528\u884C\u4E1A\u6807\u51C6\u8868\u8FF0\n";
|
|
8
|
+
export declare const INTERACTION_DESIGNER_ROLE = "\n# \uD83C\uDFA8 \u89D2\u8272\uFF1A\u4EA4\u4E92\u8BBE\u8BA1\u5E08\n\n\u4F60\u662F\u4E00\u4F4D\u4E13\u6CE8\u4E8E\u7528\u6237\u4F53\u9A8C\u7684\u4EA4\u4E92\u8BBE\u8BA1\u5E08\uFF0C\u64C5\u957F\uFF1A\n- \u8BBE\u8BA1\u6E05\u6670\u76F4\u89C2\u7684\u9875\u9762\u4FE1\u606F\u67B6\u6784\n- \u5B9A\u4E49\u5B8C\u6574\u7684\u4EA4\u4E92\u72B6\u6001\u548C\u72B6\u6001\u6D41\u8F6C\n- \u8BC6\u522B\u7528\u6237\u64CD\u4F5C\u8DEF\u5F84\u4E2D\u7684\u65AD\u70B9\u548C\u6469\u64E6\n- \u786E\u4FDD\u524D\u540E\u7AEF\u4EA4\u4E92\u903B\u8F91\u7684\u4E00\u81F4\u6027\n\n## \u5206\u6790\u7EF4\u5EA6\n\n### 1. \u9875\u9762\u4FE1\u606F\u67B6\u6784\n- \u9875\u9762\u5C42\u7EA7\uFF1A\u4E00\u7EA7\u9875\u9762 \u2192 \u4E8C\u7EA7\u9875\u9762 \u2192 \u5F39\u7A97/\u62BD\u5C49\n- \u4FE1\u606F\u5206\u7EC4\uFF1A\u54EA\u4E9B\u4FE1\u606F\u5E94\u8BE5\u653E\u5728\u4E00\u8D77\n- \u89C6\u89C9\u4F18\u5148\u7EA7\uFF1A\u6700\u91CD\u8981\u7684\u4FE1\u606F\u653E\u5728\u54EA\u91CC\n- \u64CD\u4F5C\u5165\u53E3\uFF1A\u4E3B\u8981\u64CD\u4F5C\u548C\u6B21\u8981\u64CD\u4F5C\u7684\u533A\u5206\n\n### 2. \u4EA4\u4E92\u72B6\u6001\u77E9\u9635\n\u6BCF\u4E2A\u53EF\u4EA4\u4E92\u5143\u7D20\u5FC5\u987B\u5B9A\u4E49\u4EE5\u4E0B\u72B6\u6001\uFF1A\n| \u72B6\u6001 | \u89E6\u53D1\u6761\u4EF6 | \u89C6\u89C9\u8868\u73B0 | \u7528\u6237\u53CD\u9988 |\n| :--- | :--- | :--- | :--- |\n| \u9ED8\u8BA4 | \u9875\u9762\u521D\u59CB\u5316 | \u2014 | \u2014 |\n| Hover | \u9F20\u6807\u60AC\u505C | \u989C\u8272/\u9634\u5F71\u53D8\u5316 | \u63D0\u793A\u53EF\u70B9\u51FB |\n| Focus | \u83B7\u5F97\u7126\u70B9 | \u8FB9\u6846\u9AD8\u4EAE | \u2014 |\n| Active | \u70B9\u51FB\u4E2D | \u989C\u8272\u52A0\u6DF1 | \u2014 |\n| Disabled | \u6761\u4EF6\u4E0D\u6EE1\u8DB3 | \u7F6E\u7070 | \u63D0\u793A\u539F\u56E0 |\n| Loading | \u64CD\u4F5C\u4E2D | \u65CB\u8F6C/\u8FDB\u5EA6 | \u9632\u6B62\u91CD\u590D\u63D0\u4EA4 |\n| Success | \u64CD\u4F5C\u6210\u529F | \u7EFF\u8272/\u52FE\u9009 | \u63D0\u793A\u6210\u529F |\n| Error | \u64CD\u4F5C\u5931\u8D25 | \u7EA2\u8272/\u8B66\u793A | \u63D0\u793A\u9519\u8BEF\u539F\u56E0 |\n\n### 3. \u524D\u540E\u7AEF\u4EA4\u4E92\u4E00\u81F4\u6027\u68C0\u67E5\n- \u524D\u7AEF\u6821\u9A8C\u89C4\u5219 vs \u540E\u7AEF\u6821\u9A8C\u89C4\u5219\u662F\u5426\u4E00\u81F4\n- \u524D\u7AEF\u5C55\u793A\u7684\u6570\u636E\u683C\u5F0F vs \u540E\u7AEF\u8FD4\u56DE\u7684\u683C\u5F0F\n- \u524D\u7AEF\u72B6\u6001\u7BA1\u7406 vs \u540E\u7AEF\u5B9E\u4F53\u72B6\u6001\u662F\u5426\u540C\u6B65\n- \u524D\u7AEF\u9519\u8BEF\u7801 vs \u540E\u7AEF\u9519\u8BEF\u7801\u6620\u5C04\n\n### 4. \u7528\u6237\u64CD\u4F5C\u8DEF\u5F84\u4F18\u5316\n- \u6700\u77ED\u8DEF\u5F84\u539F\u5219\uFF1A\u5B8C\u6210\u6838\u5FC3\u76EE\u6807\u7684\u6700\u5C11\u70B9\u51FB\u6570\n- \u9632\u9519\u8BBE\u8BA1\uFF1A\u4E0D\u53EF\u9006\u64CD\u4F5C\u5FC5\u987B\u6709\u4E8C\u6B21\u786E\u8BA4\n- \u5BB9\u9519\u8BBE\u8BA1\uFF1A\u7528\u6237\u8BEF\u64CD\u4F5C\u540E\u5982\u4F55\u6062\u590D\n";
|
|
9
|
+
/**
|
|
10
|
+
* 构建产品分析师专用 clarify prompt
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildProductAnalystPrompt(sourceContent: string, docName: string, qualityIssues: string[]): string;
|
|
13
|
+
/**
|
|
14
|
+
* 构建交互设计师专用 clarify prompt
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildInteractionDesignerPrompt(sourceContent: string, docName: string): string;
|
|
17
|
+
//# sourceMappingURL=product-analyst.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-analyst.d.ts","sourceRoot":"","sources":["../../../src/core/agents/product-analyst.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB,s5GA8ChC,CAAC;AAEF,eAAO,MAAM,yBAAyB,6zFAwCrC,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EAAE,GACtB,MAAM,CAyCR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,MAAM,CAuCR"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent: Product Analyst — 产品分析师角色定义
|
|
4
|
+
*
|
|
5
|
+
* 职责:以资深产品经理视角深度分析需求文档的完整性、专业度、业务流程逻辑。
|
|
6
|
+
* v6.83.0+
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.INTERACTION_DESIGNER_ROLE = exports.PRODUCT_ANALYST_ROLE = void 0;
|
|
10
|
+
exports.buildProductAnalystPrompt = buildProductAnalystPrompt;
|
|
11
|
+
exports.buildInteractionDesignerPrompt = buildInteractionDesignerPrompt;
|
|
12
|
+
exports.PRODUCT_ANALYST_ROLE = `
|
|
13
|
+
# 🎯 角色:资深产品分析师
|
|
14
|
+
|
|
15
|
+
你是一位拥有 10 年经验的互联网产品经理,擅长:
|
|
16
|
+
- 将模糊的用户描述转化为结构化的 PRD
|
|
17
|
+
- 识别需求遗漏和逻辑断层
|
|
18
|
+
- 设计完整的业务流程和状态流转
|
|
19
|
+
- 定义可量化的验收标准和用户价值
|
|
20
|
+
|
|
21
|
+
## 分析准则
|
|
22
|
+
|
|
23
|
+
### 1. 业务流程完整性检查
|
|
24
|
+
对每条业务流程,必须验证:
|
|
25
|
+
- **起点**:用户从什么场景/入口进入
|
|
26
|
+
- **步骤**:每一步的操作、输入、系统反馈
|
|
27
|
+
- **分支**:正常流程 vs 异常流程(网络失败、权限不足、数据为空)
|
|
28
|
+
- **终点**:流程如何结束,用户得到什么结果
|
|
29
|
+
- **状态**:涉及哪些实体状态变化,状态流转是否闭环
|
|
30
|
+
|
|
31
|
+
### 2. 前端交互逻辑检查
|
|
32
|
+
对每个前端功能点,必须验证:
|
|
33
|
+
- **页面结构**:有哪些区域/模块/卡片
|
|
34
|
+
- **用户操作**:点击/滑动/输入/下拉/搜索/筛选
|
|
35
|
+
- **反馈机制**:加载状态、空状态、错误提示、成功反馈
|
|
36
|
+
- **权限控制**:不同角色看到什么、能操作什么
|
|
37
|
+
- **数据变化**:实时更新还是手动刷新、乐观更新还是等待确认
|
|
38
|
+
|
|
39
|
+
### 3. 需求遗漏识别
|
|
40
|
+
常见遗漏类型(必须逐一排查):
|
|
41
|
+
- ❓ 空数据/首次使用场景(Empty State)
|
|
42
|
+
- ❓ 加载/等待状态(Loading State)
|
|
43
|
+
- ❓ 网络异常/超时处理
|
|
44
|
+
- ❓ 权限不足/未登录处理
|
|
45
|
+
- ❓ 数据量大时的分页/虚拟滚动
|
|
46
|
+
- ❓ 多设备/多浏览器兼容性
|
|
47
|
+
- ❓ 国际化/多语言支持
|
|
48
|
+
- ❓ 暗黑模式/主题切换
|
|
49
|
+
- ❓ 表单校验规则(前端+后端一致性)
|
|
50
|
+
- ❓ 删除/修改操作的确认机制
|
|
51
|
+
- ❓ 批量操作的选中和全选逻辑
|
|
52
|
+
- ❓ 搜索/筛选的排序和重置逻辑
|
|
53
|
+
|
|
54
|
+
### 4. 术语统一
|
|
55
|
+
- 同一概念在全文档中只能有一个称呼
|
|
56
|
+
- 建立术语表(Glossary)
|
|
57
|
+
- 技术术语使用行业标准表述
|
|
58
|
+
`;
|
|
59
|
+
exports.INTERACTION_DESIGNER_ROLE = `
|
|
60
|
+
# 🎨 角色:交互设计师
|
|
61
|
+
|
|
62
|
+
你是一位专注于用户体验的交互设计师,擅长:
|
|
63
|
+
- 设计清晰直观的页面信息架构
|
|
64
|
+
- 定义完整的交互状态和状态流转
|
|
65
|
+
- 识别用户操作路径中的断点和摩擦
|
|
66
|
+
- 确保前后端交互逻辑的一致性
|
|
67
|
+
|
|
68
|
+
## 分析维度
|
|
69
|
+
|
|
70
|
+
### 1. 页面信息架构
|
|
71
|
+
- 页面层级:一级页面 → 二级页面 → 弹窗/抽屉
|
|
72
|
+
- 信息分组:哪些信息应该放在一起
|
|
73
|
+
- 视觉优先级:最重要的信息放在哪里
|
|
74
|
+
- 操作入口:主要操作和次要操作的区分
|
|
75
|
+
|
|
76
|
+
### 2. 交互状态矩阵
|
|
77
|
+
每个可交互元素必须定义以下状态:
|
|
78
|
+
| 状态 | 触发条件 | 视觉表现 | 用户反馈 |
|
|
79
|
+
| :--- | :--- | :--- | :--- |
|
|
80
|
+
| 默认 | 页面初始化 | — | — |
|
|
81
|
+
| Hover | 鼠标悬停 | 颜色/阴影变化 | 提示可点击 |
|
|
82
|
+
| Focus | 获得焦点 | 边框高亮 | — |
|
|
83
|
+
| Active | 点击中 | 颜色加深 | — |
|
|
84
|
+
| Disabled | 条件不满足 | 置灰 | 提示原因 |
|
|
85
|
+
| Loading | 操作中 | 旋转/进度 | 防止重复提交 |
|
|
86
|
+
| Success | 操作成功 | 绿色/勾选 | 提示成功 |
|
|
87
|
+
| Error | 操作失败 | 红色/警示 | 提示错误原因 |
|
|
88
|
+
|
|
89
|
+
### 3. 前后端交互一致性检查
|
|
90
|
+
- 前端校验规则 vs 后端校验规则是否一致
|
|
91
|
+
- 前端展示的数据格式 vs 后端返回的格式
|
|
92
|
+
- 前端状态管理 vs 后端实体状态是否同步
|
|
93
|
+
- 前端错误码 vs 后端错误码映射
|
|
94
|
+
|
|
95
|
+
### 4. 用户操作路径优化
|
|
96
|
+
- 最短路径原则:完成核心目标的最少点击数
|
|
97
|
+
- 防错设计:不可逆操作必须有二次确认
|
|
98
|
+
- 容错设计:用户误操作后如何恢复
|
|
99
|
+
`;
|
|
100
|
+
/**
|
|
101
|
+
* 构建产品分析师专用 clarify prompt
|
|
102
|
+
*/
|
|
103
|
+
function buildProductAnalystPrompt(sourceContent, docName, qualityIssues) {
|
|
104
|
+
return `
|
|
105
|
+
# 产品分析师深度审查:${docName}
|
|
106
|
+
|
|
107
|
+
## 原始需求文档
|
|
108
|
+
|
|
109
|
+
\`\`\`
|
|
110
|
+
${sourceContent.slice(0, 8000)}
|
|
111
|
+
${sourceContent.length > 8000 ? '\n... (文档过长,已截断,请继续读取完整文档)' : ''}
|
|
112
|
+
\`\`\`
|
|
113
|
+
|
|
114
|
+
## 已识别的问题
|
|
115
|
+
${qualityIssues.map(i => `- ${i}`).join('\n') || '- 暂无已知问题'}
|
|
116
|
+
|
|
117
|
+
## 你的任务
|
|
118
|
+
|
|
119
|
+
以产品分析师身份,对以上需求文档进行深度审查。按以下结构输出分析报告:
|
|
120
|
+
|
|
121
|
+
### 1. 业务流程完整性评估
|
|
122
|
+
对文档中描述的每条业务流程:
|
|
123
|
+
- 标注流程起点、步骤、分支、终点
|
|
124
|
+
- 识别缺失的异常分支
|
|
125
|
+
- 检查状态流转是否闭环
|
|
126
|
+
|
|
127
|
+
### 2. 前端交互逻辑评估
|
|
128
|
+
对文档中描述的每个前端功能:
|
|
129
|
+
- 列出应包含的页面/组件
|
|
130
|
+
- 标注用户可执行的所有操作
|
|
131
|
+
- 检查是否定义了 Loading/Empty/Error 状态
|
|
132
|
+
- 检查权限控制和数据刷新逻辑
|
|
133
|
+
|
|
134
|
+
### 3. 遗漏识别清单
|
|
135
|
+
列出文档中未涉及但必须补充的内容:
|
|
136
|
+
- 空状态/加载状态/错误状态
|
|
137
|
+
- 异常流程(网络失败、权限不足、数据为空)
|
|
138
|
+
- 边界条件(最大值、最小值、字符限制)
|
|
139
|
+
- 批量操作、排序、筛选、分页逻辑
|
|
140
|
+
|
|
141
|
+
### 4. 修改建议
|
|
142
|
+
针对每个问题,给出具体的修改建议(可执行的,不是泛泛而谈)。
|
|
143
|
+
`;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 构建交互设计师专用 clarify prompt
|
|
147
|
+
*/
|
|
148
|
+
function buildInteractionDesignerPrompt(sourceContent, docName) {
|
|
149
|
+
return `
|
|
150
|
+
# 交互设计师深度审查:${docName}
|
|
151
|
+
|
|
152
|
+
## 原始需求文档
|
|
153
|
+
|
|
154
|
+
\`\`\`
|
|
155
|
+
${sourceContent.slice(0, 8000)}
|
|
156
|
+
${sourceContent.length > 8000 ? '\n... (文档过长,已截断)' : ''}
|
|
157
|
+
\`\`\`
|
|
158
|
+
|
|
159
|
+
## 你的任务
|
|
160
|
+
|
|
161
|
+
以交互设计师身份,对以上需求文档进行交互层面的深度审查。
|
|
162
|
+
|
|
163
|
+
### 1. 页面信息架构
|
|
164
|
+
- 梳理所有涉及的页面及层级关系
|
|
165
|
+
- 标注每个页面的核心信息区和操作区
|
|
166
|
+
- 检查信息分组是否合理
|
|
167
|
+
|
|
168
|
+
### 2. 交互状态矩阵
|
|
169
|
+
对文档中提到的每个可交互元素,补充其完整状态定义:
|
|
170
|
+
| 元素名 | 默认 | Hover | Focus | Active | Disabled | Loading | Success | Error |
|
|
171
|
+
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
|
172
|
+
| (示例)提交按钮 | 蓝色填充 | 阴影加深 | 蓝色边框 | 颜色加深 | 灰色置灰 | 显示 spinner | 绿色勾选 | 红色+错误提示 |
|
|
173
|
+
|
|
174
|
+
### 3. 前后端交互一致性检查
|
|
175
|
+
- 前端校验规则 vs 后端校验规则
|
|
176
|
+
- 前端状态 vs 后端实体状态
|
|
177
|
+
- 错误码映射关系
|
|
178
|
+
|
|
179
|
+
### 4. 用户操作路径
|
|
180
|
+
- 画出核心功能的用户操作路径
|
|
181
|
+
- 标注最短路径和常见路径
|
|
182
|
+
- 识别可能的断点和摩擦
|
|
183
|
+
|
|
184
|
+
### 5. 交互改进建议
|
|
185
|
+
给出具体的交互改进建议(附理由)。
|
|
186
|
+
`;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=product-analyst.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-analyst.js","sourceRoot":"","sources":["../../../src/core/agents/product-analyst.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA+FH,8DA6CC;AAKD,wEA0CC;AAzLY,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CnC,CAAC;AAEW,QAAA,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCxC,CAAC;AAEF;;GAEG;AACH,SAAgB,yBAAyB,CACvC,aAAqB,EACrB,OAAe,EACf,aAAuB;IAEvB,OAAO;cACK,OAAO;;;;;EAKnB,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;EAC5B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE;;;;EAI/D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B1D,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,8BAA8B,CAC5C,aAAqB,EACrB,OAAe;IAEf,OAAO;cACK,OAAO;;;;;EAKnB,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;EAC5B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BtD,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMMANDS 命令模板加载器
|
|
3
|
+
*
|
|
4
|
+
* 负责:
|
|
5
|
+
* 1. 扫描 .speccore/COMMANDS/ 目录下的命令模板文件
|
|
6
|
+
* 2. 为 CLI 命令提供可配置的 prompt 模板
|
|
7
|
+
* 3. 支持变量替换(如 {{iteration}}、{{task}})
|
|
8
|
+
*
|
|
9
|
+
* v6.87.0+
|
|
10
|
+
*/
|
|
11
|
+
export interface CommandTemplate {
|
|
12
|
+
name: string;
|
|
13
|
+
content: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 加载指定命令模板
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadCommandTemplate(name: string, projectRoot: string): Promise<CommandTemplate | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* 简单变量替换
|
|
21
|
+
* 支持 {{key}} 格式,从 vars 对象中取值
|
|
22
|
+
*/
|
|
23
|
+
export declare function renderTemplate(template: string, vars: Record<string, string>): string;
|
|
24
|
+
/**
|
|
25
|
+
* 获取内置命令模板的原始内容(用于 init 时复制到项目)
|
|
26
|
+
*/
|
|
27
|
+
export declare function getBuiltinCommandContents(): Promise<{
|
|
28
|
+
name: string;
|
|
29
|
+
content: string;
|
|
30
|
+
}[]>;
|
|
31
|
+
//# sourceMappingURL=command-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-loader.d.ts","sourceRoot":"","sources":["../../src/core/command-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAyCD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAGtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAMrF;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAE9F"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* COMMANDS 命令模板加载器
|
|
4
|
+
*
|
|
5
|
+
* 负责:
|
|
6
|
+
* 1. 扫描 .speccore/COMMANDS/ 目录下的命令模板文件
|
|
7
|
+
* 2. 为 CLI 命令提供可配置的 prompt 模板
|
|
8
|
+
* 3. 支持变量替换(如 {{iteration}}、{{task}})
|
|
9
|
+
*
|
|
10
|
+
* v6.87.0+
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.loadCommandTemplate = loadCommandTemplate;
|
|
14
|
+
exports.renderTemplate = renderTemplate;
|
|
15
|
+
exports.getBuiltinCommandContents = getBuiltinCommandContents;
|
|
16
|
+
const path_1 = require("path");
|
|
17
|
+
const fs_extra_1 = require("fs-extra");
|
|
18
|
+
const BUILTIN_COMMANDS_DIR = (0, path_1.join)(__dirname, 'commands', 'defaults');
|
|
19
|
+
async function scanCommandFiles(dir) {
|
|
20
|
+
if (!(await (0, fs_extra_1.pathExists)(dir)))
|
|
21
|
+
return [];
|
|
22
|
+
const entries = await (0, fs_extra_1.readdir)(dir, { withFileTypes: true });
|
|
23
|
+
const commands = [];
|
|
24
|
+
for (const e of entries) {
|
|
25
|
+
if (!e.isFile() || !e.name.endsWith('.md'))
|
|
26
|
+
continue;
|
|
27
|
+
if (e.name.startsWith('_'))
|
|
28
|
+
continue;
|
|
29
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(dir, e.name), 'utf-8');
|
|
30
|
+
commands.push({
|
|
31
|
+
name: e.name.replace(/\.md$/, ''),
|
|
32
|
+
content,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return commands;
|
|
36
|
+
}
|
|
37
|
+
async function loadAllCommands(projectRoot) {
|
|
38
|
+
const userCommandsDir = (0, path_1.join)(projectRoot, '.speccore', 'COMMANDS');
|
|
39
|
+
const commandMap = new Map();
|
|
40
|
+
// 1. 加载内置默认
|
|
41
|
+
const builtinFiles = await scanCommandFiles(BUILTIN_COMMANDS_DIR);
|
|
42
|
+
for (const f of builtinFiles) {
|
|
43
|
+
commandMap.set(f.name, { name: f.name, content: f.content });
|
|
44
|
+
}
|
|
45
|
+
// 2. 用户自定义覆盖
|
|
46
|
+
const userFiles = await scanCommandFiles(userCommandsDir);
|
|
47
|
+
for (const f of userFiles) {
|
|
48
|
+
commandMap.set(f.name, { name: f.name, content: f.content });
|
|
49
|
+
}
|
|
50
|
+
return commandMap;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 加载指定命令模板
|
|
54
|
+
*/
|
|
55
|
+
async function loadCommandTemplate(name, projectRoot) {
|
|
56
|
+
const all = await loadAllCommands(projectRoot);
|
|
57
|
+
return all.get(name);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 简单变量替换
|
|
61
|
+
* 支持 {{key}} 格式,从 vars 对象中取值
|
|
62
|
+
*/
|
|
63
|
+
function renderTemplate(template, vars) {
|
|
64
|
+
let result = template;
|
|
65
|
+
for (const [key, value] of Object.entries(vars)) {
|
|
66
|
+
result = result.replace(new RegExp(`\\{\\{\\s*${key}\\s*\\}\\}`, 'g'), value);
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 获取内置命令模板的原始内容(用于 init 时复制到项目)
|
|
72
|
+
*/
|
|
73
|
+
async function getBuiltinCommandContents() {
|
|
74
|
+
return scanCommandFiles(BUILTIN_COMMANDS_DIR);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=command-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-loader.js","sourceRoot":"","sources":["../../src/core/command-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# 变更影响分析流程
|
|
2
|
+
|
|
3
|
+
## 任务
|
|
4
|
+
|
|
5
|
+
1. 分析用户输入的变更需求
|
|
6
|
+
2. 评估对现有任务的影响范围
|
|
7
|
+
3. 识别需要修改的文件和关联模块
|
|
8
|
+
4. 生成结构化的影响分析报告
|
|
9
|
+
|
|
10
|
+
## 用户输入
|
|
11
|
+
|
|
12
|
+
{{description}}
|
|
13
|
+
|
|
14
|
+
## 附件
|
|
15
|
+
|
|
16
|
+
{{attachments}}
|
|
17
|
+
|
|
18
|
+
## 现有任务
|
|
19
|
+
|
|
20
|
+
{{tasks}}
|
|
21
|
+
|
|
22
|
+
## 输出格式
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"intent": "new|change",
|
|
27
|
+
"structuredDesc": "结构化需求描述",
|
|
28
|
+
"impactReport": {
|
|
29
|
+
"directTasks": [{"id": "Task-XXX", "name": "", "impact": "描述"}],
|
|
30
|
+
"indirectTasks": [{"id": "Task-XXX", "name": "", "reason": "原因"}],
|
|
31
|
+
"newTasks": [{"name": "", "description": "", "platform": ""}]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 规则
|
|
37
|
+
|
|
38
|
+
- intent=new:新增功能,可能需要创建新任务
|
|
39
|
+
- intent=change:修改现有功能,影响已有任务
|
|
40
|
+
- 必须评估对 API 契约、数据模型、前端界面的影响
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# PR 审查流程
|
|
2
|
+
|
|
3
|
+
## 任务
|
|
4
|
+
|
|
5
|
+
1. 分析 git 变更,生成简洁的 commit 信息(< 72 字)
|
|
6
|
+
2. 对照 ANALYSIS.md 判断变更是否对齐分析范围
|
|
7
|
+
3. 检查代码质量和潜在风险
|
|
8
|
+
4. 返回 JSON 格式结果
|
|
9
|
+
|
|
10
|
+
## 变更文件
|
|
11
|
+
|
|
12
|
+
{{changedFiles}}
|
|
13
|
+
|
|
14
|
+
## 暂存文件
|
|
15
|
+
|
|
16
|
+
{{stagedFiles}}
|
|
17
|
+
|
|
18
|
+
## 变更差异
|
|
19
|
+
|
|
20
|
+
{{diff}}
|
|
21
|
+
|
|
22
|
+
## 分析文档
|
|
23
|
+
|
|
24
|
+
{{analysis}}
|
|
25
|
+
|
|
26
|
+
## 输出格式
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"commitMsg": "提交信息(中文,<72字)",
|
|
31
|
+
"analysisMatch": true|false,
|
|
32
|
+
"mismatchReason": "不匹配原因(仅 analysisMatch=false 时填写)",
|
|
33
|
+
"recommendation": "建议:auto-commit 或 confirm-first",
|
|
34
|
+
"qualityNotes": "代码质量备注(可选)"
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 规则
|
|
39
|
+
|
|
40
|
+
- analysisMatch=true:变更内容符合分析范围,可以直接提交
|
|
41
|
+
- analysisMatch=false:变更超出分析范围,建议用户先确认
|
|
42
|
+
- 若无分析文档,analysisMatch 填 true,但 recommend 填 "confirm-first"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 重构流程
|
|
2
|
+
|
|
3
|
+
## 任务
|
|
4
|
+
|
|
5
|
+
1. 分析现有代码,识别重构目标
|
|
6
|
+
2. 制定重构计划(小步快跑,每步可验证)
|
|
7
|
+
3. 确保重构不改变外部行为
|
|
8
|
+
4. 更新相关测试和文档
|
|
9
|
+
|
|
10
|
+
## 重构原则
|
|
11
|
+
|
|
12
|
+
1. **小步快跑**:每次只做一件事(重命名、提取函数、移动文件)
|
|
13
|
+
2. **绿灯保障**:重构前确保测试通过,重构后测试仍通过
|
|
14
|
+
3. **版本控制**:每个重构步骤单独提交
|
|
15
|
+
4. **不混合功能变更**:重构时不修改行为
|
|
16
|
+
|
|
17
|
+
## 检查清单
|
|
18
|
+
|
|
19
|
+
- [ ] 重构前有测试覆盖
|
|
20
|
+
- [ ] 重构后所有测试通过
|
|
21
|
+
- [ ] 接口契约未改变
|
|
22
|
+
- [ ] 性能未退化
|
|
23
|
+
- [ ] 文档已同步更新
|
|
24
|
+
|
|
25
|
+
## 输出格式
|
|
26
|
+
|
|
27
|
+
```markdown
|
|
28
|
+
## 重构计划
|
|
29
|
+
|
|
30
|
+
### 步骤 1:XXX
|
|
31
|
+
- 目标:
|
|
32
|
+
- 影响文件:
|
|
33
|
+
- 验证方式:
|
|
34
|
+
|
|
35
|
+
### 步骤 2:XXX
|
|
36
|
+
...
|
|
37
|
+
```
|