@dinyangetoh/codeplug-cli 0.1.4 → 0.1.5

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 (40) hide show
  1. package/README.md +130 -409
  2. package/dist/cli/commands/docs.d.ts +1 -3
  3. package/dist/cli/commands/docs.d.ts.map +1 -1
  4. package/dist/cli/commands/docs.js +1 -5
  5. package/dist/cli/commands/docs.js.map +1 -1
  6. package/dist/cli/index.js +1 -2
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/core/generator/DocGenerator.d.ts.map +1 -1
  9. package/dist/core/generator/DocGenerator.js +3 -31
  10. package/dist/core/generator/DocGenerator.js.map +1 -1
  11. package/dist/core/generator/documents/ArchitectureGenerator.d.ts.map +1 -1
  12. package/dist/core/generator/documents/ArchitectureGenerator.js +16 -23
  13. package/dist/core/generator/documents/ArchitectureGenerator.js.map +1 -1
  14. package/dist/core/generator/documents/ContributingGenerator.d.ts.map +1 -1
  15. package/dist/core/generator/documents/ContributingGenerator.js +15 -21
  16. package/dist/core/generator/documents/ContributingGenerator.js.map +1 -1
  17. package/dist/core/generator/documents/ConventionsGenerator.js +17 -17
  18. package/dist/core/generator/documents/ConventionsGenerator.js.map +1 -1
  19. package/dist/core/generator/documents/OnboardingGenerator.d.ts.map +1 -1
  20. package/dist/core/generator/documents/OnboardingGenerator.js +19 -29
  21. package/dist/core/generator/documents/OnboardingGenerator.js.map +1 -1
  22. package/dist/core/generator/documents/ReadmeGenerator.d.ts +4 -3
  23. package/dist/core/generator/documents/ReadmeGenerator.d.ts.map +1 -1
  24. package/dist/core/generator/documents/ReadmeGenerator.js +147 -150
  25. package/dist/core/generator/documents/ReadmeGenerator.js.map +1 -1
  26. package/dist/core/generator/documents/promptHelpers.d.ts +1 -1
  27. package/dist/core/generator/documents/promptHelpers.d.ts.map +1 -1
  28. package/dist/core/generator/documents/promptHelpers.js +1 -1
  29. package/dist/core/generator/documents/promptHelpers.js.map +1 -1
  30. package/dist/core/generator/documents/types.d.ts +2 -6
  31. package/dist/core/generator/documents/types.d.ts.map +1 -1
  32. package/dist/core/generator/facts/FactExtractor.d.ts +5 -0
  33. package/dist/core/generator/facts/FactExtractor.d.ts.map +1 -0
  34. package/dist/core/generator/facts/FactExtractor.js +90 -0
  35. package/dist/core/generator/facts/FactExtractor.js.map +1 -0
  36. package/dist/core/generator/facts/types.d.ts +18 -0
  37. package/dist/core/generator/facts/types.d.ts.map +1 -0
  38. package/dist/core/generator/facts/types.js +2 -0
  39. package/dist/core/generator/facts/types.js.map +1 -0
  40. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { basename } from 'node:path';
2
- import { EXECUTIVE_SUMMARY_INSTRUCTION, EXISTING_CONTENT_INSTRUCTION, STRUCTURE_INSTRUCTION, } from './promptHelpers.js';
2
+ import { OVERVIEW_INSTRUCTION, EXISTING_CONTENT_INSTRUCTION, STRUCTURE_INSTRUCTION, } from './promptHelpers.js';
3
3
  export class OnboardingGenerator {
4
4
  async generate(ctx) {
5
5
  const projectName = ctx.packageMetadata?.name ?? basename(ctx.projectRoot);
@@ -18,22 +18,16 @@ export class OnboardingGenerator {
18
18
  }
19
19
  buildProjectOverview(ctx) {
20
20
  const { analysis } = ctx;
21
- const summary = ctx.mlPipelineResult?.summary;
22
- const description = ctx.packageMetadata?.description;
23
- const lines = ['## Executive Summary\n'];
24
- if (summary)
25
- lines.push(summary, '');
26
- else if (description) {
27
- lines.push(`**What is ${ctx.packageMetadata?.name ?? basename(ctx.projectRoot)}?** ${description}`);
28
- lines.push('');
21
+ const description = ctx.facts.description;
22
+ const projectName = ctx.facts.projectName;
23
+ const lines = ['## Overview\n'];
24
+ if (description) {
25
+ lines.push(`**What is ${projectName}?** ${description}`, '');
29
26
  }
30
- lines.push(`The codebase contains ${analysis.fileCount} source files.`, `${ctx.conventions.length} coding conventions have been identified.`, '');
27
+ lines.push(`The codebase contains ${analysis.fileCount} source files.`, `${ctx.facts.conventions.length} coding conventions have been identified.`, '');
31
28
  return lines.join('\n');
32
29
  }
33
30
  buildEnvironmentSetup(projectName, ctx) {
34
- const extractions = ctx?.mlPipelineResult?.extractions;
35
- const setupSteps = extractions?.['What are the setup steps?'];
36
- const runFirst = extractions?.['What should a new developer run first?'];
37
31
  const nodeReq = ctx?.packageMetadata?.engines?.node ?? '20.0.0';
38
32
  const lines = [
39
33
  '## Environment Setup\n',
@@ -42,20 +36,16 @@ export class OnboardingGenerator {
42
36
  '- npm or yarn',
43
37
  '',
44
38
  ];
45
- if (setupSteps)
46
- lines.push(setupSteps, '');
47
39
  lines.push('### Installation\n', '```bash', 'git clone <repository-url>', `cd ${projectName}`, 'npm install', '```', '', '### Verify Setup\n', '```bash', 'npm run build', 'npm test', '```', '');
48
- if (runFirst)
49
- lines.push('**First steps:** ', runFirst, '', '');
40
+ const devScripts = ctx?.facts.scripts ? Object.keys(ctx.facts.scripts).filter((s) => ['build', 'test', 'dev'].includes(s)) : [];
41
+ if (devScripts.length > 0) {
42
+ lines.push('**First steps:** ', `npm run ${devScripts[0]}`, '', '');
43
+ }
50
44
  return lines.join('\n');
51
45
  }
52
46
  buildKeyConcepts(ctx) {
53
- const extractions = ctx.mlPipelineResult?.extractions;
54
- const keyConcepts = extractions?.['What are the key concepts to understand?'];
55
47
  const dimensions = [...new Set(ctx.analysis.patterns.map((p) => p.dimension))];
56
48
  const lines = ['## Key Concepts\n'];
57
- if (keyConcepts)
58
- lines.push(keyConcepts, '');
59
49
  for (const dim of dimensions) {
60
50
  const patterns = ctx.analysis.patterns.filter((p) => p.dimension === dim);
61
51
  if (patterns.length === 0)
@@ -66,18 +56,18 @@ export class OnboardingGenerator {
66
56
  }
67
57
  lines.push('');
68
58
  }
69
- if (dimensions.length === 0 && !keyConcepts)
59
+ if (dimensions.length === 0)
70
60
  return '';
71
61
  return lines.join('\n');
72
62
  }
73
63
  buildArchitectureTour(ctx) {
74
- const root = ctx.analysis.folderStructure;
64
+ const root = ctx.facts.folderStructure;
75
65
  if (root.children.length === 0)
76
66
  return '';
77
- const summary = ctx.mlPipelineResult?.summary;
67
+ const description = ctx.facts.description;
78
68
  const lines = ['## Architecture Tour\n'];
79
- if (summary)
80
- lines.push(summary, '');
69
+ if (description)
70
+ lines.push(description, '');
81
71
  lines.push('Key directories:\n');
82
72
  for (const child of root.children) {
83
73
  lines.push(`- **${child.name}/** — ${child.fileCount} files${this.describePurpose(child)}`);
@@ -101,7 +91,7 @@ export class OnboardingGenerator {
101
91
  return purposes[name] ?? '';
102
92
  }
103
93
  buildCommonTasks(ctx) {
104
- const scripts = ctx?.packageMetadata?.scripts ?? {};
94
+ const scripts = ctx?.facts?.scripts ?? {};
105
95
  const defaults = [
106
96
  ['Build', 'build'],
107
97
  ['Run tests', 'test'],
@@ -117,7 +107,7 @@ export class OnboardingGenerator {
117
107
  async enhanceWithLlm(ctx, template) {
118
108
  const parts = [
119
109
  `Improve this ONBOARDING.md for a ${ctx.audience} audience in a ${ctx.style} style.`,
120
- EXECUTIVE_SUMMARY_INSTRUCTION,
110
+ OVERVIEW_INSTRUCTION,
121
111
  STRUCTURE_INSTRUCTION,
122
112
  'Include "What is [Project]?" with the project tagline from package metadata. Make it friendly and thorough for new team members.',
123
113
  'Do not leave placeholder text like [brief description]. Use the provided metadata and analysis.',
@@ -128,7 +118,7 @@ export class OnboardingGenerator {
128
118
  }
129
119
  parts.push('Return only the final markdown.\n', template);
130
120
  return ctx.llmClient.generate(parts.join('\n'), {
131
- systemPrompt: 'You are a technical writer creating onboarding documentation for new developers. Include an executive summary and project tagline.',
121
+ systemPrompt: 'You are a technical writer creating onboarding documentation for new developers. Include an Overview and project tagline.',
132
122
  temperature: 0.3,
133
123
  maxTokens: 2500,
134
124
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingGenerator.js","sourceRoot":"","sources":["../../../../src/core/generator/documents/OnboardingGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OnboardingGenerator.js","sourceRoot":"","sources":["../../../../src/core/generator/documents/OnboardingGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import type { DocumentGenerator, GenerationContext } from './types.js';
1
+ import type { DocumentGenerator, GenerationContext } from "./types.js";
2
2
  export declare class ReadmeGenerator implements DocumentGenerator {
3
3
  generate(ctx: GenerationContext): Promise<string>;
4
- private buildDescription;
5
- private buildFeatures;
4
+ private buildOverview;
5
+ private buildKeyFeatures;
6
6
  private buildQuickStart;
7
7
  private buildPrerequisites;
8
8
  private buildInstallation;
9
9
  private buildUsage;
10
+ private buildProjectStructure;
10
11
  private buildFolderStructure;
11
12
  private renderTree;
12
13
  private buildTechStack;
@@ -1 +1 @@
1
- {"version":3,"file":"ReadmeGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generator/documents/ReadmeGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAC;AAO3F,qBAAa,eAAgB,YAAW,iBAAiB;IACjD,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBvD,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,uBAAuB;YAsBjB,cAAc;CAqC7B"}
1
+ {"version":3,"file":"ReadmeGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generator/documents/ReadmeGenerator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAgB,YAAW,iBAAiB;IACjD,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBvD,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAwCzB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,uBAAuB;YAsBjB,cAAc;CAwC7B"}
@@ -1,240 +1,237 @@
1
- import { basename } from 'node:path';
2
- import { DEFAULT_DOCS } from '../../../config/defaults.js';
3
- import { EXECUTIVE_SUMMARY_INSTRUCTION, EXISTING_CONTENT_INSTRUCTION, STRUCTURE_INSTRUCTION, } from './promptHelpers.js';
1
+ import { DEFAULT_DOCS } from "../../../config/defaults.js";
2
+ import { EXISTING_CONTENT_INSTRUCTION, OVERVIEW_INSTRUCTION, STRUCTURE_INSTRUCTION, } from "./promptHelpers.js";
4
3
  export class ReadmeGenerator {
5
4
  async generate(ctx) {
6
- const projectName = ctx.packageMetadata?.name ?? basename(ctx.projectRoot);
5
+ const projectName = ctx.facts.projectName;
7
6
  const sections = [];
8
7
  sections.push(`# ${projectName}\n`);
9
- sections.push(this.buildDescription(ctx));
10
- sections.push(this.buildFeatures(ctx));
11
- sections.push(this.buildQuickStart(projectName, ctx));
8
+ sections.push(this.buildOverview(ctx));
9
+ sections.push(this.buildKeyFeatures(ctx));
12
10
  sections.push(this.buildPrerequisites(ctx));
13
11
  sections.push(this.buildInstallation(projectName, ctx));
12
+ sections.push(this.buildQuickStart(projectName, ctx));
14
13
  sections.push(this.buildUsage(ctx));
15
- sections.push(this.buildFolderStructure(ctx.analysis.folderStructure));
14
+ sections.push(this.buildProjectStructure(ctx));
16
15
  sections.push(this.buildTechStack(ctx));
17
16
  sections.push(this.buildConfiguration(ctx));
18
- sections.push(this.buildDevelopment(ctx));
19
17
  sections.push(this.buildConventionsSummary(ctx));
20
- const template = sections.filter(Boolean).join('\n');
18
+ sections.push(this.buildDevelopment(ctx));
19
+ const template = sections.filter(Boolean).join("\n");
21
20
  if (ctx.llmAvailable && ctx.llmClient) {
22
21
  return this.enhanceWithLlm(ctx, template);
23
22
  }
24
23
  return template;
25
24
  }
26
- buildDescription(ctx) {
27
- const summary = ctx.mlPipelineResult?.summary;
28
- const tagline = ctx.packageMetadata?.description;
25
+ buildOverview(ctx) {
26
+ const description = ctx.facts.description;
29
27
  const { analysis } = ctx;
30
28
  const topPatterns = analysis.patterns
31
29
  .slice(0, 3)
32
30
  .map((p) => p.pattern)
33
- .join(', ');
34
- if (summary) {
35
- return [`## Overview\n`, summary, '', topPatterns ? `Key patterns: ${topPatterns}.` : '', ''].filter(Boolean).join('\n');
36
- }
37
- if (tagline) {
38
- return [`## Overview\n`, tagline, '', topPatterns ? `Key patterns: ${topPatterns}.` : '', ''].filter(Boolean).join('\n');
31
+ .join(", ");
32
+ if (description) {
33
+ return [
34
+ `## Overview\n`,
35
+ description,
36
+ "",
37
+ topPatterns ? `Key patterns: ${topPatterns}.` : "",
38
+ "",
39
+ ]
40
+ .filter(Boolean)
41
+ .join("\n");
39
42
  }
40
43
  return [
41
- '## Overview\n',
44
+ "## Overview\n",
42
45
  `A project with ${analysis.fileCount} source files.`,
43
- topPatterns ? `Key patterns: ${topPatterns}.` : '',
44
- '',
45
- ].filter(Boolean).join('\n');
46
+ topPatterns ? `Key patterns: ${topPatterns}.` : "",
47
+ "",
48
+ ]
49
+ .filter(Boolean)
50
+ .join("\n");
46
51
  }
47
- buildFeatures(ctx) {
48
- const extractions = ctx.mlPipelineResult?.extractions;
49
- const keyFeatures = extractions?.['What are the key features?'];
50
- const keywords = ctx.packageMetadata?.keywords ?? [];
51
- const dimensions = new Set(ctx.analysis.patterns.map((p) => p.dimension));
52
- const features = [];
53
- if (keyFeatures?.trim())
54
- features.push(keyFeatures.trim());
55
- if (keywords.length > 0)
56
- features.push(...keywords.slice(0, 6));
57
- if (dimensions.has('component'))
58
- features.push('Component-based architecture');
59
- if (dimensions.has('testing'))
60
- features.push('Automated testing');
61
- if (ctx.conventions.length > 0)
62
- features.push('Convention detection');
52
+ buildKeyFeatures(ctx) {
53
+ const features = ctx.facts.features;
63
54
  if (features.length === 0)
64
- return '';
65
- return ['## Features\n', ...features.map((f) => `- ${f}`), '', ''].join('\n');
55
+ return "";
56
+ return ["## Key Features\n", ...features.map((f) => `- ${f}`), "", ""].join("\n");
66
57
  }
67
58
  buildQuickStart(projectName, ctx) {
68
- const bin = ctx.packageMetadata?.bin;
69
- const isCli = !!bin;
70
- const pkgName = ctx.packageMetadata?.name ?? 'package-name';
71
- if (isCli) {
72
- const cmd = typeof bin === 'string' ? bin.split('/').pop() ?? pkgName.replace(/^@[\w-]+\//, '') : Object.keys(bin)[0] ?? 'cli';
59
+ if (!ctx.facts.hasCLI) {
73
60
  return [
74
- '## Quick Start\n',
75
- '```bash',
76
- 'npm install -g @dinyangetoh/codeplug-cli',
61
+ "## Quick Start\n",
62
+ "```bash",
63
+ "git clone <repository-url>",
77
64
  `cd ${projectName}`,
78
- `${cmd} convention init`,
79
- `${cmd} convention audit`,
80
- '```',
81
- '',
82
- ].join('\n');
65
+ "npm install",
66
+ "npm run build",
67
+ "npm start",
68
+ "```",
69
+ "",
70
+ ].join("\n");
83
71
  }
72
+ const pkgName = ctx.packageMetadata?.name ?? "package-name";
73
+ const bin = ctx.packageMetadata?.bin;
74
+ const cmd = typeof bin === "string"
75
+ ? (bin.split("/").pop() ?? pkgName.replace(/^@[\w-]+\//, ""))
76
+ : (Object.keys(bin ?? {})[0] ?? "cli");
84
77
  return [
85
- '## Quick Start\n',
86
- '```bash',
87
- 'git clone <repository-url>',
78
+ "## Quick Start\n",
79
+ "```bash",
80
+ `npm install -g ${pkgName}`,
88
81
  `cd ${projectName}`,
89
- 'npm install',
90
- 'npm run build',
91
- 'npm start',
92
- '```',
93
- '',
94
- ].join('\n');
82
+ `${cmd} --help`,
83
+ "```",
84
+ "",
85
+ ].join("\n");
95
86
  }
96
87
  buildPrerequisites(ctx) {
97
88
  const engines = ctx.packageMetadata?.engines;
98
89
  const nodeReq = engines?.node;
99
90
  if (!nodeReq)
100
- return '';
91
+ return "";
101
92
  return [
102
- '## Prerequisites\n',
93
+ "## Prerequisites\n",
103
94
  `- Node.js ${nodeReq}`,
104
- '- Git (for drift detection and history analysis)',
105
- '',
106
- ].join('\n');
95
+ "- Git (for drift detection and history analysis)",
96
+ "",
97
+ ].join("\n");
107
98
  }
108
99
  buildInstallation(projectName, ctx) {
109
100
  const bin = ctx.packageMetadata?.bin;
110
101
  const isCli = !!bin;
111
- const pkgName = ctx.packageMetadata?.name ?? 'package-name';
102
+ const pkgName = ctx.packageMetadata?.name ?? "package-name";
112
103
  if (isCli) {
113
104
  return [
114
- '## Installation\n',
115
- '### Global install\n',
116
- '```bash',
105
+ "## Installation\n",
106
+ "### Global install\n",
107
+ "```bash",
117
108
  `npm install -g ${pkgName}`,
118
- '```',
119
- '',
120
- '### Local development\n',
121
- '```bash',
122
- 'git clone <repository-url>',
109
+ "```",
110
+ "",
111
+ "### Local development\n",
112
+ "```bash",
113
+ "git clone <repository-url>",
123
114
  `cd ${projectName}`,
124
- 'npm install',
125
- 'npm run build',
126
- 'node dist/cli/index.js --help',
127
- '```',
128
- '',
129
- ].join('\n');
115
+ "npm install",
116
+ "npm run build",
117
+ "node dist/cli/index.js --help",
118
+ "```",
119
+ "",
120
+ ].join("\n");
130
121
  }
131
122
  return [
132
- '## Installation\n',
133
- '```bash',
134
- 'git clone <repository-url>',
123
+ "## Installation\n",
124
+ "```bash",
125
+ "git clone <repository-url>",
135
126
  `cd ${projectName}`,
136
- 'npm install',
137
- 'npm run build',
138
- '```',
139
- '',
140
- ].join('\n');
127
+ "npm install",
128
+ "npm run build",
129
+ "```",
130
+ "",
131
+ ].join("\n");
141
132
  }
142
133
  buildUsage(ctx) {
143
134
  const bin = ctx.packageMetadata?.bin;
144
135
  if (!bin)
145
- return '';
146
- const cmd = typeof bin === 'string' ? bin.split('/').pop() ?? 'codeplug' : Object.keys(bin)[0] ?? 'codeplug';
136
+ return "";
137
+ const cmd = typeof bin === "string"
138
+ ? (bin.split("/").pop() ?? "codeplug")
139
+ : (Object.keys(bin)[0] ?? "codeplug");
147
140
  return [
148
- '## Usage\n',
141
+ "## Usage\n",
149
142
  `Use \`${cmd}\` to run commands. See \`${cmd} --help\` for options.`,
150
- '',
151
- ].join('\n');
143
+ "",
144
+ ].join("\n");
145
+ }
146
+ buildProjectStructure(ctx) {
147
+ const root = ctx.facts.folderStructure;
148
+ return this.buildFolderStructure(root, 0, 3);
152
149
  }
153
150
  buildFolderStructure(root, depth = 0, maxDepth = 3) {
154
151
  if (depth === 0) {
155
- const lines = ['## Project Structure\n', '```'];
152
+ const lines = ["## Project Structure\n", "```"];
156
153
  lines.push(...this.renderTree(root, 0, maxDepth));
157
- lines.push('```', '');
158
- return lines.join('\n');
154
+ lines.push("```", "");
155
+ return lines.join("\n");
159
156
  }
160
- return '';
157
+ return "";
161
158
  }
162
159
  renderTree(node, depth, maxDepth) {
163
160
  if (depth > maxDepth)
164
161
  return [];
165
- const indent = ' '.repeat(depth);
166
- const lines = [`${indent}${node.name}/ (${node.fileCount} files)`];
162
+ const indent = " ".repeat(depth);
163
+ const lines = [
164
+ `${indent}${node.name}/ (${node.fileCount} files)`,
165
+ ];
167
166
  for (const child of node.children) {
168
167
  lines.push(...this.renderTree(child, depth + 1, maxDepth));
169
168
  }
170
169
  return lines;
171
170
  }
172
171
  buildTechStack(ctx) {
173
- const entities = ctx.mlPipelineResult?.entities;
174
- const dimensions = new Set(ctx.analysis.patterns.map((p) => p.dimension));
175
- const techs = entities?.slice(0, 12).filter((e) => e?.trim()) ?? [];
176
- if (!techs.length) {
177
- if (dimensions.has('imports'))
178
- techs.push('ES Modules');
179
- if (dimensions.has('component'))
180
- techs.push('Component-based architecture');
181
- if (dimensions.has('testing'))
182
- techs.push('Automated testing');
183
- if (dimensions.has('api'))
184
- techs.push('API layer');
185
- if (dimensions.has('state'))
186
- techs.push('State management');
187
- }
172
+ const techs = ctx.facts.techStack;
188
173
  if (techs.length === 0)
189
- return '';
190
- return ['## Tech Stack\n', ...techs.map((t) => `- ${t}`), '', ''].join('\n');
174
+ return "";
175
+ return [
176
+ "## Tech Stack\n",
177
+ ...techs.slice(0, 12).map((t) => `- ${t}`),
178
+ "",
179
+ "",
180
+ ].join("\n");
191
181
  }
192
182
  buildConfiguration(ctx) {
193
- const hasConfig = ctx.analysis.patterns.some((p) => p.dimension === 'structure' && p.pattern.toLowerCase().includes('config'));
194
- const hasCodeplug = ctx.conventions.some((c) => c.dimension === 'structure');
195
- if (!hasConfig && !hasCodeplug)
196
- return '';
183
+ const hasConfig = ctx.analysis.patterns.some((p) => p.dimension === "structure" &&
184
+ p.pattern.toLowerCase().includes("config"));
185
+ const hasConventions = ctx.facts.conventions.some((c) => c.dimension === "structure");
186
+ if (!hasConfig && !hasConventions)
187
+ return "";
197
188
  return [
198
- '## Configuration\n',
199
- 'Project-level configuration can be adjusted in config files. See project docs for options.',
200
- '',
201
- ].join('\n');
189
+ "## Configuration\n",
190
+ "Project-level configuration can be adjusted in config files. See project docs for options.",
191
+ "",
192
+ ].join("\n");
202
193
  }
203
194
  buildDevelopment(ctx) {
204
- const scripts = ctx.packageMetadata?.scripts;
195
+ const scripts = ctx.facts.scripts;
205
196
  if (!scripts || Object.keys(scripts).length === 0)
206
- return '';
197
+ return "";
207
198
  const candidates = ctx.docsConfig?.devScripts ?? DEFAULT_DOCS.devScripts ?? [];
208
199
  const devScripts = candidates.filter((s) => scripts[s]);
209
200
  if (devScripts.length === 0)
210
- return '';
211
- const lines = ['## Development\n', '```bash', ...devScripts.map((s) => `npm run ${s}`), '```', ''];
212
- return lines.join('\n');
201
+ return "";
202
+ const lines = [
203
+ "## Development\n",
204
+ "```bash",
205
+ ...devScripts.map((s) => `npm run ${s}`),
206
+ "```",
207
+ "",
208
+ ];
209
+ return lines.join("\n");
213
210
  }
214
211
  buildConventionsSummary(ctx) {
215
- if (ctx.conventions.length === 0)
216
- return '';
217
- const confirmed = ctx.conventions.filter((c) => c.confirmed);
212
+ if (ctx.facts.conventions.length === 0)
213
+ return "";
214
+ const confirmed = ctx.facts.conventions.filter((c) => c.confirmed);
218
215
  const grouped = new Map();
219
216
  for (const c of confirmed.slice(0, 10)) {
220
217
  const list = grouped.get(c.dimension) ?? [];
221
218
  list.push(c.rule);
222
219
  grouped.set(c.dimension, list);
223
220
  }
224
- const lines = ['## Conventions\n'];
221
+ const lines = ["## Conventions\n"];
225
222
  for (const [dim, rules] of grouped) {
226
223
  lines.push(`### ${dim}\n`);
227
224
  for (const rule of rules) {
228
225
  lines.push(`- ${rule}`);
229
226
  }
230
- lines.push('');
227
+ lines.push("");
231
228
  }
232
- return lines.join('\n');
229
+ return lines.join("\n");
233
230
  }
234
231
  async enhanceWithLlm(ctx, template) {
235
232
  const baseInstructions = [
236
233
  `Improve the following README for a ${ctx.audience} audience in a ${ctx.style} style.`,
237
- EXECUTIVE_SUMMARY_INSTRUCTION,
234
+ OVERVIEW_INSTRUCTION,
238
235
  STRUCTURE_INSTRUCTION,
239
236
  ];
240
237
  let prompt;
@@ -242,26 +239,26 @@ export class ReadmeGenerator {
242
239
  prompt = [
243
240
  ...baseInstructions,
244
241
  EXISTING_CONTENT_INSTRUCTION,
245
- 'Below is the EXISTING README. Preserve valuable content: tagline, features list, usage commands, configuration, installation, development. Incorporate the generated analysis (folder structure, conventions). Return only the final markdown.',
246
- '',
247
- '--- EXISTING README ---',
242
+ "Below is the EXISTING README. Preserve valuable content: tagline, features list, usage commands, configuration, installation, development. Incorporate the generated analysis (folder structure, conventions). Return only the final markdown.",
243
+ "",
244
+ "--- EXISTING README ---",
248
245
  ctx.existingDoc,
249
- '--- END EXISTING README ---',
250
- '',
251
- '--- GENERATED TEMPLATE (incorporate into merged output) ---',
246
+ "--- END EXISTING README ---",
247
+ "",
248
+ "--- GENERATED TEMPLATE (incorporate into merged output) ---",
252
249
  template,
253
- ].join('\n');
250
+ ].join("\n");
254
251
  }
255
252
  else {
256
253
  prompt = [
257
254
  ...baseInstructions,
258
- 'Include: Executive Summary, Features, Quick Start, Prerequisites, Installation, Usage, Configuration (if applicable), Development, Project Structure, Conventions. Use package metadata when provided.',
259
- 'Return only the final markdown.\n',
255
+ "Include: Overview, Key Features, Prerequisites, Installation, Quick Start, Usage, Configuration (if applicable), Development, Project Structure, Conventions. Use package metadata when provided.",
256
+ "Return only the final markdown.\n",
260
257
  template,
261
- ].join('\n');
258
+ ].join("\n");
262
259
  }
263
260
  return ctx.llmClient.generate(prompt, {
264
- systemPrompt: 'You are a technical documentation writer. Preserve existing high-value content when instructed. Always include a clear executive summary and section titles.',
261
+ systemPrompt: "You are a technical documentation writer. Preserve existing high-value content when instructed. Always include a clear Overview and section titles.",
265
262
  temperature: 0.3,
266
263
  maxTokens: 4000,
267
264
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ReadmeGenerator.js","sourceRoot":"","sources":["../../../../src/core/generator/documents/ReadmeGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadmeGenerator.js","sourceRoot":"","sources":["../../../../src/core/generator/documents/ReadmeGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const EXECUTIVE_SUMMARY_INSTRUCTION = "Start with an Executive Summary (2-4 sentences) that explains what this document covers and its purpose.";
1
+ export declare const OVERVIEW_INSTRUCTION = "Start with an Overview (2-4 sentences) that explains what this document covers and its purpose.";
2
2
  export declare const STRUCTURE_INSTRUCTION = "Use clear H2/H3 titles. Include Overview, Key Descriptions, and logical sections.";
3
3
  export declare const EXISTING_CONTENT_INSTRUCTION = "When existing content is provided, preserve sections that add value; merge or improve rather than replace wholesale.";
4
4
  //# sourceMappingURL=promptHelpers.d.ts.map