leadcode 1.4.0 → 1.5.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # LeadCode
2
2
 
3
- **Your virtual Lead Tech for Claude Code.** An MCP server that analyzes your codebase, fetches up-to-date documentation for each detected technology via [Context7](https://context7.com), and generates a tailored `CLAUDE.md` so Claude Code understands your project like a senior engineer would.
3
+ **Your virtual Lead Tech for Claude Code.** An MCP server that analyzes your codebase, then guides Claude to fetch up-to-date documentation via [Context7](https://context7.com) and community best practices via WebSearch — producing a tailored, concise `CLAUDE.md` so Claude Code understands your project like a senior engineer would.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/leadcode.svg)](https://www.npmjs.com/package/leadcode)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
@@ -17,25 +17,30 @@ Claude Code is powerful, but its output quality depends on context. Without clea
17
17
  - Forget auth checks on new routes
18
18
  - Use inline styles when your project uses Tailwind
19
19
 
20
- **LeadCode fixes this.** It scans your project, detects what you're using, fetches the latest documentation for each technology, cross-references them, and generates a `CLAUDE.md` file that tells Claude Code exactly how to behave in your codebase.
20
+ **LeadCode fixes this.** It scans your project, detects your stack, and orchestrates Claude to fetch official docs + community best practices for each technology then synthesizes everything into a compact `CLAUDE.md` with actionable rules.
21
21
 
22
22
  ## How It Works
23
23
 
24
24
  ```
25
- Your Project ──→ LeadCode (detect stack) ──→ Context7 (fetch docs) ──→ CLAUDE.md
25
+ Your Project ──→ LeadCode (analyze) ──→ Claude reads tech-queries resource
26
+
27
+ Context7 MCP (official docs × N techs)
28
+ WebSearch (best practices, architecture, gotchas)
29
+
30
+ Claude synthesizes 3-5 rules per tech
31
+
32
+ LeadCode (generate) ──→ CLAUDE.md
26
33
  ```
27
34
 
28
35
  1. **Analyze** — Scans `package.json`, directory structure, and source code patterns
29
36
  2. **Detect** — Identifies your stack across 25+ categories (framework, ORM, auth, CSS, testing, i18n, etc.)
30
- 3. **Fetch Docs** — Queries Context7 API for up-to-date documentation of each detected technology, including cross-technology best practices (e.g., "how to use Prisma with Next.js App Router")
31
- 4. **Generate** — Writes a structured `CLAUDE.md` with real, version-specific conventions from official docs
37
+ 3. **Fetch & Synthesize** — Claude reads the tech-queries mapping, calls Context7 for official docs and WebSearch for community knowledge, then synthesizes into concise actionable rules
38
+ 4. **Generate** — Writes a structured `CLAUDE.md` (~100-150 lines) with version-specific conventions
32
39
 
33
40
  ## Installation
34
41
 
35
42
  LeadCode requires **two MCP servers**: LeadCode itself and Context7 (for documentation fetching).
36
43
 
37
- **Two commands:**
38
-
39
44
  ```bash
40
45
  claude mcp add --scope project leadcode -- npx -y leadcode@latest
41
46
  claude mcp add --scope project context7 -- npx -y @upstash/context7-mcp@latest
@@ -45,14 +50,6 @@ Restart Claude Code and you're ready.
45
50
 
46
51
  > Use `--scope user` instead of `--scope project` to install globally across all your projects.
47
52
 
48
- **Optional:** Set a Context7 API key for higher rate limits (free tier works without it):
49
-
50
- ```bash
51
- export CONTEXT7_API_KEY=your_key_here
52
- ```
53
-
54
- Get a key at [context7.com/dashboard](https://context7.com/dashboard).
55
-
56
53
  ## Usage
57
54
 
58
55
  ### Quick Start (Recommended)
@@ -63,30 +60,34 @@ Use the built-in prompt in Claude Code:
63
60
  Use the setup-project prompt with /path/to/your/project
64
61
  ```
65
62
 
66
- This walks through the full workflow: analyze → fetch docs → generate `CLAUDE.md`.
67
-
68
- ### Manual Tool Usage
69
-
70
- Each tool can be called individually:
63
+ This walks through the full workflow: analyze → fetch docs → synthesize → generate `CLAUDE.md`.
71
64
 
72
- #### `analyze-repo`
73
- Scans a project and returns structured facts — framework, dependencies, directory structure, detected stack.
65
+ Or simply ask naturally:
74
66
 
75
67
  ```
76
- Call analyze-repo with projectPath: /path/to/project
68
+ Generate a CLAUDE.md for this project
77
69
  ```
78
70
 
79
- #### `fetch-docs`
80
- Takes the analysis output and fetches up-to-date documentation from Context7 for each detected technology. Also fetches cross-technology docs (e.g., Next.js + Prisma best practices).
71
+ ### Available Tools
72
+
73
+ #### `analyze-repo`
74
+ Scans a project and returns structured facts — framework, dependencies, directory structure, detected stack.
81
75
 
82
76
  #### `generate-claude-md`
83
- Generates and writes `CLAUDE.md` to the project root based on the analysis and fetched documentation.
77
+ Generates and writes `CLAUDE.md` to the project root. Accepts pre-synthesized documentation from Claude's orchestration of Context7 + WebSearch.
84
78
 
85
79
  #### `validate-claude-md`
86
80
  Checks if an existing `CLAUDE.md` is still in sync with the project. Detects drifts after adding dependencies or changing structure.
87
81
 
88
- #### `update-claude-md`
89
- Re-analyzes the project, re-fetches documentation, and regenerates `CLAUDE.md` while preserving your choices from the "Project Decisions" section.
82
+ ### Available Prompts
83
+
84
+ - **`setup-project`** — Full workflow to generate a CLAUDE.md from scratch
85
+ - **`update-project`** — Re-analyzes and regenerates while preserving your Project Decisions
86
+ - **`validate-project`** — Checks if your CLAUDE.md is still up to date
87
+
88
+ ### Resources
89
+
90
+ - **`leadcode://tech-queries`** — Mapping of detected technologies to Context7 library names and recommended queries. Used by Claude during the orchestration flow.
90
91
 
91
92
  ## What Gets Detected
92
93
 
@@ -116,7 +117,6 @@ Next.js (App/Pages Router), Nuxt, Remix, Astro, SvelteKit, SolidStart, Vite+Reac
116
117
  | Database | PostgreSQL, MySQL, SQLite, MongoDB, Supabase, PlanetScale, Redis |
117
118
  | API Style | tRPC, GraphQL |
118
119
  | Monorepo | Turborepo, Nx, Lerna |
119
- | Deployment | Vercel |
120
120
  | Runtime | Node, Bun, Deno |
121
121
 
122
122
  ### Code Patterns
@@ -124,34 +124,21 @@ Next.js (App/Pages Router), Nuxt, Remix, Astro, SvelteKit, SolidStart, Vite+Reac
124
124
  - `'use server'` file count
125
125
  - Path alias usage (`@/` or `~/`)
126
126
  - Barrel file patterns
127
- - Large files (>300 lines)
128
- - `console.log` count
129
127
 
130
128
  ## What Gets Generated
131
129
 
132
- The `CLAUDE.md` includes sections tailored to your stack:
133
-
134
- 1. **Architecture Overview** — Framework, data layer, auth, project size
135
- 2. **Stack** — All detected technologies with versions
136
- 3. **Project Structure** — Directories, special files
137
- 4. **Available Scripts** — `npm run` commands
138
- 5. **Per-Technology Conventions** — Up-to-date best practices from official docs (via Context7)
139
- 6. **Cross-Stack Rules** — Best practices for technology combinations (e.g., Next.js + Prisma, Zod + react-hook-form)
140
- 7. **File & Naming Conventions** — kebab-case, PascalCase rules
141
- 8. **Import Ordering** — Node builtins → external → internal → relative → types
142
- 9. **Existing Code Patterns** — Patterns detected in your code to respect
143
- 10. **Claude Code Instructions** — Dynamic instructions based on your stack
144
-
145
- ### Cross-Technology Documentation
146
-
147
- LeadCode fetches specific documentation for technology pairs detected in your project:
130
+ The `CLAUDE.md` is organized into:
148
131
 
149
- `next + prisma` · `next + drizzle` · `next + next-auth` · `next + clerk` · `next + supabase-auth` · `next + zod` · `next + stripe` · `next + react-query` · `next + next-intl` · `next + tailwind` · `next + shadcn` · `zod + react-hook-form` · `trpc + zod` — and more.
132
+ 1. **Architecture Overview** Framework, data layer, auth, project size, structure, scripts, code patterns
133
+ 2. **Per-Technology Sections** — 3-5 concise, actionable rules per tech (from Context7 official docs + WebSearch)
134
+ 3. **Cross-Stack Conventions** — Unified rules for how all detected technologies work together
135
+ 4. **Conventions** — File naming and import ordering
136
+ 5. **Project Decisions** — User choices preserved across regenerations
150
137
 
151
138
  ## Requirements
152
139
 
153
140
  - **Node.js** >= 18
154
- - **Context7 MCP server** installed alongside LeadCode
141
+ - **Context7 MCP server** installed alongside LeadCode (for documentation fetching)
155
142
  - The target project must have a `package.json`
156
143
  - Currently optimized for JavaScript/TypeScript projects
157
144
 
@@ -161,7 +148,6 @@ LeadCode fetches specific documentation for technology pairs detected in your pr
161
148
  - **Single package.json** — Monorepo support detects the tool but analyzes only the root
162
149
  - **No lint config reading** — Detects ESLint/Biome but doesn't parse their rules
163
150
  - **No CI/CD detection** — GitHub Actions, etc. are not analyzed
164
- - **Requires Context7** — Documentation quality depends on Context7's library coverage
165
151
 
166
152
  ## Contributing
167
153
 
@@ -1,3 +1,4 @@
1
+ export type NamingStyle = "kebab-case" | "camelCase" | "PascalCase" | "snake_case" | "mixed";
1
2
  export interface CodePatterns {
2
3
  useClientCount: number;
3
4
  useServerCount: number;
@@ -7,6 +8,14 @@ export interface CodePatterns {
7
8
  usesPathAlias: boolean;
8
9
  largeFiles: string[];
9
10
  consoleLogCount: number;
11
+ fileNamingStyle: NamingStyle;
12
+ hasReactFiles: boolean;
13
+ importOrder: string[] | null;
14
+ indentation: {
15
+ style: "spaces" | "tabs";
16
+ size?: number;
17
+ } | null;
18
+ quoteStyle: "single" | "double" | "mixed" | null;
10
19
  }
11
20
  export declare function analyzePatterns(projectPath: string): Promise<CodePatterns>;
12
21
  //# sourceMappingURL=patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/analyzers/patterns.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AA2ED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoBhF"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/analyzers/patterns.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;AAE7F,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IAExB,eAAe,EAAE,WAAW,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE;QAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChE,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;CAClD;AAyPD,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA8DhF"}
@@ -1,7 +1,86 @@
1
1
  import { readdir, readFile } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { IGNORE_DIRS as IGNORE, SOURCE_EXTS } from "./constants.js";
4
- async function scanDir(dir, patterns, maxDepth = 6) {
4
+ const NODE_BUILTINS = new Set([
5
+ "assert", "buffer", "child_process", "cluster", "crypto", "dgram", "dns",
6
+ "events", "fs", "http", "http2", "https", "net", "os", "path", "perf_hooks",
7
+ "process", "querystring", "readline", "stream", "string_decoder", "timers",
8
+ "tls", "tty", "url", "util", "v8", "vm", "worker_threads", "zlib",
9
+ ]);
10
+ function classifyFileName(name) {
11
+ const stem = name.replace(/\.[^.]+$/, "");
12
+ // Skip index files — not meaningful for naming style
13
+ if (stem === "index")
14
+ return "";
15
+ if (/^[a-z][a-z0-9]*(-[a-z0-9]+)+$/.test(stem))
16
+ return "kebab-case";
17
+ if (/^[a-z][a-z0-9]*(_[a-z0-9]+)+$/.test(stem))
18
+ return "snake_case";
19
+ if (/^[A-Z][a-zA-Z0-9]*$/.test(stem))
20
+ return "PascalCase";
21
+ if (/^[a-z][a-zA-Z0-9]*$/.test(stem))
22
+ return "camelCase";
23
+ return "";
24
+ }
25
+ function classifyImport(specifier) {
26
+ if (specifier.startsWith("node:"))
27
+ return "builtin";
28
+ if (NODE_BUILTINS.has(specifier.split("/")[0]))
29
+ return "builtin";
30
+ if (specifier.startsWith("@/") || specifier.startsWith("~/"))
31
+ return "alias";
32
+ if (specifier.startsWith("."))
33
+ return "relative";
34
+ return "external";
35
+ }
36
+ function extractImportOrder(content) {
37
+ const importRegex = /^(import\s+type\s+.*?from\s+|import\s+.*?from\s+)(['"])(.*?)\2/gm;
38
+ const categories = [];
39
+ let match;
40
+ while ((match = importRegex.exec(content)) !== null) {
41
+ const isTypeImport = match[1].startsWith("import type");
42
+ const specifier = match[3];
43
+ if (isTypeImport) {
44
+ categories.push("type");
45
+ }
46
+ else {
47
+ categories.push(classifyImport(specifier));
48
+ }
49
+ }
50
+ if (categories.length < 3)
51
+ return null;
52
+ // Deduplicate consecutive same categories to get the order pattern
53
+ const order = [];
54
+ for (const cat of categories) {
55
+ if (order[order.length - 1] !== cat) {
56
+ order.push(cat);
57
+ }
58
+ }
59
+ return order;
60
+ }
61
+ function detectIndentation(content) {
62
+ const lines = content.split("\n").slice(0, 50);
63
+ let tabs = 0;
64
+ let spaces = 0;
65
+ let spaceSize = 0;
66
+ for (const line of lines) {
67
+ if (line.startsWith("\t"))
68
+ tabs++;
69
+ else if (line.startsWith(" ")) {
70
+ spaces++;
71
+ const indent = line.match(/^( +)/);
72
+ if (indent && spaceSize === 0)
73
+ spaceSize = indent[1].length;
74
+ }
75
+ }
76
+ if (tabs === 0 && spaces === 0)
77
+ return null;
78
+ if (tabs > spaces)
79
+ return { style: "tabs" };
80
+ const size = spaceSize <= 2 ? 2 : 4;
81
+ return { style: "spaces", size };
82
+ }
83
+ async function scanDir(dir, patterns, counters, maxDepth = 6) {
5
84
  if (maxDepth <= 0)
6
85
  return;
7
86
  let entries;
@@ -15,12 +94,17 @@ async function scanDir(dir, patterns, maxDepth = 6) {
15
94
  if (IGNORE.has(entry.name) || entry.name.startsWith("."))
16
95
  continue;
17
96
  if (entry.isDirectory()) {
18
- await scanDir(join(dir, entry.name), patterns, maxDepth - 1);
97
+ await scanDir(join(dir, entry.name), patterns, counters, maxDepth - 1);
19
98
  continue;
20
99
  }
21
100
  const ext = entry.name.split(".").pop() ?? "";
22
101
  if (!SOURCE_EXTS.has(ext))
23
102
  continue;
103
+ // File naming classification
104
+ const style = classifyFileName(entry.name);
105
+ if (style) {
106
+ counters.namingCounts[style] = (counters.namingCounts[style] ?? 0) + 1;
107
+ }
24
108
  const filePath = join(dir, entry.name);
25
109
  let content;
26
110
  try {
@@ -57,12 +141,88 @@ async function scanDir(dir, patterns, maxDepth = 6) {
57
141
  patterns.largeFiles.push(filePath);
58
142
  }
59
143
  // Console.log count
60
- const matches = content.match(/console\.log\(/g);
61
- if (matches) {
62
- patterns.consoleLogCount += matches.length;
144
+ const consoleMatches = content.match(/console\.log\(/g);
145
+ if (consoleMatches) {
146
+ patterns.consoleLogCount += consoleMatches.length;
147
+ }
148
+ // Quote style from imports
149
+ const singleQ = (content.match(/from\s+'/g) ?? []).length;
150
+ const doubleQ = (content.match(/from\s+"/g) ?? []).length;
151
+ counters.singleQuotes += singleQ;
152
+ counters.doubleQuotes += doubleQ;
153
+ // Indentation sample (first 20 files with indentation)
154
+ if (counters.tabIndents + counters.spaceIndents < 20) {
155
+ const indent = detectIndentation(content);
156
+ if (indent) {
157
+ if (indent.style === "tabs")
158
+ counters.tabIndents++;
159
+ else {
160
+ counters.spaceIndents++;
161
+ if (indent.size)
162
+ counters.spaceSizes.push(indent.size);
163
+ }
164
+ }
165
+ }
166
+ // Import order sample (first 30 files with imports)
167
+ if (counters.importOrderSamples.length < 30) {
168
+ const order = extractImportOrder(content);
169
+ if (order)
170
+ counters.importOrderSamples.push(order);
63
171
  }
64
172
  }
65
173
  }
174
+ const IMPORT_CATEGORY_LABELS = {
175
+ builtin: "Node builtins",
176
+ external: "external packages",
177
+ alias: "internal aliases (@/)",
178
+ relative: "relative imports",
179
+ type: "type imports",
180
+ };
181
+ function resolveImportOrder(samples) {
182
+ if (samples.length < 3)
183
+ return null;
184
+ // Count how often each category appears at each position
185
+ const positionCounts = {
186
+ builtin: [], external: [], alias: [], relative: [], type: [],
187
+ };
188
+ for (const sample of samples) {
189
+ for (let i = 0; i < sample.length; i++) {
190
+ const cat = sample[i];
191
+ if (!positionCounts[cat][i])
192
+ positionCounts[cat][i] = 0;
193
+ positionCounts[cat][i]++;
194
+ }
195
+ }
196
+ // Find the most common categories (present in >20% of samples)
197
+ const threshold = samples.length * 0.2;
198
+ const presentCategories = Object.keys(positionCounts).filter(cat => positionCounts[cat].reduce((a, b) => a + b, 0) > threshold);
199
+ // Sort by average position
200
+ const avgPos = (cat) => {
201
+ const counts = positionCounts[cat];
202
+ let total = 0, weight = 0;
203
+ for (let i = 0; i < counts.length; i++) {
204
+ if (counts[i]) {
205
+ total += i * counts[i];
206
+ weight += counts[i];
207
+ }
208
+ }
209
+ return weight > 0 ? total / weight : 999;
210
+ };
211
+ presentCategories.sort((a, b) => avgPos(a) - avgPos(b));
212
+ if (presentCategories.length < 2)
213
+ return null;
214
+ return presentCategories.map(c => IMPORT_CATEGORY_LABELS[c]);
215
+ }
216
+ function resolveNamingStyle(counts) {
217
+ const total = Object.values(counts).reduce((a, b) => a + b, 0);
218
+ if (total === 0)
219
+ return "mixed";
220
+ const sorted = Object.entries(counts).sort((a, b) => b[1] - a[1]);
221
+ const [topStyle, topCount] = sorted[0];
222
+ if (topCount / total >= 0.6)
223
+ return topStyle;
224
+ return "mixed";
225
+ }
66
226
  export async function analyzePatterns(projectPath) {
67
227
  const patterns = {
68
228
  useClientCount: 0,
@@ -73,12 +233,54 @@ export async function analyzePatterns(projectPath) {
73
233
  usesPathAlias: false,
74
234
  largeFiles: [],
75
235
  consoleLogCount: 0,
236
+ fileNamingStyle: "mixed",
237
+ hasReactFiles: false,
238
+ importOrder: null,
239
+ indentation: null,
240
+ quoteStyle: null,
76
241
  };
77
- await scanDir(projectPath, patterns);
242
+ const counters = {
243
+ namingCounts: {},
244
+ singleQuotes: 0,
245
+ doubleQuotes: 0,
246
+ tabIndents: 0,
247
+ spaceIndents: 0,
248
+ spaceSizes: [],
249
+ importOrderSamples: [],
250
+ };
251
+ await scanDir(projectPath, patterns, counters);
252
+ // Derive computed fields
78
253
  patterns.clientRatio =
79
254
  patterns.totalComponents > 0
80
255
  ? patterns.useClientCount / patterns.totalComponents
81
256
  : 0;
257
+ patterns.hasReactFiles = patterns.totalComponents > 0;
258
+ patterns.fileNamingStyle = resolveNamingStyle(counters.namingCounts);
259
+ patterns.importOrder = resolveImportOrder(counters.importOrderSamples);
260
+ // Quote style
261
+ const totalQuotes = counters.singleQuotes + counters.doubleQuotes;
262
+ if (totalQuotes > 0) {
263
+ const singleRatio = counters.singleQuotes / totalQuotes;
264
+ if (singleRatio > 0.8)
265
+ patterns.quoteStyle = "single";
266
+ else if (singleRatio < 0.2)
267
+ patterns.quoteStyle = "double";
268
+ else
269
+ patterns.quoteStyle = "mixed";
270
+ }
271
+ // Indentation
272
+ const totalIndent = counters.tabIndents + counters.spaceIndents;
273
+ if (totalIndent > 0) {
274
+ if (counters.tabIndents > counters.spaceIndents) {
275
+ patterns.indentation = { style: "tabs" };
276
+ }
277
+ else {
278
+ const avgSize = counters.spaceSizes.length > 0
279
+ ? Math.round(counters.spaceSizes.reduce((a, b) => a + b, 0) / counters.spaceSizes.length)
280
+ : 2;
281
+ patterns.indentation = { style: "spaces", size: avgSize <= 2 ? 2 : 4 };
282
+ }
283
+ }
82
284
  return patterns;
83
285
  }
84
286
  //# sourceMappingURL=patterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/analyzers/patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/analyzers/patterns.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,EAAE,EAAE,QA+HhB,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,EAAE,EAAE,QA8DhB,CAAC"}
package/dist/i18n/en.js CHANGED
@@ -7,14 +7,7 @@ export const en = {
7
7
  },
8
8
  sections: {
9
9
  architectureOverview: "Architecture Overview",
10
- stack: "Stack",
11
- projectStructure: "Project Structure",
12
- availableScripts: "Available Scripts",
13
- fileNaming: "File & Naming Conventions",
14
- importOrdering: "Import Ordering",
15
10
  projectDecisions: "Project Decisions",
16
- existingPatterns: "Existing Code Patterns",
17
- claudeInstructions: "Claude Code Instructions",
18
11
  },
19
12
  architecture: {
20
13
  frontendBackend: "Frontend + Backend",
@@ -41,32 +34,6 @@ export const en = {
41
34
  sizeVeryLarge: "Very large",
42
35
  sourceFiles: "source files",
43
36
  },
44
- stackLabels: {
45
- framework: "Framework",
46
- orm: "ORM",
47
- database: "Database",
48
- auth: "Auth",
49
- validation: "Validation",
50
- css: "CSS",
51
- uiComponents: "UI Components",
52
- testing: "Testing",
53
- stateManagement: "State Management",
54
- dataFetching: "Data Fetching",
55
- formLibrary: "Forms",
56
- apiStyle: "API Style",
57
- i18n: "i18n",
58
- payments: "Payments",
59
- email: "Email",
60
- realtime: "Realtime",
61
- cms: "CMS/Content",
62
- fileUpload: "File Upload",
63
- jobs: "Jobs/Queue",
64
- monorepo: "Monorepo",
65
- deployment: "Deployment",
66
- linter: "Linter",
67
- formatter: "Formatter",
68
- runtime: "Runtime",
69
- },
70
37
  structure: {
71
38
  srcDir: "Source code in `src/`",
72
39
  appRouter: "App Router: `app/`",
@@ -84,38 +51,6 @@ export const en = {
84
51
  reactProviders: "React providers: `providers/`",
85
52
  prismaSchema: "Prisma schema: `prisma/schema.prisma`",
86
53
  },
87
- naming: {
88
- files: "**Files**: kebab-case (e.g., `user-profile.ts`, `auth-utils.ts`)",
89
- reactComponents: "**React components**: PascalCase filename matching component name (e.g., `UserProfile.tsx` exports `UserProfile`)",
90
- hooks: "**Hooks**: camelCase prefixed with `use` (e.g., `useAuth.ts`)",
91
- constants: "**Constants/config**: SCREAMING_SNAKE_CASE for values, kebab-case for files",
92
- newFilesSrc: "**New files**: Place in `src/` following the existing directory structure",
93
- },
94
- importOrder: [
95
- "1. Node.js builtins (node:fs, node:path)",
96
- "2. External packages (react, next, etc.)",
97
- "3. Internal aliases (@/ or ~/)",
98
- "4. Relative imports (../ and ./)",
99
- "5. Type imports (import type { ... })",
100
- ],
101
- instructions: {
102
- followAll: "Follow ALL rules in this document without exception.",
103
- respectStructure: "When creating new files, respect the existing project structure and naming conventions.",
104
- checkPrecedent: "When unsure about a pattern, check existing code for precedent before inventing new patterns.",
105
- neverNewDeps: "Never introduce new dependencies without being explicitly asked.",
106
- smallChanges: "Prefer small, focused changes over large refactors.",
107
- serverComponents: "Default to Server Components. Only add 'use client' when the component needs interactivity.",
108
- appRouterPages: "Place new pages in app/ following the existing route structure.",
109
- serverActions: "Use Server Actions for mutations, Route Handlers for API endpoints.",
110
- prismaAfterChange: "After changing schema.prisma, always run `npx prisma migrate dev` and `npx prisma generate`.",
111
- drizzleAfterChange: "After changing Drizzle schemas, run `npx drizzle-kit generate` to create migrations.",
112
- zodValidate: "Validate all inputs at API boundaries with Zod. Parse, don't validate.",
113
- tailwindClasses: "Use Tailwind utility classes for styling. Use cn() for conditional classes.",
114
- shadcnComponents: "Use shadcn/ui components from components/ui/ as building blocks.",
115
- runTests: "Run tests with the project's {testing} setup before marking work as done.",
116
- runLinter: "Run {linter} before committing. Fix all warnings.",
117
- i18nStrings: "All user-facing strings must go through the i18n system. Never hardcode text.",
118
- },
119
54
  patterns: {
120
55
  clientServerRatio: "**Client/Server ratio**: {clientCount} client components out of {totalCount} total ({clientPercent}% client)",
121
56
  serverActions: "**Server Actions**: {count} files with 'use server'",
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAa;IAC1B,SAAS,EAAE;QACT,MAAM,EAAE;YACN,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,8KAA8K;YACrL,KAAK,EAAE,mDAAmD;SAC3D;QACD,QAAQ,EAAE;YACR,oBAAoB,EAAE,uBAAuB;YAC7C,gBAAgB,EAAE,mBAAmB;SACtC;QACD,YAAY,EAAE;YACZ,eAAe,EAAE,oBAAoB;YACrC,cAAc,EAAE,4BAA4B;YAC5C,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,qBAAqB;YACnC,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,cAAc,EAAE,gBAAgB;YAChC,GAAG,EAAE,KAAK;YACV,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,iBAAiB;YACjC,UAAU,EAAE,aAAa;YACzB,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,OAAO;YAClB,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,cAAc;SAC5B;QACD,SAAS,EAAE;YACT,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,wBAAwB;YACrC,SAAS,EAAE,oBAAoB;YAC/B,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,2BAA2B;YACvC,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,uBAAuB;YACjC,WAAW,EAAE,wBAAwB;YACrC,WAAW,EAAE,wBAAwB;YACrC,iBAAiB,EAAE,gCAAgC;YACnD,eAAe,EAAE,4BAA4B;YAC7C,aAAa,EAAE,0BAA0B;YACzC,cAAc,EAAE,+BAA+B;YAC/C,YAAY,EAAE,uCAAuC;SACtD;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,8GAA8G;YACjI,aAAa,EAAE,qDAAqD;YACpE,WAAW,EAAE,mEAAmE;YAChF,WAAW,EAAE,0EAA0E;YACvF,UAAU,EAAE,oEAAoE;YAChF,WAAW,EAAE,yEAAyE;SACvF;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,EAAE,EAAE,QA+HhB,CAAC"}
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,EAAE,EAAE,QA8DhB,CAAC"}
package/dist/i18n/fr.js CHANGED
@@ -7,14 +7,7 @@ export const fr = {
7
7
  },
8
8
  sections: {
9
9
  architectureOverview: "Vue d'ensemble de l'architecture",
10
- stack: "Stack technique",
11
- projectStructure: "Structure du projet",
12
- availableScripts: "Scripts disponibles",
13
- fileNaming: "Conventions de nommage",
14
- importOrdering: "Ordre des imports",
15
10
  projectDecisions: "Décisions du projet",
16
- existingPatterns: "Patterns existants",
17
- claudeInstructions: "Instructions pour Claude Code",
18
11
  },
19
12
  architecture: {
20
13
  frontendBackend: "Frontend + Backend",
@@ -41,32 +34,6 @@ export const fr = {
41
34
  sizeVeryLarge: "Très grand",
42
35
  sourceFiles: "fichiers source",
43
36
  },
44
- stackLabels: {
45
- framework: "Framework",
46
- orm: "ORM",
47
- database: "Base de données",
48
- auth: "Auth",
49
- validation: "Validation",
50
- css: "CSS",
51
- uiComponents: "Composants UI",
52
- testing: "Tests",
53
- stateManagement: "Gestion d'état",
54
- dataFetching: "Data Fetching",
55
- formLibrary: "Formulaires",
56
- apiStyle: "Style d'API",
57
- i18n: "i18n",
58
- payments: "Paiements",
59
- email: "Email",
60
- realtime: "Temps réel",
61
- cms: "CMS/Contenu",
62
- fileUpload: "Upload de fichiers",
63
- jobs: "Jobs/Queue",
64
- monorepo: "Monorepo",
65
- deployment: "Déploiement",
66
- linter: "Linter",
67
- formatter: "Formatter",
68
- runtime: "Runtime",
69
- },
70
37
  structure: {
71
38
  srcDir: "Code source dans `src/`",
72
39
  appRouter: "App Router : `app/`",
@@ -84,38 +51,6 @@ export const fr = {
84
51
  reactProviders: "Providers React : `providers/`",
85
52
  prismaSchema: "Schéma Prisma : `prisma/schema.prisma`",
86
53
  },
87
- naming: {
88
- files: "**Fichiers** : kebab-case (ex : `user-profile.ts`, `auth-utils.ts`)",
89
- reactComponents: "**Composants React** : PascalCase correspondant au nom du composant (ex : `UserProfile.tsx` exporte `UserProfile`)",
90
- hooks: "**Hooks** : camelCase préfixé par `use` (ex : `useAuth.ts`)",
91
- constants: "**Constantes/config** : SCREAMING_SNAKE_CASE pour les valeurs, kebab-case pour les fichiers",
92
- newFilesSrc: "**Nouveaux fichiers** : Placer dans `src/` en suivant la structure existante",
93
- },
94
- importOrder: [
95
- "1. Builtins Node.js (node:fs, node:path)",
96
- "2. Packages externes (react, next, etc.)",
97
- "3. Alias internes (@/ ou ~/)",
98
- "4. Imports relatifs (../ et ./)",
99
- "5. Imports de types (import type { ... })",
100
- ],
101
- instructions: {
102
- followAll: "Suivre TOUTES les règles de ce document sans exception.",
103
- respectStructure: "Lors de la création de fichiers, respecter la structure existante et les conventions de nommage.",
104
- checkPrecedent: "En cas de doute sur un pattern, vérifier le code existant avant d'inventer de nouveaux patterns.",
105
- neverNewDeps: "Ne jamais introduire de nouvelles dépendances sans demande explicite.",
106
- smallChanges: "Préférer les changements petits et ciblés aux gros refactorings.",
107
- serverComponents: "Utiliser les Server Components par défaut. N'ajouter 'use client' que si le composant a besoin d'interactivité.",
108
- appRouterPages: "Placer les nouvelles pages dans app/ en suivant la structure de routes existante.",
109
- serverActions: "Utiliser les Server Actions pour les mutations, les Route Handlers pour les endpoints API.",
110
- prismaAfterChange: "Après modification de schema.prisma, toujours exécuter `npx prisma migrate dev` et `npx prisma generate`.",
111
- drizzleAfterChange: "Après modification des schémas Drizzle, exécuter `npx drizzle-kit generate` pour créer les migrations.",
112
- zodValidate: "Valider toutes les entrées aux frontières API avec Zod. Parser, ne pas valider.",
113
- tailwindClasses: "Utiliser les classes utilitaires Tailwind pour le style. Utiliser cn() pour les classes conditionnelles.",
114
- shadcnComponents: "Utiliser les composants shadcn/ui de components/ui/ comme briques de base.",
115
- runTests: "Lancer les tests avec {testing} avant de considérer le travail comme terminé.",
116
- runLinter: "Lancer {linter} avant de commiter. Corriger tous les warnings.",
117
- i18nStrings: "Toutes les chaînes visibles par l'utilisateur doivent passer par le système i18n. Ne jamais coder en dur.",
118
- },
119
54
  patterns: {
120
55
  clientServerRatio: "**Ratio Client/Serveur** : {clientCount} composants client sur {totalCount} total ({clientPercent}% client)",
121
56
  serverActions: "**Server Actions** : {count} fichiers avec 'use server'",
@@ -1 +1 @@
1
- {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAa;IAC1B,SAAS,EAAE;QACT,MAAM,EAAE;YACN,KAAK,EAAE,2BAA2B;YAClC,KAAK,EAAE,2LAA2L;YAClM,KAAK,EAAE,yEAAyE;SACjF;QACD,QAAQ,EAAE;YACR,oBAAoB,EAAE,kCAAkC;YACxD,gBAAgB,EAAE,qBAAqB;SACxC;QACD,YAAY,EAAE;YACZ,eAAe,EAAE,oBAAoB;YACrC,cAAc,EAAE,4BAA4B;YAC5C,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,qBAAqB;YACnC,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,gBAAgB;YAC3B,QAAQ,EAAE,iBAAiB;YAC3B,cAAc,EAAE,kBAAkB;YAClC,GAAG,EAAE,KAAK;YACV,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,gBAAgB;YAChC,UAAU,EAAE,oBAAoB;YAChC,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,OAAO;YAClB,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,iBAAiB;SAC/B;QACD,SAAS,EAAE;YACT,MAAM,EAAE,yBAAyB;YACjC,SAAS,EAAE,qBAAqB;YAChC,WAAW,EAAE,yBAAyB;YACtC,SAAS,EAAE,sBAAsB;YACjC,UAAU,EAAE,sBAAsB;YAClC,UAAU,EAAE,4BAA4B;YACxC,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,wBAAwB;YAClC,WAAW,EAAE,gCAAgC;YAC7C,WAAW,EAAE,0BAA0B;YACvC,iBAAiB,EAAE,oCAAoC;YACvD,eAAe,EAAE,iCAAiC;YAClD,aAAa,EAAE,2BAA2B;YAC1C,cAAc,EAAE,gCAAgC;YAChD,YAAY,EAAE,wCAAwC;SACvD;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,6GAA6G;YAChI,aAAa,EAAE,yDAAyD;YACxE,WAAW,EAAE,0FAA0F;YACvG,WAAW,EAAE,qFAAqF;YAClG,UAAU,EAAE,8EAA8E;YAC1F,WAAW,EAAE,+EAA+E;SAC7F;KACF;CACF,CAAC"}
@@ -7,14 +7,7 @@ export interface TemplateMessages {
7
7
  };
8
8
  sections: {
9
9
  architectureOverview: string;
10
- stack: string;
11
- projectStructure: string;
12
- availableScripts: string;
13
- fileNaming: string;
14
- importOrdering: string;
15
10
  projectDecisions: string;
16
- existingPatterns: string;
17
- claudeInstructions: string;
18
11
  };
19
12
  architecture: {
20
13
  frontendBackend: string;
@@ -41,32 +34,6 @@ export interface TemplateMessages {
41
34
  sizeVeryLarge: string;
42
35
  sourceFiles: string;
43
36
  };
44
- stackLabels: {
45
- framework: string;
46
- orm: string;
47
- database: string;
48
- auth: string;
49
- validation: string;
50
- css: string;
51
- uiComponents: string;
52
- testing: string;
53
- stateManagement: string;
54
- dataFetching: string;
55
- formLibrary: string;
56
- apiStyle: string;
57
- i18n: string;
58
- payments: string;
59
- email: string;
60
- realtime: string;
61
- cms: string;
62
- fileUpload: string;
63
- jobs: string;
64
- monorepo: string;
65
- deployment: string;
66
- linter: string;
67
- formatter: string;
68
- runtime: string;
69
- };
70
37
  structure: {
71
38
  srcDir: string;
72
39
  appRouter: string;
@@ -84,32 +51,6 @@ export interface TemplateMessages {
84
51
  reactProviders: string;
85
52
  prismaSchema: string;
86
53
  };
87
- naming: {
88
- files: string;
89
- reactComponents: string;
90
- hooks: string;
91
- constants: string;
92
- newFilesSrc: string;
93
- };
94
- importOrder: string[];
95
- instructions: {
96
- followAll: string;
97
- respectStructure: string;
98
- checkPrecedent: string;
99
- neverNewDeps: string;
100
- smallChanges: string;
101
- serverComponents: string;
102
- appRouterPages: string;
103
- serverActions: string;
104
- prismaAfterChange: string;
105
- drizzleAfterChange: string;
106
- zodValidate: string;
107
- tailwindClasses: string;
108
- shadcnComponents: string;
109
- runTests: string;
110
- runLinter: string;
111
- i18nStrings: string;
112
- };
113
54
  patterns: {
114
55
  clientServerRatio: string;
115
56
  serverActions: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE;QACR,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,YAAY,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,EAAE;QACR,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,gBAAgB,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAmG/C,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,CAAC,EAAE,YAAY,EACvB,MAAM,GAAE,MAAa,GACpB,MAAM,CA6HR"}
1
+ {"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAmG/C,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,CAAC,EAAE,YAAY,EACvB,MAAM,GAAE,MAAa,GACpB,MAAM,CA2JR"}
@@ -217,17 +217,44 @@ export function generateClaudeMd(analysis, docs, choices, patterns, locale = "en
217
217
  lines.push("");
218
218
  }
219
219
  }
220
- // Conventions: naming + imports in one section
221
- lines.push("## Conventions");
222
- lines.push("");
223
- lines.push(`- ${m.naming.files}`);
224
- lines.push(`- ${m.naming.reactComponents}`);
225
- lines.push(`- ${m.naming.hooks}`);
226
- lines.push(`- ${m.naming.constants}`);
227
- if (s.hasSrcDir)
228
- lines.push(`- ${m.naming.newFilesSrc}`);
229
- lines.push(`- Import order: Node builtins → external packages → internal aliases (@/) → relative imports → type imports`);
230
- lines.push("");
220
+ // Conventions: fully auto-detected from codebase
221
+ if (patterns) {
222
+ const convLines = [];
223
+ if (patterns.fileNamingStyle !== "mixed") {
224
+ convLines.push(`- File naming: ${patterns.fileNamingStyle}`);
225
+ }
226
+ if (patterns.hasReactFiles) {
227
+ convLines.push("- React components: PascalCase filename = component name");
228
+ convLines.push("- Hooks: camelCase prefixed with `use`");
229
+ }
230
+ if (patterns.usesPathAlias) {
231
+ convLines.push("- Imports use @/ or ~/ path aliases");
232
+ }
233
+ if (patterns.hasBarrelFiles) {
234
+ convLines.push("- Barrel files: index.ts re-exports — follow this pattern");
235
+ }
236
+ if (patterns.importOrder) {
237
+ convLines.push(`- Import order: ${patterns.importOrder.join(" → ")}`);
238
+ }
239
+ if (patterns.indentation) {
240
+ const desc = patterns.indentation.style === "tabs"
241
+ ? "Tabs"
242
+ : `${patterns.indentation.size} spaces`;
243
+ convLines.push(`- Indentation: ${desc}`);
244
+ }
245
+ if (patterns.quoteStyle && patterns.quoteStyle !== "mixed") {
246
+ convLines.push(`- Quotes: ${patterns.quoteStyle}`);
247
+ }
248
+ if (s.hasSrcDir) {
249
+ convLines.push("- New files go in `src/`");
250
+ }
251
+ if (convLines.length > 0) {
252
+ lines.push("## Conventions");
253
+ lines.push("");
254
+ lines.push(...convLines);
255
+ lines.push("");
256
+ }
257
+ }
231
258
  // User choices
232
259
  const choiceEntries = Object.entries(choices);
233
260
  if (choiceEntries.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "leadcode",
3
- "version": "1.4.0",
4
- "description": "Virtual Lead Tech MCP server for Claude Code – analyzes repos, detects gaps, and generates structured CLAUDE.md files",
3
+ "version": "1.5.0",
4
+ "description": "Virtual Lead Tech MCP server for Claude Code – analyzes repos, fetches docs via Context7, and generates tailored CLAUDE.md files",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "leadcode": "./bin/leadcode.js"