@planu/cli 0.74.0 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/config/license-plans.json +6 -1
- package/dist/engine/elicitation/index.d.ts +1 -0
- package/dist/engine/elicitation/index.d.ts.map +1 -1
- package/dist/engine/elicitation/index.js +1 -0
- package/dist/engine/elicitation/index.js.map +1 -1
- package/dist/engine/elicitation/question-generator.d.ts +13 -0
- package/dist/engine/elicitation/question-generator.d.ts.map +1 -0
- package/dist/engine/elicitation/question-generator.js +112 -0
- package/dist/engine/elicitation/question-generator.js.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/configure-oauth-handler.d.ts +4 -0
- package/dist/tools/configure-oauth-handler.d.ts.map +1 -0
- package/dist/tools/configure-oauth-handler.js +57 -0
- package/dist/tools/configure-oauth-handler.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/architecture-adapter.d.ts.map +1 -1
- package/dist/tools/create-spec-hu/ac-adapters/architecture-adapter.js +30 -5
- package/dist/tools/create-spec-hu/ac-adapters/architecture-adapter.js.map +1 -1
- package/dist/tools/create-spec-hu/frontend-architecture-hu-adapter.d.ts +8 -0
- package/dist/tools/create-spec-hu/frontend-architecture-hu-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/frontend-architecture-hu-adapter.js +95 -0
- package/dist/tools/create-spec-hu/frontend-architecture-hu-adapter.js.map +1 -0
- package/dist/tools/create-spec-hu.d.ts.map +1 -1
- package/dist/tools/create-spec-hu.js +4 -0
- package/dist/tools/create-spec-hu.js.map +1 -1
- package/dist/tools/elicit-requirements-handler.d.ts +4 -0
- package/dist/tools/elicit-requirements-handler.d.ts.map +1 -0
- package/dist/tools/elicit-requirements-handler.js +68 -0
- package/dist/tools/elicit-requirements-handler.js.map +1 -0
- package/dist/tools/generate-spec-from-design.d.ts +3 -0
- package/dist/tools/generate-spec-from-design.d.ts.map +1 -0
- package/dist/tools/generate-spec-from-design.js +90 -0
- package/dist/tools/generate-spec-from-design.js.map +1 -0
- package/dist/tools/register-elicitation-tools.d.ts +3 -0
- package/dist/tools/register-elicitation-tools.d.ts.map +1 -0
- package/dist/tools/register-elicitation-tools.js +33 -0
- package/dist/tools/register-elicitation-tools.js.map +1 -0
- package/dist/tools/register-generate-spec-from-design.d.ts +3 -0
- package/dist/tools/register-generate-spec-from-design.d.ts.map +1 -0
- package/dist/tools/register-generate-spec-from-design.js +45 -0
- package/dist/tools/register-generate-spec-from-design.js.map +1 -0
- package/dist/tools/register-oauth-tools.d.ts +3 -0
- package/dist/tools/register-oauth-tools.d.ts.map +1 -0
- package/dist/tools/register-oauth-tools.js +24 -0
- package/dist/tools/register-oauth-tools.js.map +1 -0
- package/dist/transports/http-transport.d.ts.map +1 -1
- package/dist/transports/http-transport.js +17 -0
- package/dist/transports/http-transport.js.map +1 -1
- package/dist/transports/oauth-validator.d.ts +6 -0
- package/dist/transports/oauth-validator.d.ts.map +1 -0
- package/dist/transports/oauth-validator.js +76 -0
- package/dist/transports/oauth-validator.js.map +1 -0
- package/dist/types/design-to-spec.d.ts +11 -0
- package/dist/types/design-to-spec.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/oauth.d.ts +17 -0
- package/dist/types/oauth.d.ts.map +1 -0
- package/dist/types/oauth.js +3 -0
- package/dist/types/oauth.js.map +1 -0
- package/dist/types/spec-elicitation.d.ts +24 -0
- package/dist/types/spec-elicitation.d.ts.map +1 -0
- package/dist/types/spec-elicitation.js +3 -0
- package/dist/types/spec-elicitation.js.map +1 -0
- package/package.json +1 -1
- package/src/config/license-plans.json +6 -1
package/README.md
CHANGED
|
@@ -242,7 +242,7 @@ claude mcp add planu node /absolute/path/to/planu/dist/index.js
|
|
|
242
242
|
```
|
|
243
243
|
src/
|
|
244
244
|
├── index.ts # MCP server entry point
|
|
245
|
-
├── tools/ # MCP tool handlers (
|
|
245
|
+
├── tools/ # MCP tool handlers (174 tools, 9 streams A-I)
|
|
246
246
|
├── resources/ # MCP resources (read-only)
|
|
247
247
|
├── engine/ # Business logic (estimator, analyzer, validator)
|
|
248
248
|
├── storage/ # JSON persistence layer
|
|
@@ -178,7 +178,12 @@
|
|
|
178
178
|
"generate_infrastructure",
|
|
179
179
|
"spec_usage_report",
|
|
180
180
|
"triage_feedback",
|
|
181
|
-
"resolve_feedback"
|
|
181
|
+
"resolve_feedback",
|
|
182
|
+
"a2a_register",
|
|
183
|
+
"a2a_delegate",
|
|
184
|
+
"generate_spec_from_design",
|
|
185
|
+
"configure_oauth",
|
|
186
|
+
"elicit_requirements"
|
|
182
187
|
],
|
|
183
188
|
"alwaysAllowed": [
|
|
184
189
|
"activate_license",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/elicitation/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/elicitation/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/elicitation/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/elicitation/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ElicitationQuestion, ElicitationSession } from '../../types/index.js';
|
|
2
|
+
export type { ElicitationQuestion, ElicitationSession };
|
|
3
|
+
/** Generate standard clarification questions for a feature spec */
|
|
4
|
+
export declare function generateSpecQuestions(title: string, description: string, context?: {
|
|
5
|
+
framework?: string;
|
|
6
|
+
hasDatabase?: boolean;
|
|
7
|
+
isApi?: boolean;
|
|
8
|
+
}): ElicitationQuestion[];
|
|
9
|
+
/** Format questions as a readable prompt for the LLM to present to the user */
|
|
10
|
+
export declare function formatQuestionsAsPrompt(session: ElicitationSession): string;
|
|
11
|
+
/** Parse answers from free-form text (numbered list format) */
|
|
12
|
+
export declare function parseAnswers(questions: ElicitationQuestion[], answersText: string): Record<string, string>;
|
|
13
|
+
//# sourceMappingURL=question-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-generator.d.ts","sourceRoot":"","sources":["../../../src/engine/elicitation/question-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AAExD,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACvE,mBAAmB,EAAE,CA2EvB;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA2B3E;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAC1B,SAAS,EAAE,mBAAmB,EAAE,EAChC,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBxB"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// src/engine/elicitation/question-generator.ts
|
|
2
|
+
// SPEC-163: Generates structured clarification questions for spec creation.
|
|
3
|
+
/** Generate standard clarification questions for a feature spec */
|
|
4
|
+
export function generateSpecQuestions(title, description, context) {
|
|
5
|
+
const questions = [];
|
|
6
|
+
const lowerDesc = description.toLowerCase();
|
|
7
|
+
questions.push({
|
|
8
|
+
id: 'users',
|
|
9
|
+
category: 'users',
|
|
10
|
+
question: `Who are the primary users of "${title}"?`,
|
|
11
|
+
hint: 'e.g., "authenticated users", "admin only", "all visitors"',
|
|
12
|
+
required: true,
|
|
13
|
+
answerType: 'text',
|
|
14
|
+
});
|
|
15
|
+
questions.push({
|
|
16
|
+
id: 'success',
|
|
17
|
+
category: 'success',
|
|
18
|
+
question: 'How will you know when this feature is successfully implemented?',
|
|
19
|
+
hint: "Describe the outcome from the user's perspective",
|
|
20
|
+
required: true,
|
|
21
|
+
answerType: 'text',
|
|
22
|
+
});
|
|
23
|
+
questions.push({
|
|
24
|
+
id: 'scope',
|
|
25
|
+
category: 'scope',
|
|
26
|
+
question: 'What is the scope of this change?',
|
|
27
|
+
required: true,
|
|
28
|
+
answerType: 'choice',
|
|
29
|
+
choices: [
|
|
30
|
+
'Small change in one place',
|
|
31
|
+
'Medium feature across 2-3 areas',
|
|
32
|
+
'Large cross-module change',
|
|
33
|
+
'Major architectural change',
|
|
34
|
+
],
|
|
35
|
+
});
|
|
36
|
+
questions.push({
|
|
37
|
+
id: 'edge_cases',
|
|
38
|
+
category: 'behavior',
|
|
39
|
+
question: 'What should happen in error or edge cases?',
|
|
40
|
+
hint: 'e.g., "show error message", "redirect to login", "fail silently"',
|
|
41
|
+
required: false,
|
|
42
|
+
answerType: 'text',
|
|
43
|
+
});
|
|
44
|
+
if (context?.hasDatabase === true || lowerDesc.includes('data') || lowerDesc.includes('store')) {
|
|
45
|
+
questions.push({
|
|
46
|
+
id: 'data',
|
|
47
|
+
category: 'data',
|
|
48
|
+
question: 'What data needs to be stored or retrieved for this feature?',
|
|
49
|
+
hint: 'List the key fields/entities involved',
|
|
50
|
+
required: false,
|
|
51
|
+
answerType: 'text',
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
if (context?.isApi === true || lowerDesc.includes('api') || lowerDesc.includes('endpoint')) {
|
|
55
|
+
questions.push({
|
|
56
|
+
id: 'api_contract',
|
|
57
|
+
category: 'constraints',
|
|
58
|
+
question: 'Does this require a new API endpoint or changes to existing ones?',
|
|
59
|
+
required: false,
|
|
60
|
+
answerType: 'yes-no',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
questions.push({
|
|
64
|
+
id: 'performance',
|
|
65
|
+
category: 'constraints',
|
|
66
|
+
question: 'Are there performance requirements (response time, load, etc.)?',
|
|
67
|
+
required: false,
|
|
68
|
+
answerType: 'text',
|
|
69
|
+
});
|
|
70
|
+
return questions;
|
|
71
|
+
}
|
|
72
|
+
/** Format questions as a readable prompt for the LLM to present to the user */
|
|
73
|
+
export function formatQuestionsAsPrompt(session) {
|
|
74
|
+
const lines = [
|
|
75
|
+
`## Clarification needed for: "${session.title}"`,
|
|
76
|
+
'',
|
|
77
|
+
'Please answer the following questions to help create a detailed spec:',
|
|
78
|
+
'',
|
|
79
|
+
];
|
|
80
|
+
session.questions.forEach((q, i) => {
|
|
81
|
+
const required = q.required ? ' *(required)*' : ' *(optional)*';
|
|
82
|
+
lines.push(`**${i + 1}. ${q.question}**${required}`);
|
|
83
|
+
if (q.hint !== undefined) {
|
|
84
|
+
lines.push(` > Hint: ${q.hint}`);
|
|
85
|
+
}
|
|
86
|
+
if (q.choices !== undefined) {
|
|
87
|
+
lines.push(' Options:');
|
|
88
|
+
q.choices.forEach((c) => lines.push(` - ${c}`));
|
|
89
|
+
}
|
|
90
|
+
lines.push('');
|
|
91
|
+
});
|
|
92
|
+
lines.push('---');
|
|
93
|
+
lines.push('*Reply with your answers (e.g., "1. Admin users 2. User sees dashboard with charts...")*');
|
|
94
|
+
return lines.join('\n');
|
|
95
|
+
}
|
|
96
|
+
/** Parse answers from free-form text (numbered list format) */
|
|
97
|
+
export function parseAnswers(questions, answersText) {
|
|
98
|
+
const answers = {};
|
|
99
|
+
const lines = answersText.split('\n');
|
|
100
|
+
lines.forEach((line) => {
|
|
101
|
+
const match = /^(\d+)[.)]\s*(.+)/.exec(line.trim());
|
|
102
|
+
if (match?.[1] !== undefined && match[2] !== undefined) {
|
|
103
|
+
const idx = parseInt(match[1], 10) - 1;
|
|
104
|
+
const question = questions[idx];
|
|
105
|
+
if (idx >= 0 && question !== undefined) {
|
|
106
|
+
answers[question.id] = match[2].trim();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return answers;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=question-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-generator.js","sourceRoot":"","sources":["../../../src/engine/elicitation/question-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -84,6 +84,19 @@ import { registerGenerateProposalTool } from './tools/generate-proposal.js';
|
|
|
84
84
|
import { registerExportPdfTool } from './tools/export-pdf.js';
|
|
85
85
|
import { registerEcosystemTools } from './tools/register-ecosystem-tools.js';
|
|
86
86
|
import { registerFeedbackTools } from './tools/register-feedback-tools.js';
|
|
87
|
+
import { registerA2ATools } from './tools/register-a2a-tools.js';
|
|
88
|
+
import { registerAuditTrailTools } from './tools/register-audit-trail-tools.js';
|
|
89
|
+
import { registerDecomposeTools } from './tools/register-decompose-tools.js';
|
|
90
|
+
import { registerFederationTools } from './tools/register-federation-tools.js';
|
|
91
|
+
import { registerInfrastructureTools } from './tools/register-infrastructure-tools.js';
|
|
92
|
+
import { registerObservabilityTools } from './tools/register-observability-tools.js';
|
|
93
|
+
import { registerRbacTools } from './tools/register-rbac-tools.js';
|
|
94
|
+
import { registerSpecObservabilityTools } from './tools/register-spec-observability-tools.js';
|
|
95
|
+
import { registerVersioningTools } from './tools/register-versioning-tools.js';
|
|
96
|
+
import { registerWellKnownTools } from './tools/register-well-known-tools.js';
|
|
97
|
+
import { registerGenerateSpecFromDesignTool } from './tools/register-generate-spec-from-design.js';
|
|
98
|
+
import { registerOAuthTools } from './tools/register-oauth-tools.js';
|
|
99
|
+
import { registerElicitationTools } from './tools/register-elicitation-tools.js';
|
|
87
100
|
import { registerReconcileRulesTool } from './tools/reconcile-rules.js';
|
|
88
101
|
import { registerReconcileSkillsTool } from './tools/reconcile-skills.js';
|
|
89
102
|
import { registerReconcileHooksTool } from './tools/reconcile-hooks.js';
|
|
@@ -162,6 +175,21 @@ const SERVER_INSTRUCTIONS = [
|
|
|
162
175
|
'- When creating multiple specs at once, present ALL specs for review and let the user approve/reject each one individually.',
|
|
163
176
|
'- The reviewNotes field stores a history of all feedback — implementers can see what was requested and why.',
|
|
164
177
|
'',
|
|
178
|
+
'SKILL DISCOVERY — proactive search, mandatory in these situations:',
|
|
179
|
+
'1. AFTER init_project: call skill_search for EACH technology in the detected stack.',
|
|
180
|
+
' - Use the actual detected values: language, framework, database, key stack entries.',
|
|
181
|
+
' - Works for ANY stack: Python, Go, Rust, Java, Ruby, PHP, .NET — not just JavaScript.',
|
|
182
|
+
' - Example: stack has [Django, PostgreSQL, Celery] → call skill_search("django"), skill_search("postgresql").',
|
|
183
|
+
' - Example: stack has [Next.js, Tailwind, Prisma] → call skill_search("nextjs"), skill_search("prisma").',
|
|
184
|
+
' - Present the top 5 results grouped by technology and offer to install the most relevant.',
|
|
185
|
+
'2. BEFORE implementing any repeatable pattern: call skill_search with the pattern name.',
|
|
186
|
+
' - "add authentication" → skill_search("authentication " + detected_framework)',
|
|
187
|
+
' - "setup CI/CD" → skill_search("github actions") or skill_search("gitlab ci")',
|
|
188
|
+
'3. When the user mentions any technology by name: call skill_search with that term.',
|
|
189
|
+
'- If a matching skill is found: show it, offer to install with skill_install.',
|
|
190
|
+
'- If no skill found: proceed normally and note there are no community skills for that technology yet.',
|
|
191
|
+
'- Explain: "Skills are community-curated guides that encode best practices for this technology."',
|
|
192
|
+
'',
|
|
165
193
|
'RESPONSE FORMAT — MANDATORY for all tool results:',
|
|
166
194
|
'- NEVER show raw JSON.stringify output to the user — always format as readable markdown',
|
|
167
195
|
'- Use emojis for visual hierarchy: ✅ success, ⚠️ warning, ❌ error, 🚀 next steps, 📊 stats',
|
|
@@ -227,6 +255,19 @@ function createMcpServer() {
|
|
|
227
255
|
registerExportPdfTool(s);
|
|
228
256
|
registerEcosystemTools(s);
|
|
229
257
|
registerFeedbackTools(s);
|
|
258
|
+
registerA2ATools(s);
|
|
259
|
+
registerAuditTrailTools(s);
|
|
260
|
+
registerDecomposeTools(s);
|
|
261
|
+
registerFederationTools(s);
|
|
262
|
+
registerInfrastructureTools(s);
|
|
263
|
+
registerObservabilityTools(s);
|
|
264
|
+
registerRbacTools(s);
|
|
265
|
+
registerSpecObservabilityTools(s);
|
|
266
|
+
registerVersioningTools(s);
|
|
267
|
+
registerWellKnownTools(s);
|
|
268
|
+
registerGenerateSpecFromDesignTool(s);
|
|
269
|
+
registerOAuthTools(s);
|
|
270
|
+
registerElicitationTools(s);
|
|
230
271
|
registerReconcileRulesTool(s);
|
|
231
272
|
registerReconcileSkillsTool(s);
|
|
232
273
|
registerReconcileHooksTool(s);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure-oauth-handler.d.ts","sourceRoot":"","sources":["../../src/tools/configure-oauth-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAe,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOrF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAoCnC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BxF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// configure-oauth-handler.ts — Handler for the configure_oauth MCP tool (SPEC-161).
|
|
2
|
+
// Reads and displays the current OAuth config status (without exposing secrets).
|
|
3
|
+
import { loadOAuthConfig, extractBearerToken, validateToken, } from '../transports/oauth-validator.js';
|
|
4
|
+
function buildStatusLines(config) {
|
|
5
|
+
const exampleCurl = config.enabled
|
|
6
|
+
? 'curl -H "Authorization: Bearer <your-token>" http://localhost:3000/mcp'
|
|
7
|
+
: 'curl http://localhost:3000/mcp # No auth required — set SDD_OAUTH_API_KEY to enable';
|
|
8
|
+
const envVars = {
|
|
9
|
+
SDD_OAUTH_API_KEY: 'Set this to enable simple API-key auth (overrides JWT mode)',
|
|
10
|
+
SDD_OAUTH_JWT_SECRET: 'Set this to enable HMAC-signed JWT validation (HS256)',
|
|
11
|
+
SDD_OAUTH_ISSUER: 'Optional: expected "iss" claim in JWT (e.g. https://myapp.com)',
|
|
12
|
+
SDD_OAUTH_AUDIENCE: 'Optional: expected "aud" claim in JWT (e.g. planu-mcp)',
|
|
13
|
+
};
|
|
14
|
+
const lines = [
|
|
15
|
+
`OAuth status: ${config.enabled ? 'ENABLED' : 'DISABLED'}`,
|
|
16
|
+
`Mode: ${config.mode}`,
|
|
17
|
+
];
|
|
18
|
+
if (config.issuer) {
|
|
19
|
+
lines.push(`Issuer: ${config.issuer}`);
|
|
20
|
+
}
|
|
21
|
+
if (config.audience) {
|
|
22
|
+
lines.push(`Audience: ${config.audience}`);
|
|
23
|
+
}
|
|
24
|
+
lines.push('', 'Environment variables:');
|
|
25
|
+
for (const [key, desc] of Object.entries(envVars)) {
|
|
26
|
+
const isSet = process.env[key] !== undefined;
|
|
27
|
+
lines.push(` ${key}: ${isSet ? '(set)' : '(not set)'} — ${desc}`);
|
|
28
|
+
}
|
|
29
|
+
lines.push('', `Example: ${exampleCurl}`);
|
|
30
|
+
return lines;
|
|
31
|
+
}
|
|
32
|
+
export async function handleConfigureOAuth(args) {
|
|
33
|
+
const config = loadOAuthConfig();
|
|
34
|
+
if (args.action === 'status') {
|
|
35
|
+
const lines = buildStatusLines(config);
|
|
36
|
+
return { content: [{ type: 'text', text: lines.join('\n') }] };
|
|
37
|
+
}
|
|
38
|
+
// action === 'test'
|
|
39
|
+
const token = extractBearerToken(args.token ? `Bearer ${args.token}` : undefined);
|
|
40
|
+
if (!token) {
|
|
41
|
+
return {
|
|
42
|
+
content: [{ type: 'text', text: 'Token test result: INVALID — No token provided for test' }],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const testResult = await validateToken(token, config);
|
|
46
|
+
if (testResult.valid) {
|
|
47
|
+
return {
|
|
48
|
+
content: [{ type: 'text', text: 'Token test result: VALID — token accepted successfully' }],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
content: [
|
|
53
|
+
{ type: 'text', text: `Token test result: INVALID — ${testResult.reason ?? 'Rejected'}` },
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=configure-oauth-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure-oauth-handler.js","sourceRoot":"","sources":["../../src/tools/configure-oauth-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/architecture-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"architecture-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/architecture-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAuJ7E"}
|
|
@@ -91,15 +91,40 @@ export function generateArchitectureAcs(knowledge) {
|
|
|
91
91
|
'- [ ] Failure compensation logic (retry / compensate) defined for each activity',
|
|
92
92
|
'- [ ] Determinism enforced: no random, time, or I/O calls inside workflow/actor code',
|
|
93
93
|
];
|
|
94
|
-
// Frontend/rendering patterns — no specialized backend ACs generated
|
|
95
|
-
case 'microfrontends':
|
|
96
|
-
case 'jamstack':
|
|
97
|
-
case 'islands':
|
|
98
94
|
case 'spa':
|
|
99
95
|
case 'mpa':
|
|
96
|
+
return [
|
|
97
|
+
'- [ ] Route-level code splitting implemented — no single bundle with the full app',
|
|
98
|
+
'- [ ] Client-side navigation does not cause memory leaks (event listeners cleaned up on unmount)',
|
|
99
|
+
'- [ ] Global state shape documented — no implicit dependencies between unrelated features',
|
|
100
|
+
];
|
|
100
101
|
case 'ssr':
|
|
101
|
-
case 'ssg':
|
|
102
102
|
case 'isr':
|
|
103
|
+
return [
|
|
104
|
+
'- [ ] Component is hydration-safe: no browser-only APIs called during server render',
|
|
105
|
+
'- [ ] Dynamic data fetched at the correct lifecycle (server-side for SEO-critical content)',
|
|
106
|
+
'- [ ] Cache strategy documented for ISR pages (revalidate interval or on-demand tag)',
|
|
107
|
+
];
|
|
108
|
+
case 'ssg':
|
|
109
|
+
case 'jamstack':
|
|
110
|
+
return [
|
|
111
|
+
'- [ ] All dynamic content uses client-side hydration or an API route — no stale static data',
|
|
112
|
+
'- [ ] Build output audited: no sensitive data embedded in generated HTML/JSON',
|
|
113
|
+
'- [ ] Critical path CSS inlined — no render-blocking external stylesheets',
|
|
114
|
+
];
|
|
115
|
+
case 'microfrontends':
|
|
116
|
+
return [
|
|
117
|
+
'- [ ] MFE boundary clearly defined — no direct imports across micro-frontend packages',
|
|
118
|
+
'- [ ] Shared dependencies (React, design system) loaded once via module federation or import map',
|
|
119
|
+
'- [ ] MFE communicates with host via custom events or a defined contract — not window globals',
|
|
120
|
+
];
|
|
121
|
+
case 'islands':
|
|
122
|
+
return [
|
|
123
|
+
'- [ ] Island component is self-contained — no shared mutable state with the static shell',
|
|
124
|
+
'- [ ] Island hydration deferred until visible (client:visible or equivalent) when not above-fold',
|
|
125
|
+
'- [ ] Each island ships minimal JS — no full app runtime included in a leaf island',
|
|
126
|
+
];
|
|
127
|
+
// No specialized ACs for organizational patterns — handled by other adapters
|
|
103
128
|
case 'monorepo':
|
|
104
129
|
case 'multi-repo':
|
|
105
130
|
case 'cell-based':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture-adapter.js","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/architecture-adapter.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,gFAAgF;AAKhF;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAA2B;IACjE,MAAM,OAAO,GAAwB,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC;IAEpE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO;gBACL,sGAAsG;gBACtG,uGAAuG;gBACvG,sFAAsF;aACvF,CAAC;QAEJ,KAAK,eAAe;YAClB,OAAO;gBACL,wFAAwF;gBACxF,0EAA0E;gBAC1E,4EAA4E;aAC7E,CAAC;QAEJ,KAAK,cAAc,CAAC;QACpB,KAAK,gBAAgB;YACnB,OAAO;gBACL,iFAAiF;gBACjF,uFAAuF;gBACvF,6FAA6F;aAC9F,CAAC;QAEJ,KAAK,YAAY;YACf,OAAO;gBACL,4EAA4E;gBAC5E,gFAAgF;gBAChF,yFAAyF;aAC1F,CAAC;QAEJ,KAAK,UAAU,CAAC;QAChB,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO;gBACL,mFAAmF;gBACnF,4EAA4E;aAC7E,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO;gBACL,2EAA2E;gBAC3E,kEAAkE;gBAClE,+EAA+E;aAChF,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO;gBACL,uFAAuF;gBACvF,+DAA+D;gBAC/D,8FAA8F;aAC/F,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,iGAAiG;gBACjG,8CAA8C;gBAC9C,oFAAoF;aACrF,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO;gBACL,6EAA6E;gBAC7E,0EAA0E;gBAC1E,gEAAgE;aACjE,CAAC;QAEJ,KAAK,KAAK;YACR,OAAO;gBACL,0FAA0F;gBAC1F,gFAAgF;gBAChF,+EAA+E;aAChF,CAAC;QAEJ,KAAK,KAAK,CAAC;QACX,KAAK,aAAa;YAChB,OAAO;gBACL,uFAAuF;gBACvF,yEAAyE;gBACzE,gFAAgF;aACjF,CAAC;QAEJ,KAAK,oBAAoB;YACvB,OAAO;gBACL,+EAA+E;gBAC/E,qFAAqF;gBACrF,mFAAmF;aACpF,CAAC;QAEJ,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU;YACb,OAAO;gBACL,6EAA6E;gBAC7E,iFAAiF;gBACjF,sFAAsF;aACvF,CAAC;QAEJ,
|
|
1
|
+
{"version":3,"file":"architecture-adapter.js","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/architecture-adapter.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,gFAAgF;AAKhF;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAA2B;IACjE,MAAM,OAAO,GAAwB,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC;IAEpE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO;gBACL,sGAAsG;gBACtG,uGAAuG;gBACvG,sFAAsF;aACvF,CAAC;QAEJ,KAAK,eAAe;YAClB,OAAO;gBACL,wFAAwF;gBACxF,0EAA0E;gBAC1E,4EAA4E;aAC7E,CAAC;QAEJ,KAAK,cAAc,CAAC;QACpB,KAAK,gBAAgB;YACnB,OAAO;gBACL,iFAAiF;gBACjF,uFAAuF;gBACvF,6FAA6F;aAC9F,CAAC;QAEJ,KAAK,YAAY;YACf,OAAO;gBACL,4EAA4E;gBAC5E,gFAAgF;gBAChF,yFAAyF;aAC1F,CAAC;QAEJ,KAAK,UAAU,CAAC;QAChB,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO;gBACL,mFAAmF;gBACnF,4EAA4E;aAC7E,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO;gBACL,2EAA2E;gBAC3E,kEAAkE;gBAClE,+EAA+E;aAChF,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO;gBACL,uFAAuF;gBACvF,+DAA+D;gBAC/D,8FAA8F;aAC/F,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,iGAAiG;gBACjG,8CAA8C;gBAC9C,oFAAoF;aACrF,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO;gBACL,6EAA6E;gBAC7E,0EAA0E;gBAC1E,gEAAgE;aACjE,CAAC;QAEJ,KAAK,KAAK;YACR,OAAO;gBACL,0FAA0F;gBAC1F,gFAAgF;gBAChF,+EAA+E;aAChF,CAAC;QAEJ,KAAK,KAAK,CAAC;QACX,KAAK,aAAa;YAChB,OAAO;gBACL,uFAAuF;gBACvF,yEAAyE;gBACzE,gFAAgF;aACjF,CAAC;QAEJ,KAAK,oBAAoB;YACvB,OAAO;gBACL,+EAA+E;gBAC/E,qFAAqF;gBACrF,mFAAmF;aACpF,CAAC;QAEJ,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU;YACb,OAAO;gBACL,6EAA6E;gBAC7E,iFAAiF;gBACjF,sFAAsF;aACvF,CAAC;QAEJ,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO;gBACL,mFAAmF;gBACnF,kGAAkG;gBAClG,2FAA2F;aAC5F,CAAC;QAEJ,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO;gBACL,qFAAqF;gBACrF,4FAA4F;gBAC5F,sFAAsF;aACvF,CAAC;QAEJ,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO;gBACL,6FAA6F;gBAC7F,+EAA+E;gBAC/E,2EAA2E;aAC5E,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,uFAAuF;gBACvF,kGAAkG;gBAClG,+FAA+F;aAChG,CAAC;QAEJ,KAAK,SAAS;YACZ,OAAO;gBACL,0FAA0F;gBAC1F,kGAAkG;gBAClG,oFAAoF;aACrF,CAAC;QAEJ,6EAA6E;QAC7E,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC;QAEZ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProjectKnowledge } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Returns frontend architecture acceptance criteria when atomic design,
|
|
4
|
+
* component library, or design token patterns are detected.
|
|
5
|
+
* Auto-injected into create_spec HU output (SPEC-147).
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildFrontendArchitectureHuSection(knowledge: ProjectKnowledge | null | undefined): string[];
|
|
8
|
+
//# sourceMappingURL=frontend-architecture-hu-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-architecture-hu-adapter.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec-hu/frontend-architecture-hu-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA+E7D;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAC7C,MAAM,EAAE,CAmDV"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// tools/create-spec-hu/frontend-architecture-hu-adapter.ts
|
|
2
|
+
// SPEC-147: Inject frontend architecture ACs when atomic design, design systems,
|
|
3
|
+
// or component-driven patterns are detected.
|
|
4
|
+
const ATOMIC_DESIGN_DIR_KEYWORDS = ['atoms', 'molecules', 'organisms', 'templates', 'pages'];
|
|
5
|
+
const COMPONENT_LIBRARY_KEYWORDS = [
|
|
6
|
+
'storybook',
|
|
7
|
+
'chromatic',
|
|
8
|
+
'ladle',
|
|
9
|
+
'histoire',
|
|
10
|
+
'react-styleguidist',
|
|
11
|
+
];
|
|
12
|
+
const DESIGN_TOKEN_KEYWORDS = ['style-dictionary', 'theo', 'design-tokens', 'token-transformer'];
|
|
13
|
+
/** Returns true when the project follows atomic design structure. */
|
|
14
|
+
function hasAtomicDesign(knowledge) {
|
|
15
|
+
const stack = Array.isArray(knowledge.stack) ? knowledge.stack.map((s) => s.toLowerCase()) : [];
|
|
16
|
+
if (stack.some((s) => ATOMIC_DESIGN_DIR_KEYWORDS.some((k) => s.includes(k)))) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
const conventions = knowledge.conventions;
|
|
20
|
+
const designSystem = (conventions?.['design-system-type'] ?? '').toLowerCase();
|
|
21
|
+
if (designSystem.includes('atomic')) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
/** Returns true when a component documentation tool (Storybook, etc.) is detected. */
|
|
27
|
+
function hasComponentLibrary(knowledge) {
|
|
28
|
+
const stack = Array.isArray(knowledge.stack) ? knowledge.stack.map((s) => s.toLowerCase()) : [];
|
|
29
|
+
const tooling = knowledge.tooling;
|
|
30
|
+
const toolingValues = Object.values(tooling ?? {})
|
|
31
|
+
.join(' ')
|
|
32
|
+
.toLowerCase();
|
|
33
|
+
return (COMPONENT_LIBRARY_KEYWORDS.some((k) => stack.some((s) => s.includes(k)) || toolingValues.includes(k)) ||
|
|
34
|
+
(Array.isArray(knowledge.externalServices) &&
|
|
35
|
+
knowledge.externalServices.some((s) => COMPONENT_LIBRARY_KEYWORDS.some((k) => s.toLowerCase().includes(k)))));
|
|
36
|
+
}
|
|
37
|
+
/** Returns true when design tokens tooling is present. */
|
|
38
|
+
function hasDesignTokens(knowledge) {
|
|
39
|
+
const stack = Array.isArray(knowledge.stack) ? knowledge.stack.map((s) => s.toLowerCase()) : [];
|
|
40
|
+
return DESIGN_TOKEN_KEYWORDS.some((k) => stack.some((s) => s.includes(k)));
|
|
41
|
+
}
|
|
42
|
+
/** Returns true when the project is frontend-focused. */
|
|
43
|
+
function isFrontendProject(knowledge) {
|
|
44
|
+
const frontendPatterns = ['spa', 'ssr', 'ssg', 'isr', 'jamstack', 'islands', 'mpa'];
|
|
45
|
+
if (frontendPatterns.includes(knowledge.architecture.primary)) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
const stack = Array.isArray(knowledge.stack) ? knowledge.stack.map((s) => s.toLowerCase()) : [];
|
|
49
|
+
const frontendFrameworks = [
|
|
50
|
+
'react',
|
|
51
|
+
'vue',
|
|
52
|
+
'angular',
|
|
53
|
+
'svelte',
|
|
54
|
+
'solid',
|
|
55
|
+
'astro',
|
|
56
|
+
'next',
|
|
57
|
+
'nuxt',
|
|
58
|
+
'remix',
|
|
59
|
+
'qwik',
|
|
60
|
+
];
|
|
61
|
+
if (frontendFrameworks.some((f) => stack.some((s) => s.includes(f)))) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
const apps = Array.isArray(knowledge.apps) ? knowledge.apps : [];
|
|
65
|
+
return apps.some((a) => a.type === 'frontend');
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Returns frontend architecture acceptance criteria when atomic design,
|
|
69
|
+
* component library, or design token patterns are detected.
|
|
70
|
+
* Auto-injected into create_spec HU output (SPEC-147).
|
|
71
|
+
*/
|
|
72
|
+
export function buildFrontendArchitectureHuSection(knowledge) {
|
|
73
|
+
if (!knowledge || !isFrontendProject(knowledge)) {
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
const sections = [];
|
|
77
|
+
const atomic = hasAtomicDesign(knowledge);
|
|
78
|
+
const componentLib = hasComponentLibrary(knowledge);
|
|
79
|
+
const designTokens = hasDesignTokens(knowledge);
|
|
80
|
+
if (!atomic && !componentLib && !designTokens) {
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
sections.push('', '## Frontend Architecture Constraints', '');
|
|
84
|
+
if (atomic) {
|
|
85
|
+
sections.push('> This project uses **Atomic Design** — components are organized by complexity (atoms → molecules → organisms).', '', '**Component Structure Criteria:**', '- [ ] Atoms are stateless and accept only props — no internal API calls or side effects', '- [ ] Molecules compose atoms only — no direct access to global state or stores', '- [ ] Organisms may connect to global state, but must export a pure presentational variant for testing', '- [ ] New components placed at the correct atomic level — not in a generic `components/` catch-all', '- [ ] No duplicate component created when an existing atom/molecule covers the same use case', '');
|
|
86
|
+
}
|
|
87
|
+
if (componentLib) {
|
|
88
|
+
sections.push('**Component Documentation Criteria (Storybook / Component Library):**', '- [ ] New UI component has at least one Story covering its default and edge-case states', '- [ ] Story uses realistic mock data — no `undefined` or `null` props that hide visual bugs', '- [ ] Accessibility check passes in Storybook (a11y addon or axe) with no critical violations', '');
|
|
89
|
+
}
|
|
90
|
+
if (designTokens) {
|
|
91
|
+
sections.push('**Design Token Criteria:**', '- [ ] Colors, spacing, and typography use design tokens — no hardcoded hex values or px sizes', '- [ ] New token added to the token schema before use in components', '- [ ] Token names follow the existing naming convention (e.g. `color.brand.primary`, `spacing.md`)', '');
|
|
92
|
+
}
|
|
93
|
+
return sections;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=frontend-architecture-hu-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-architecture-hu-adapter.js","sourceRoot":"","sources":["../../../src/tools/create-spec-hu/frontend-architecture-hu-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-spec-hu.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec-hu.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,IAAI,EAEJ,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-spec-hu.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec-hu.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,IAAI,EAEJ,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAuC3B,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,wCAAwC,CAAC;AAoBhD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,EACnC,WAAW,CAAC,EAAE,OAAO,EACrB,SAAS,CAAC,EAAE,SAAS,EACrB,WAAW,CAAC,EAAE,gBAAgB,GAC7B,MAAM,CAqJR"}
|
|
@@ -23,6 +23,7 @@ import { buildBuildToolHuSection } from './create-spec-hu/build-tool-hu-adapter.
|
|
|
23
23
|
import { buildAiNativeHuSection } from './create-spec-hu/ai-native-hu-adapter.js';
|
|
24
24
|
import { buildFrontendPerfHuSection } from './create-spec-hu/frontend-perf-hu-adapter.js';
|
|
25
25
|
import { buildServerlessHuSection } from './create-spec-hu/serverless-hu-adapter.js';
|
|
26
|
+
import { buildFrontendArchitectureHuSection } from './create-spec-hu/frontend-architecture-hu-adapter.js';
|
|
26
27
|
import { generateHUBody, buildLintingRulesSection, buildEnvVariablesSection, } from './create-spec-hu/hu-body-generators.js';
|
|
27
28
|
export { generateHUBody, generateIosAccessibilityCriteria, generateAndroidAccessibilityCriteria, } from './create-spec-hu/hu-body-generators.js';
|
|
28
29
|
// Keywords that trigger the Linting Rules section
|
|
@@ -137,6 +138,8 @@ export function generateHUContent(spec, description, knowledge, requestDocs, tea
|
|
|
137
138
|
const frontendPerfHuSection = buildFrontendPerfHuSection(knowledge);
|
|
138
139
|
// SPEC-177: Serverless state constraints — no in-memory mutable state for cross-request data
|
|
139
140
|
const serverlessSection = buildServerlessHuSection(knowledge);
|
|
141
|
+
// SPEC-147: Frontend architecture constraints — atomic design, component library, design tokens
|
|
142
|
+
const frontendArchitectureSection = buildFrontendArchitectureHuSection(knowledge);
|
|
140
143
|
return [
|
|
141
144
|
...header,
|
|
142
145
|
...depWarningsSection,
|
|
@@ -160,6 +163,7 @@ export function generateHUContent(spec, description, knowledge, requestDocs, tea
|
|
|
160
163
|
...aiNativeSection,
|
|
161
164
|
...frontendPerfHuSection,
|
|
162
165
|
...serverlessSection,
|
|
166
|
+
...frontendArchitectureSection,
|
|
163
167
|
...doraSection,
|
|
164
168
|
...goldenPathSection,
|
|
165
169
|
...selfServiceSection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-spec-hu.js","sourceRoot":"","sources":["../../src/tools/create-spec-hu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-spec-hu.js","sourceRoot":"","sources":["../../src/tools/create-spec-hu.ts"],"names":[],"mappings":"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"}
|