@planu/cli 0.67.0 → 0.69.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 (54) hide show
  1. package/dist/config/discovery-queries.json +267 -0
  2. package/dist/engine/discovery/registry-search.d.ts +4 -0
  3. package/dist/engine/discovery/registry-search.d.ts.map +1 -0
  4. package/dist/engine/discovery/registry-search.js +82 -0
  5. package/dist/engine/discovery/registry-search.js.map +1 -0
  6. package/dist/engine/discovery/result-ranker.d.ts +8 -0
  7. package/dist/engine/discovery/result-ranker.d.ts.map +1 -0
  8. package/dist/engine/discovery/result-ranker.js +46 -0
  9. package/dist/engine/discovery/result-ranker.js.map +1 -0
  10. package/dist/engine/discovery/tech-discovery.d.ts +4 -0
  11. package/dist/engine/discovery/tech-discovery.d.ts.map +1 -0
  12. package/dist/engine/discovery/tech-discovery.js +83 -0
  13. package/dist/engine/discovery/tech-discovery.js.map +1 -0
  14. package/dist/engine/project-health-checker.d.ts +5 -0
  15. package/dist/engine/project-health-checker.d.ts.map +1 -0
  16. package/dist/engine/project-health-checker.js +353 -0
  17. package/dist/engine/project-health-checker.js.map +1 -0
  18. package/dist/tools/init-project/handler.d.ts.map +1 -1
  19. package/dist/tools/init-project/handler.js +33 -0
  20. package/dist/tools/init-project/handler.js.map +1 -1
  21. package/dist/tools/init-project/lint-scaffolder.d.ts +5 -0
  22. package/dist/tools/init-project/lint-scaffolder.d.ts.map +1 -0
  23. package/dist/tools/init-project/lint-scaffolder.js +197 -0
  24. package/dist/tools/init-project/lint-scaffolder.js.map +1 -0
  25. package/dist/tools/init-project/result-builder.d.ts.map +1 -1
  26. package/dist/tools/init-project/result-builder.js +12 -0
  27. package/dist/tools/init-project/result-builder.js.map +1 -1
  28. package/dist/tools/suggest-tooling/handler.d.ts.map +1 -1
  29. package/dist/tools/suggest-tooling/handler.js +39 -1
  30. package/dist/tools/suggest-tooling/handler.js.map +1 -1
  31. package/dist/types/discovery.d.ts +22 -0
  32. package/dist/types/discovery.d.ts.map +1 -0
  33. package/dist/types/discovery.js +3 -0
  34. package/dist/types/discovery.js.map +1 -0
  35. package/dist/types/index.d.ts +1 -0
  36. package/dist/types/index.d.ts.map +1 -1
  37. package/dist/types/index.js +1 -0
  38. package/dist/types/index.js.map +1 -1
  39. package/dist/types/project/health-checker.d.ts +18 -0
  40. package/dist/types/project/health-checker.d.ts.map +1 -0
  41. package/dist/types/project/health-checker.js +3 -0
  42. package/dist/types/project/health-checker.js.map +1 -0
  43. package/dist/types/project/lint-scaffolder.d.ts +6 -0
  44. package/dist/types/project/lint-scaffolder.d.ts.map +1 -0
  45. package/dist/types/project/lint-scaffolder.js +3 -0
  46. package/dist/types/project/lint-scaffolder.js.map +1 -0
  47. package/dist/types/project/planu-config.d.ts +9 -0
  48. package/dist/types/project/planu-config.d.ts.map +1 -1
  49. package/dist/types/project.d.ts +1 -0
  50. package/dist/types/project.d.ts.map +1 -1
  51. package/dist/types/project.js +1 -0
  52. package/dist/types/project.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/config/discovery-queries.json +267 -0
@@ -0,0 +1,353 @@
1
+ // engine/project-health-checker.ts — SPEC-180: Project health check
2
+ import { execSync } from 'node:child_process';
3
+ import { readFile, access } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ // ── helpers ──────────────────────────────────────────────────────────────────
6
+ function fileExists(path) {
7
+ return access(path)
8
+ .then(() => true)
9
+ .catch(() => false);
10
+ }
11
+ function execSafe(cmd, cwd) {
12
+ try {
13
+ return execSync(cmd, { cwd, stdio: ['pipe', 'pipe', 'pipe'] }).toString();
14
+ }
15
+ catch {
16
+ return '';
17
+ }
18
+ }
19
+ function daysSince(iso) {
20
+ return Math.floor((Date.now() - new Date(iso).getTime()) / 86_400_000);
21
+ }
22
+ // ── check: conventions (25 %) ─────────────────────────────────────────────
23
+ async function checkConventions(projectPath) {
24
+ const items = [];
25
+ let score = 100;
26
+ // Check CLAUDE.md for planu markers
27
+ const claudeMdPath = join(projectPath, 'CLAUDE.md');
28
+ const hasClaude = await fileExists(claudeMdPath);
29
+ if (!hasClaude) {
30
+ score -= 50;
31
+ items.push({
32
+ severity: 'warning',
33
+ category: 'conventions',
34
+ message: 'CLAUDE.md not found — coding conventions not defined',
35
+ fix: 'Run init_project to generate CLAUDE.md with planu markers',
36
+ });
37
+ }
38
+ else {
39
+ const content = await readFile(claudeMdPath, 'utf-8').catch(() => '');
40
+ const hasMarkers = content.includes('<!-- planu:') || content.includes('## Project Overview');
41
+ if (hasMarkers) {
42
+ items.push({ severity: 'good', category: 'conventions', message: 'CLAUDE.md complete ✓' });
43
+ }
44
+ else {
45
+ score -= 25;
46
+ items.push({
47
+ severity: 'warning',
48
+ category: 'conventions',
49
+ message: 'CLAUDE.md exists but lacks planu markers',
50
+ fix: 'Run init_project to inject SDD workflow markers',
51
+ });
52
+ }
53
+ }
54
+ // Scan src/ lib/ app/ for non-ASCII identifiers (non-English variable names)
55
+ const srcDirs = ['src', 'lib', 'app'];
56
+ const nonAsciiPattern = /(?:function|const|let|var|export)\s+([À-ÿ\w]*[À-ÿ][À-ÿ\w]*)/;
57
+ let nonEnglishFiles = 0;
58
+ for (const dir of srcDirs) {
59
+ const result = execSafe(`grep -rl --include="*.ts" --include="*.js" --include="*.tsx" --include="*.jsx" -P "[À-ÿ]" ${dir} 2>/dev/null | head -5`, projectPath);
60
+ const files = result.trim().split('\n').filter(Boolean);
61
+ for (const file of files) {
62
+ const content = await readFile(join(projectPath, file), 'utf-8').catch(() => '');
63
+ if (nonAsciiPattern.test(content)) {
64
+ nonEnglishFiles++;
65
+ score -= 25;
66
+ items.push({
67
+ severity: 'warning',
68
+ category: 'conventions',
69
+ message: `Non-English identifiers found in ${file}`,
70
+ fix: 'Rename identifiers to English to improve cross-team readability',
71
+ });
72
+ if (nonEnglishFiles >= 2) {
73
+ break;
74
+ }
75
+ }
76
+ }
77
+ if (nonEnglishFiles >= 2) {
78
+ break;
79
+ }
80
+ }
81
+ if (nonEnglishFiles === 0 && hasClaude) {
82
+ items.push({ severity: 'good', category: 'conventions', message: 'English identifiers ✓' });
83
+ }
84
+ return { score: Math.max(0, score), items };
85
+ }
86
+ // ── check: code quality (20 %) ───────────────────────────────────────────
87
+ async function checkCodeQuality(projectPath) {
88
+ const items = [];
89
+ let score = 100;
90
+ // ESLint config
91
+ const eslintFiles = [
92
+ 'eslint.config.js',
93
+ 'eslint.config.mjs',
94
+ 'eslint.config.cjs',
95
+ '.eslintrc.js',
96
+ '.eslintrc.cjs',
97
+ '.eslintrc.json',
98
+ '.eslintrc.yaml',
99
+ '.eslintrc.yml',
100
+ ];
101
+ const hasEslint = (await Promise.all(eslintFiles.map((f) => fileExists(join(projectPath, f))))).some(Boolean);
102
+ if (hasEslint) {
103
+ items.push({ severity: 'good', category: 'code-quality', message: 'ESLint configured ✓' });
104
+ }
105
+ else {
106
+ score -= 50;
107
+ items.push({
108
+ severity: 'warning',
109
+ category: 'code-quality',
110
+ message: 'No ESLint config found',
111
+ fix: 'Add eslint.config.js to enforce consistent code style',
112
+ });
113
+ }
114
+ // TypeScript strict mode
115
+ const tsconfigPath = join(projectPath, 'tsconfig.json');
116
+ const hasTsconfig = await fileExists(tsconfigPath);
117
+ if (hasTsconfig) {
118
+ try {
119
+ const raw = await readFile(tsconfigPath, 'utf-8');
120
+ // Strip comments before parsing
121
+ const cleaned = raw.replace(/\/\/[^\n]*/g, '').replace(/\/\*[\s\S]*?\*\//g, '');
122
+ const tsconfig = JSON.parse(cleaned);
123
+ if (tsconfig.compilerOptions?.strict === true) {
124
+ items.push({
125
+ severity: 'good',
126
+ category: 'code-quality',
127
+ message: 'TypeScript strict ✓',
128
+ });
129
+ }
130
+ else {
131
+ score -= 50;
132
+ items.push({
133
+ severity: 'warning',
134
+ category: 'code-quality',
135
+ message: 'TypeScript strict mode not enabled',
136
+ fix: 'Add "strict": true to tsconfig.json compilerOptions',
137
+ });
138
+ }
139
+ }
140
+ catch {
141
+ score -= 25;
142
+ items.push({
143
+ severity: 'warning',
144
+ category: 'code-quality',
145
+ message: 'tsconfig.json could not be parsed',
146
+ fix: 'Ensure tsconfig.json is valid JSON with comments removed',
147
+ });
148
+ }
149
+ }
150
+ else {
151
+ score -= 50;
152
+ items.push({
153
+ severity: 'warning',
154
+ category: 'code-quality',
155
+ message: 'No tsconfig.json found',
156
+ fix: 'Add tsconfig.json with strict: true to enable type safety',
157
+ });
158
+ }
159
+ return { score: Math.max(0, score), items };
160
+ }
161
+ // ── check: spec lifecycle (20 %) ─────────────────────────────────────────
162
+ function checkSpecLifecycle(projectPath, specs) {
163
+ const items = [];
164
+ let score = 100;
165
+ const mergedOutput = execSafe('git branch --merged develop', projectPath);
166
+ const mergedBranches = new Set(mergedOutput.split('\n').map((b) => b.replace(/^\*?\s+/, '').trim()));
167
+ const implementing = specs.filter((s) => s.status === 'implementing');
168
+ for (const spec of implementing) {
169
+ const days = spec.updatedAt ? daysSince(spec.updatedAt) : 0;
170
+ if (days > 7) {
171
+ score -= 20;
172
+ items.push({
173
+ severity: 'warning',
174
+ category: 'spec-lifecycle',
175
+ message: `${spec.specId} implementing for ${days} days`,
176
+ fix: `Review ${spec.specId} — consider breaking it down or marking it done`,
177
+ });
178
+ }
179
+ if (spec.gitBranch && mergedBranches.size > 1 && !mergedBranches.has(spec.gitBranch)) {
180
+ items.push({
181
+ severity: 'warning',
182
+ category: 'spec-lifecycle',
183
+ message: `${spec.specId} branch '${spec.gitBranch}' not merged to develop`,
184
+ fix: 'Merge or close the feature branch to clean up lifecycle',
185
+ });
186
+ }
187
+ }
188
+ if (implementing.length === 0) {
189
+ items.push({
190
+ severity: 'good',
191
+ category: 'spec-lifecycle',
192
+ message: 'No stale implementing specs ✓',
193
+ });
194
+ }
195
+ else if (score === 100) {
196
+ items.push({
197
+ severity: 'good',
198
+ category: 'spec-lifecycle',
199
+ message: 'All implementing specs are recent ✓',
200
+ });
201
+ }
202
+ return { score: Math.max(0, score), items };
203
+ }
204
+ // ── check: git hygiene (15 %) ─────────────────────────────────────────────
205
+ async function checkGitHygiene(projectPath) {
206
+ const items = [];
207
+ let score = 100;
208
+ // Check .gitignore for planu/
209
+ const gitignorePath = join(projectPath, '.gitignore');
210
+ const gitignoreContent = await readFile(gitignorePath, 'utf-8').catch(() => '');
211
+ const planuIgnored = gitignoreContent
212
+ .split('\n')
213
+ .some((l) => ['planu/', 'planu/*', 'planu'].includes(l.trim()));
214
+ if (planuIgnored) {
215
+ score = 0;
216
+ items.push({
217
+ severity: 'critical',
218
+ category: 'git-hygiene',
219
+ message: 'planu/ found in .gitignore — specs will not be tracked in git',
220
+ fix: 'Remove planu/ from .gitignore. Specs must be committed to the repository.',
221
+ });
222
+ }
223
+ else {
224
+ items.push({ severity: 'good', category: 'git-hygiene', message: 'planu/ not ignored ✓' });
225
+ }
226
+ // Uncommitted files
227
+ const statusOutput = execSafe('git status --porcelain', projectPath);
228
+ const uncommitted = statusOutput.trim().split('\n').filter(Boolean).length;
229
+ if (uncommitted > 0 && score > 0) {
230
+ score = Math.max(50, score - uncommitted * 5);
231
+ items.push({
232
+ severity: 'warning',
233
+ category: 'git-hygiene',
234
+ message: `${uncommitted} uncommitted file(s) in working directory`,
235
+ fix: 'Commit or stash changes to keep the working tree clean',
236
+ });
237
+ }
238
+ else if (uncommitted === 0) {
239
+ items.push({ severity: 'good', category: 'git-hygiene', message: 'Working tree clean ✓' });
240
+ }
241
+ return { score: Math.max(0, score), items };
242
+ }
243
+ // ── check: platform fitness (10 %) ────────────────────────────────────────
244
+ async function checkPlatformFitness(projectPath, knowledge) {
245
+ const items = [];
246
+ let score = 100;
247
+ const isServerless = knowledge.stack.some((s) => /serverless|vercel|netlify|edge/i.test(s)) ||
248
+ (await fileExists(join(projectPath, 'serverless.yml'))) ||
249
+ (await fileExists(join(projectPath, 'serverless.yaml')));
250
+ if (isServerless) {
251
+ // Crude check: module-level `let` in src/lib files (mutable state = bad for serverless)
252
+ const result = execSafe(`grep -rl --include="*.ts" --include="*.js" -P "^let\\s+\\w+" src lib 2>/dev/null | head -3`, projectPath);
253
+ const files = result.trim().split('\n').filter(Boolean);
254
+ if (files.length > 0) {
255
+ score = 50;
256
+ items.push({
257
+ severity: 'warning',
258
+ category: 'platform-fitness',
259
+ message: `Module-level mutable state detected in serverless context (${files.slice(0, 2).join(', ')})`,
260
+ fix: 'Avoid module-level let in serverless functions — use request-scoped variables',
261
+ });
262
+ }
263
+ else {
264
+ items.push({
265
+ severity: 'good',
266
+ category: 'platform-fitness',
267
+ message: 'Serverless state usage OK ✓',
268
+ });
269
+ }
270
+ }
271
+ else {
272
+ items.push({
273
+ severity: 'good',
274
+ category: 'platform-fitness',
275
+ message: 'Platform fitness check passed ✓',
276
+ });
277
+ }
278
+ return { score, items };
279
+ }
280
+ // ── check: dependencies (10 %) ───────────────────────────────────────────
281
+ async function checkDependencies(projectPath) {
282
+ const items = [];
283
+ const lockFiles = ['package-lock.json', 'pnpm-lock.yaml', 'yarn.lock', 'bun.lockb'];
284
+ const hasLock = (await Promise.all(lockFiles.map((f) => fileExists(join(projectPath, f))))).some(Boolean);
285
+ if (hasLock) {
286
+ items.push({ severity: 'good', category: 'dependencies', message: 'Lock file present ✓' });
287
+ return { score: 100, items };
288
+ }
289
+ items.push({
290
+ severity: 'warning',
291
+ category: 'dependencies',
292
+ message: 'No lock file found (package-lock.json, pnpm-lock.yaml, yarn.lock)',
293
+ fix: 'Commit your lock file to ensure reproducible builds',
294
+ });
295
+ return { score: 50, items };
296
+ }
297
+ // ── formatter ─────────────────────────────────────────────────────────────
298
+ function formatSummary(score, items) {
299
+ const emoji = score >= 80 ? '✅' : score >= 60 ? '⚠️' : '❌';
300
+ const lines = [`Project Health: ${score}/100 ${emoji}`, ''];
301
+ const critical = items.filter((i) => i.severity === 'critical');
302
+ const warnings = items.filter((i) => i.severity === 'warning');
303
+ const good = items.filter((i) => i.severity === 'good');
304
+ if (critical.length > 0) {
305
+ lines.push('🔴 Critical (fix now):');
306
+ for (const item of critical) {
307
+ lines.push(` - ${item.message}`);
308
+ }
309
+ lines.push('');
310
+ }
311
+ if (warnings.length > 0) {
312
+ lines.push('🟡 Warnings (fix soon):');
313
+ for (const item of warnings) {
314
+ lines.push(` - ${item.message}`);
315
+ }
316
+ lines.push('');
317
+ }
318
+ if (good.length > 0) {
319
+ lines.push('🟢 Good:');
320
+ for (const item of good) {
321
+ lines.push(` - ${item.message}`);
322
+ }
323
+ }
324
+ return lines.join('\n').trimEnd();
325
+ }
326
+ // ── orchestrator ──────────────────────────────────────────────────────────
327
+ export async function checkProjectHealth(projectPath, knowledge, specs) {
328
+ const [conventions, codeQuality, gitHygiene, platformFitness, dependencies] = await Promise.all([
329
+ checkConventions(projectPath),
330
+ checkCodeQuality(projectPath),
331
+ checkGitHygiene(projectPath),
332
+ checkPlatformFitness(projectPath, knowledge),
333
+ checkDependencies(projectPath),
334
+ ]);
335
+ const specLifecycle = checkSpecLifecycle(projectPath, specs);
336
+ // Weighted average
337
+ const score = Math.round(conventions.score * 0.25 +
338
+ codeQuality.score * 0.2 +
339
+ specLifecycle.score * 0.2 +
340
+ gitHygiene.score * 0.15 +
341
+ platformFitness.score * 0.1 +
342
+ dependencies.score * 0.1);
343
+ const items = [
344
+ ...conventions.items,
345
+ ...codeQuality.items,
346
+ ...specLifecycle.items,
347
+ ...gitHygiene.items,
348
+ ...platformFitness.items,
349
+ ...dependencies.items,
350
+ ];
351
+ return { score, items, summary: formatSummary(score, items) };
352
+ }
353
+ //# sourceMappingURL=project-health-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-health-checker.js","sourceRoot":"","sources":["../../src/engine/project-health-checker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,UAAU,EACX,MAAM,sBAAsB,CAAC;AA4H9B,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAqVrF"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAiI9B,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAoXrF"}
@@ -9,6 +9,7 @@ import { detectAgileProcess } from '../../engine/agile-config-builder.js';
9
9
  import { buildLegalProfile } from '../../engine/legal-compliance/index.js';
10
10
  import { detectMissingAreas, buildRequestPrompt } from '../../engine/context-merger.js';
11
11
  import { detectProjectPrivacyConfig, maybeGenerateEnvExample, buildBeginnerEnvGuide, detectOrchestratorInfo, detectComposeMultiplatform, injectSddIntoClaude, } from './helpers.js';
12
+ import { scaffoldLintConfig } from './lint-scaffolder.js';
12
13
  import { buildInitProjectResult } from './result-builder.js';
13
14
  import { buildProjectSections } from './claude-md-generator.js';
14
15
  import { fetchRecommendedSkills } from '../suggest-tooling/skills-fetcher.js';
@@ -23,6 +24,7 @@ import { detectGitFlowType, git } from '../git/git-helpers.js';
23
24
  import { handleInitConstitution } from '../init-constitution/handler.js';
24
25
  import { PLANU_VERSION } from '../../config/version.js';
25
26
  import { getWhatsNew } from '../../engine/whats-new.js';
27
+ import { checkProjectHealth, } from '../../engine/project-health-checker.js';
26
28
  /** Read autoInstallSkills flag from planu.json (best-effort). */
27
29
  async function readAutoInstallFlag(configPath) {
28
30
  try {
@@ -317,6 +319,19 @@ export async function handleInitProject(params) {
317
319
  catch {
318
320
  /* best-effort */
319
321
  }
322
+ // SPEC-178: Scaffold ESLint and Prettier config if missing (best-effort)
323
+ let eslintCreated = false;
324
+ let prettierCreated = false;
325
+ let lintSuggestions = [];
326
+ try {
327
+ const lintResult = await scaffoldLintConfig(projectPath, knowledge);
328
+ eslintCreated = lintResult.eslintCreated;
329
+ prettierCreated = lintResult.prettierCreated;
330
+ lintSuggestions = lintResult.suggestions;
331
+ }
332
+ catch {
333
+ /* best-effort — don't fail init_project */
334
+ }
320
335
  // SPEC-176: Auto-mark specs as done when their branch is merged to develop
321
336
  const autoCompletedSpecs = await autoCompleteSpecs(projectId, projectPath).catch(() => []);
322
337
  // SPEC-036: Request context when knowledge is incomplete
@@ -340,6 +355,20 @@ export async function handleInitProject(params) {
340
355
  : null;
341
356
  // SPEC-030: Detect legal framework and third-party data processors
342
357
  const privacyConfig = await detectProjectPrivacyConfig(projectPath);
358
+ // SPEC-180: Project health check (best-effort)
359
+ const specSummaries = allSpecs.map((s) => ({
360
+ specId: s.id,
361
+ status: s.status,
362
+ gitBranch: s.gitBranch,
363
+ updatedAt: s.updatedAt,
364
+ }));
365
+ let healthReport = null;
366
+ try {
367
+ healthReport = await checkProjectHealth(projectPath, knowledge, specSummaries);
368
+ }
369
+ catch {
370
+ /* best-effort — don't fail init_project */
371
+ }
343
372
  return buildInitProjectResult({
344
373
  projectId,
345
374
  projectPath,
@@ -376,6 +405,10 @@ export async function handleInitProject(params) {
376
405
  autoCompletedSpecs,
377
406
  skillsAutoInstalled,
378
407
  skillsPendingInstall,
408
+ eslintCreated,
409
+ prettierCreated,
410
+ lintSuggestions,
411
+ healthReport,
379
412
  });
380
413
  }
381
414
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ProjectKnowledge } from '../../types/project/core.js';
2
+ import type { ScaffoldResult } from '../../types/project/lint-scaffolder.js';
3
+ export type { ScaffoldResult };
4
+ export declare function scaffoldLintConfig(projectPath: string, knowledge: ProjectKnowledge): Promise<ScaffoldResult>;
5
+ //# sourceMappingURL=lint-scaffolder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-scaffolder.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/lint-scaffolder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAI7E,YAAY,EAAE,cAAc,EAAE,CAAC;AA0J/B,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,cAAc,CAAC,CA2DzB"}