@intentsolutions/blueprint 2.0.0 → 2.2.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.
Files changed (57) hide show
  1. package/dist/cli.js +117 -75
  2. package/dist/cli.js.map +1 -1
  3. package/dist/core/index.d.ts +62 -0
  4. package/dist/core/index.d.ts.map +1 -0
  5. package/dist/core/index.js +137 -0
  6. package/dist/core/index.js.map +1 -0
  7. package/dist/index.d.ts +10 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +13 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/interview/analyzer.d.ts +39 -0
  12. package/dist/interview/analyzer.d.ts.map +1 -0
  13. package/dist/interview/analyzer.js +353 -0
  14. package/dist/interview/analyzer.js.map +1 -0
  15. package/dist/interview/engine.d.ts +71 -0
  16. package/dist/interview/engine.d.ts.map +1 -0
  17. package/dist/interview/engine.js +194 -0
  18. package/dist/interview/engine.js.map +1 -0
  19. package/dist/interview/index.d.ts +9 -0
  20. package/dist/interview/index.d.ts.map +1 -0
  21. package/dist/interview/index.js +8 -0
  22. package/dist/interview/index.js.map +1 -0
  23. package/dist/interview/questions.d.ts +22 -0
  24. package/dist/interview/questions.d.ts.map +1 -0
  25. package/dist/interview/questions.js +353 -0
  26. package/dist/interview/questions.js.map +1 -0
  27. package/dist/interview/types.d.ts +84 -0
  28. package/dist/interview/types.d.ts.map +1 -0
  29. package/dist/interview/types.js +5 -0
  30. package/dist/interview/types.js.map +1 -0
  31. package/dist/mcp/index.d.ts +7 -0
  32. package/dist/mcp/index.d.ts.map +1 -0
  33. package/dist/mcp/index.js +241 -0
  34. package/dist/mcp/index.js.map +1 -0
  35. package/package.json +30 -10
  36. package/templates/core/01_prd.md +465 -0
  37. package/templates/core/02_adr.md +432 -0
  38. package/templates/core/03_generate_tasks.md +418 -0
  39. package/templates/core/04_process_task_list.md +430 -0
  40. package/templates/core/05_market_research.md +483 -0
  41. package/templates/core/06_architecture.md +561 -0
  42. package/templates/core/07_competitor_analysis.md +462 -0
  43. package/templates/core/08_personas.md +367 -0
  44. package/templates/core/09_user_journeys.md +385 -0
  45. package/templates/core/10_user_stories.md +582 -0
  46. package/templates/core/11_acceptance_criteria.md +687 -0
  47. package/templates/core/12_qa_gate.md +737 -0
  48. package/templates/core/13_risk_register.md +605 -0
  49. package/templates/core/14_project_brief.md +477 -0
  50. package/templates/core/15_brainstorming.md +653 -0
  51. package/templates/core/16_frontend_spec.md +1479 -0
  52. package/templates/core/17_test_plan.md +878 -0
  53. package/templates/core/18_release_plan.md +994 -0
  54. package/templates/core/19_operational_readiness.md +1100 -0
  55. package/templates/core/20_metrics_dashboard.md +1375 -0
  56. package/templates/core/21_postmortem.md +1122 -0
  57. package/templates/core/22_playtest_usability.md +1624 -0
@@ -0,0 +1,241 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Intent Blueprint MCP Server
4
+ * Exposes documentation generation tools to Claude/Cursor via MCP protocol
5
+ */
6
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
8
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
9
+ import { z } from 'zod';
10
+ import { listTemplates, generateDocument, generateAllDocuments, writeDocuments, getTemplatesForScope, } from '../core/index.js';
11
+ import { InterviewEngine, } from '../interview/index.js';
12
+ // Tool schemas
13
+ const GenerateSchema = z.object({
14
+ projectName: z.string().describe('Name of the project'),
15
+ projectDescription: z.string().describe('Brief description of what the project does'),
16
+ scope: z.enum(['mvp', 'standard', 'comprehensive']).default('standard'),
17
+ audience: z.enum(['startup', 'business', 'enterprise']).default('business'),
18
+ outputDir: z.string().optional(),
19
+ projectType: z.string().optional(),
20
+ techStack: z.array(z.string()).optional(),
21
+ });
22
+ const InterviewSchema = z.object({
23
+ answers: z.record(z.unknown()).optional().describe('Answers provided so far'),
24
+ action: z.enum(['start', 'answer', 'complete', 'analyze']).default('start'),
25
+ });
26
+ const ListTemplatesSchema = z.object({
27
+ scope: z.enum(['mvp', 'standard', 'comprehensive']).optional(),
28
+ category: z.string().optional(),
29
+ });
30
+ const CustomizeSchema = z.object({
31
+ templateId: z.string(),
32
+ projectName: z.string(),
33
+ customFields: z.record(z.string()),
34
+ });
35
+ const ExportSchema = z.object({
36
+ projectName: z.string(),
37
+ target: z.enum(['github', 'linear', 'jira', 'notion']),
38
+ options: z.record(z.string()).optional(),
39
+ });
40
+ const TOOLS = [
41
+ {
42
+ name: 'blueprint_generate',
43
+ description: 'Generate enterprise documentation from a project description. Creates PRD, architecture docs, task breakdowns, and more.',
44
+ inputSchema: {
45
+ type: 'object',
46
+ properties: {
47
+ projectName: { type: 'string', description: 'Name of the project' },
48
+ projectDescription: { type: 'string', description: 'Brief description' },
49
+ scope: { type: 'string', enum: ['mvp', 'standard', 'comprehensive'], default: 'standard' },
50
+ audience: { type: 'string', enum: ['startup', 'business', 'enterprise'], default: 'business' },
51
+ outputDir: { type: 'string', description: 'Output directory (optional)' },
52
+ projectType: { type: 'string' },
53
+ techStack: { type: 'array', items: { type: 'string' } },
54
+ },
55
+ required: ['projectName', 'projectDescription'],
56
+ },
57
+ },
58
+ {
59
+ name: 'blueprint_interview',
60
+ description: 'Start an interactive interview to gather project information.',
61
+ inputSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ currentAnswers: { type: 'object', additionalProperties: { type: 'string' } },
65
+ questionIndex: { type: 'number', default: 0 },
66
+ },
67
+ },
68
+ },
69
+ {
70
+ name: 'blueprint_list_templates',
71
+ description: 'List all available documentation templates.',
72
+ inputSchema: {
73
+ type: 'object',
74
+ properties: {
75
+ scope: { type: 'string', enum: ['mvp', 'standard', 'comprehensive'] },
76
+ category: { type: 'string' },
77
+ },
78
+ },
79
+ },
80
+ {
81
+ name: 'blueprint_customize',
82
+ description: 'Generate a single customized document from a template.',
83
+ inputSchema: {
84
+ type: 'object',
85
+ properties: {
86
+ templateId: { type: 'string' },
87
+ projectName: { type: 'string' },
88
+ customFields: { type: 'object', additionalProperties: { type: 'string' } },
89
+ },
90
+ required: ['templateId', 'projectName', 'customFields'],
91
+ },
92
+ },
93
+ {
94
+ name: 'blueprint_export',
95
+ description: 'Export documentation to GitHub, Linear, Jira, or Notion.',
96
+ inputSchema: {
97
+ type: 'object',
98
+ properties: {
99
+ projectName: { type: 'string' },
100
+ target: { type: 'string', enum: ['github', 'linear', 'jira', 'notion'] },
101
+ options: { type: 'object', additionalProperties: { type: 'string' } },
102
+ },
103
+ required: ['projectName', 'target'],
104
+ },
105
+ },
106
+ ];
107
+ const server = new Server({ name: 'intent-blueprint', version: '2.1.0' }, { capabilities: { tools: {} } });
108
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
109
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
110
+ const { name, arguments: args } = request.params;
111
+ switch (name) {
112
+ case 'blueprint_generate': {
113
+ const input = GenerateSchema.parse(args);
114
+ const context = {
115
+ projectName: input.projectName,
116
+ projectDescription: input.projectDescription,
117
+ scope: input.scope,
118
+ audience: input.audience,
119
+ projectType: input.projectType,
120
+ techStack: input.techStack,
121
+ };
122
+ const docs = generateAllDocuments(context);
123
+ const outputDir = input.outputDir || `./docs/${input.projectName.toLowerCase().replace(/\s+/g, '-')}`;
124
+ const files = writeDocuments(docs, outputDir);
125
+ return {
126
+ content: [{
127
+ type: 'text',
128
+ text: `Generated ${docs.length} documents for "${input.projectName}"\n\nOutput: ${outputDir}\n\nDocuments:\n${docs.map(d => `- ${d.name}`).join('\n')}`,
129
+ }],
130
+ };
131
+ }
132
+ case 'blueprint_interview': {
133
+ const input = InterviewSchema.parse(args);
134
+ const engine = new InterviewEngine();
135
+ if (input.answers) {
136
+ engine.setAnswers(input.answers);
137
+ }
138
+ const state = engine.getState();
139
+ if (input.action === 'analyze' || input.action === 'complete' || state.isComplete) {
140
+ const result = engine.complete();
141
+ return {
142
+ content: [{
143
+ type: 'text',
144
+ text: `Interview Analysis Complete!
145
+
146
+ **Project:** ${result.answers.projectName || 'Untitled'}
147
+ **Type:** ${result.detected.projectType}
148
+ **Complexity:** ${result.detected.complexity}
149
+ **Suggested Scope:** ${result.detected.suggestedScope} (${result.detected.suggestedScope === 'mvp' ? 4 : result.detected.suggestedScope === 'standard' ? 12 : 22} docs)
150
+ **Confidence:** ${result.detected.confidence}%
151
+
152
+ **Technologies Detected:** ${result.detected.detectedTechnologies.join(', ') || 'None specified'}
153
+ **Features Detected:** ${result.detected.detectedFeatures.join(', ') || 'None detected'}
154
+
155
+ ${result.gaps.suggestions.length > 0 ? `**Suggestions:**\n${result.gaps.suggestions.map(s => `- ${s}`).join('\n')}` : ''}
156
+
157
+ Use \`blueprint_generate\` with these values to create documentation.`,
158
+ }],
159
+ };
160
+ }
161
+ const nextQ = state.currentQuestion;
162
+ const progress = state.progress;
163
+ if (!nextQ) {
164
+ return {
165
+ content: [{
166
+ type: 'text',
167
+ text: 'Interview complete! Use action: "complete" to see analysis.',
168
+ }],
169
+ };
170
+ }
171
+ return {
172
+ content: [{
173
+ type: 'text',
174
+ text: `**Question ${progress.answered + 1}/${progress.total}** (${progress.percentage}% complete)
175
+ ${nextQ.required ? '*(required)*' : '*(optional)*'}
176
+
177
+ ${nextQ.text}
178
+ ${nextQ.hint ? `\n*Hint: ${nextQ.hint}*` : ''}
179
+ ${nextQ.options ? `\n**Options:** ${nextQ.options.join(', ')}` : ''}
180
+
181
+ To answer, call blueprint_interview with:
182
+ \`{ "answers": { "${nextQ.id}": "your answer", ...previous_answers }, "action": "answer" }\``,
183
+ }],
184
+ };
185
+ }
186
+ case 'blueprint_list_templates': {
187
+ const input = ListTemplatesSchema.parse(args);
188
+ let templates = input.scope ? getTemplatesForScope(input.scope) : listTemplates();
189
+ if (input.category) {
190
+ templates = templates.filter(t => t.category.toLowerCase().includes(input.category.toLowerCase()));
191
+ }
192
+ const grouped = templates.reduce((acc, t) => {
193
+ if (!acc[t.category])
194
+ acc[t.category] = [];
195
+ acc[t.category].push(t);
196
+ return acc;
197
+ }, {});
198
+ return {
199
+ content: [{
200
+ type: 'text',
201
+ text: `Available Templates:\n\n${Object.entries(grouped).map(([cat, temps]) => `${cat}:\n${temps.map(t => ` - ${t.name} (${t.id})`).join('\n')}`).join('\n\n')}`,
202
+ }],
203
+ };
204
+ }
205
+ case 'blueprint_customize': {
206
+ const input = CustomizeSchema.parse(args);
207
+ const context = {
208
+ projectName: input.projectName,
209
+ projectDescription: input.customFields.projectDescription || '',
210
+ scope: 'comprehensive',
211
+ audience: 'business',
212
+ ...input.customFields,
213
+ };
214
+ const doc = generateDocument(input.templateId, context);
215
+ return {
216
+ content: [{ type: 'text', text: `Generated: ${doc.name}\n\n---\n\n${doc.content}` }],
217
+ };
218
+ }
219
+ case 'blueprint_export': {
220
+ const input = ExportSchema.parse(args);
221
+ return {
222
+ content: [{
223
+ type: 'text',
224
+ text: `Export to ${input.target} coming soon!\n\nFor now, use blueprint_generate to create local files.`,
225
+ }],
226
+ };
227
+ }
228
+ default:
229
+ throw new Error(`Unknown tool: ${name}`);
230
+ }
231
+ });
232
+ export async function startMcpServer() {
233
+ const transport = new StdioServerTransport();
234
+ await server.connect(transport);
235
+ console.error('Intent Blueprint MCP Server running...');
236
+ }
237
+ // Run if called directly
238
+ if (import.meta.url === `file://${process.argv[1]}`) {
239
+ startMcpServer().catch(console.error);
240
+ }
241
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,GAKhB,MAAM,uBAAuB,CAAC;AAE/B,eAAe;AACf,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACvD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACrF,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACvE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC7E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,KAAK,GAAW;IACpB;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,0HAA0H;QACvI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBACnE,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACxE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;gBAC1F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;gBAC9F,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;gBACzE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aACxD;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;SAChD;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC5E,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;aAC9C;SACF;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE;gBACrE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7B;SACF;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aAC3E;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC;SACxD;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACxE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aACtE;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;SACpC;KACF;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC9C,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,OAAO,GAAoB;gBAC/B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YAEF,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,UAAU,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtG,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAE9C,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa,IAAI,CAAC,MAAM,mBAAmB,KAAK,CAAC,WAAW,gBAAgB,SAAS,mBAAmB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACxJ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAErC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAA2B,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAClF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;;eAEH,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,UAAU;YAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW;kBACrB,MAAM,CAAC,QAAQ,CAAC,UAAU;uBACrB,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;kBAC9I,MAAM,CAAC,QAAQ,CAAC,UAAU;;6BAEf,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB;yBACvE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe;;EAErF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;sEAElD;yBAC3D,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAEhC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,6DAA6D;yBACpE,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,cAAc,QAAQ,CAAC,QAAQ,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,OAAO,QAAQ,CAAC,UAAU;EAC7F,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc;;EAEhD,KAAK,CAAC,IAAI;EACV,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;EAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;oBAG/C,KAAK,CAAC,EAAE,iEAAiE;qBACpF,CAAC;aACH,CAAC;QACJ,CAAC;QAED,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAClF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACtG,CAAC;YAED,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAC3C,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAsC,CAAC,CAAC;YAE3C,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC5E,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;qBACjB,CAAC;aACH,CAAC;QACJ,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAoB;gBAC/B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,kBAAkB,IAAI,EAAE;gBAC/D,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,UAAU;gBACpB,GAAG,KAAK,CAAC,YAAY;aACtB,CAAC;YAEF,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACxD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;aACrF,CAAC;QACJ,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa,KAAK,CAAC,MAAM,yEAAyE;qBACzG,CAAC;aACH,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC1D,CAAC;AAED,yBAAyB;AACzB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,cAAc,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,29 +1,45 @@
1
1
  {
2
2
  "name": "@intentsolutions/blueprint",
3
- "version": "2.0.0",
4
- "description": "CLI for Intent Blueprint Docs - Generate enterprise documentation with AI",
3
+ "version": "2.2.0",
4
+ "description": "Enterprise AI documentation generator - CLI, MCP Server, and programmatic API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./mcp": {
14
+ "types": "./dist/mcp/index.d.ts",
15
+ "import": "./dist/mcp/index.js"
16
+ }
17
+ },
8
18
  "bin": {
9
- "blueprint": "./dist/cli.js"
19
+ "blueprint": "./dist/cli.js",
20
+ "blueprint-mcp": "./dist/mcp/index.js"
10
21
  },
11
22
  "files": [
12
- "dist"
23
+ "dist",
24
+ "templates"
13
25
  ],
14
26
  "scripts": {
15
27
  "build": "tsc",
16
28
  "dev": "tsc --watch",
17
29
  "clean": "rm -rf dist",
18
30
  "test": "vitest",
19
- "start": "node dist/cli.js"
31
+ "start": "node dist/cli.js",
32
+ "mcp": "node dist/mcp/index.js"
20
33
  },
21
34
  "keywords": [
22
35
  "cli",
36
+ "mcp",
23
37
  "documentation",
24
38
  "prd-generator",
25
39
  "ai-documentation",
26
- "enterprise-templates"
40
+ "enterprise-templates",
41
+ "claude",
42
+ "cursor"
27
43
  ],
28
44
  "author": "Jeremy Longshore <jeremy@intentsolutions.io>",
29
45
  "license": "Apache-2.0",
@@ -33,15 +49,19 @@
33
49
  "directory": "packages/cli"
34
50
  },
35
51
  "dependencies": {
36
- "@intentsolutions/blueprint-core": "*",
52
+ "@modelcontextprotocol/sdk": "^0.5.0",
53
+ "chalk": "^5.3.0",
37
54
  "commander": "^12.0.0",
55
+ "handlebars": "^4.7.8",
38
56
  "inquirer": "^9.2.0",
39
- "chalk": "^5.3.0",
40
- "ora": "^8.0.0"
57
+ "js-yaml": "^4.1.0",
58
+ "marked": "^12.0.0",
59
+ "ora": "^8.0.0",
60
+ "zod": "^3.22.0"
41
61
  },
42
62
  "devDependencies": {
43
- "@types/node": "^20.0.0",
44
63
  "@types/inquirer": "^9.0.0",
64
+ "@types/node": "^20.0.0",
45
65
  "typescript": "^5.3.0",
46
66
  "vitest": "^1.0.0"
47
67
  },