briefed 0.2.0 → 0.3.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/dist/cli.js CHANGED
@@ -16,6 +16,7 @@ program
16
16
  .option("--max-tokens <n>", "Token budget for skeleton", "1000")
17
17
  .option("--skip-hooks", "Skip hook installation")
18
18
  .option("--skip-rules", "Skip .claude/rules/ generation")
19
+ .option("--fast", "Skip Claude-powered deep analysis (static-only, instant)")
19
20
  .action(initCommand);
20
21
  program
21
22
  .command("stats")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CACV,2GAA2G,CAC5G;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAC/D,MAAM,CAAC,cAAc,EAAE,wBAAwB,CAAC;KAChD,MAAM,CAAC,cAAc,EAAE,gCAAgC,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,eAAe,EAAE,yBAAyB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;KAC1C,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;KAC7D,MAAM,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;KACpD,MAAM,CAAC,eAAe,EAAE,gDAAgD,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CACV,2GAA2G,CAC5G;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAC/D,MAAM,CAAC,cAAc,EAAE,wBAAwB,CAAC;KAChD,MAAM,CAAC,cAAc,EAAE,gCAAgC,CAAC;KACxD,MAAM,CAAC,QAAQ,EAAE,0DAA0D,CAAC;KAC5E,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,eAAe,EAAE,yBAAyB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;KAC1C,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;KAC7D,MAAM,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;KACpD,MAAM,CAAC,eAAe,EAAE,gDAAgD,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -3,6 +3,7 @@ interface InitOptions {
3
3
  maxTokens: string;
4
4
  skipHooks?: boolean;
5
5
  skipRules?: boolean;
6
+ fast?: boolean;
6
7
  }
7
8
  export declare function initCommand(opts: InitOptions): Promise<void>;
8
9
  export {};
@@ -34,6 +34,7 @@ import { extractFeatureFlags, formatFeatureFlags } from "../extract/feature-flag
34
34
  import { extractCaching, formatCaching } from "../extract/caching.js";
35
35
  import { extractAuth, formatAuth } from "../extract/auth.js";
36
36
  import { extractEvents, formatEvents } from "../extract/events.js";
37
+ import { deepAnnotate, mergeAnnotations, generateDeepRules, generateSystemOverview } from "../extract/deep.js";
37
38
  import { countTokens, formatTokens } from "../utils/tokens.js";
38
39
  import { writeFileSync, mkdirSync, existsSync } from "fs";
39
40
  import { join } from "path";
@@ -105,6 +106,17 @@ export async function initCommand(opts) {
105
106
  ? complexityScores.reduce((s, c) => s + c.score, 0) / complexityScores.length
106
107
  : 0;
107
108
  console.log(` Average complexity: ${avgComplexity.toFixed(1)}/10`);
109
+ // Step 5b: Deep analysis (default — uses Claude to describe functions)
110
+ let deepRuleFiles = new Map();
111
+ if (!opts.fast) {
112
+ console.log(" Running deep analysis (Claude-powered)...");
113
+ const annotations = await deepAnnotate(extractions, depGraph, complexityScores, root);
114
+ const annotated = mergeAnnotations(extractions, annotations);
115
+ console.log(` Generated ${annotated} behavioral descriptions`);
116
+ // Generate path-scoped rules with descriptions (loaded only when touching those files)
117
+ deepRuleFiles = generateDeepRules(extractions, annotations);
118
+ console.log(` Created ${deepRuleFiles.size} deep context rule files`);
119
+ }
108
120
  // Step 6: Generate L1 skeleton
109
121
  console.log(" Generating skeleton...");
110
122
  const skeleton = generateSkeleton(stack, extractions, depGraph, complexityScores, { maxTokens });
@@ -257,9 +269,30 @@ export async function initCommand(opts) {
257
269
  console.log(` Indexed ${moduleIndex.modules.length} modules`);
258
270
  console.log(" Generating contracts...");
259
271
  generateSimpleContracts(moduleIndex, extractions, depGraph, root);
272
+ // Step 8b: Generate system overview (--deep only, goes into CLAUDE.md)
273
+ let systemOverview = "";
274
+ if (!opts.fast) {
275
+ console.log(" Generating system overview...");
276
+ const annotations = new Map();
277
+ // Rebuild annotations map from merged extractions
278
+ for (const ext of extractions) {
279
+ const fileMap = new Map();
280
+ for (const sym of ext.symbols) {
281
+ if (sym.description)
282
+ fileMap.set(sym.name, sym.description);
283
+ }
284
+ if (fileMap.size > 0)
285
+ annotations.set(ext.path, fileMap);
286
+ }
287
+ const overview = await generateSystemOverview(extractions, depGraph, root, annotations);
288
+ if (overview) {
289
+ systemOverview = overview;
290
+ console.log(" System overview added to CLAUDE.md");
291
+ }
292
+ }
260
293
  // Step 9: Write outputs
261
294
  // Append conventions and test info to skeleton
262
- let enrichedSkeleton = skeleton;
295
+ let enrichedSkeleton = systemOverview ? `${systemOverview}\n\n${skeleton}` : skeleton;
263
296
  if (convText) {
264
297
  enrichedSkeleton += "\n" + convText;
265
298
  }
@@ -339,7 +372,11 @@ export async function initCommand(opts) {
339
372
  for (const [filename, content] of ruleFiles) {
340
373
  writeFileSync(join(rulesDir, filename), content);
341
374
  }
342
- console.log(` Wrote ${ruleFiles.size} rule files`);
375
+ // Write deep behavioral rules alongside gotcha rules
376
+ for (const [filename, content] of deepRuleFiles) {
377
+ writeFileSync(join(rulesDir, filename), content);
378
+ }
379
+ console.log(` Wrote ${ruleFiles.size + deepRuleFiles.size} rule files${deepRuleFiles.size > 0 ? ` (${deepRuleFiles.size} deep)` : ""}`);
343
380
  }
344
381
  if (!opts.skipHooks) {
345
382
  console.log(" Installing hooks...");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAY5B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAiB;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE/C,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,0BAA0B;IAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,QAAQ,CAAC,MAAM,iCAAiC,CAAC,CAAC;IAC7F,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzH,mDAAmD;IACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,6BAA6B;IAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAChF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,cAAc,cAAc,4CAA4C,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,UAAU,eAAe,CAAC,CAAC;IAEvD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,wDAAwD;IACxD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAqB,EAAE,CAAC;IACzC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACxD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,oBAAoB;YACjD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,iBAAiB,WAAW,CAAC,MAAM,SAAS,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5I,iCAAiC;IACjC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,SAAS,QAAQ,CAAC,CAAC;IAEzE,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/C,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM;QAC7E,CAAC,CAAC,CAAC,CAAC;IACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpE,uEAAuE;IACvE,IAAI,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,0BAA0B,CAAC,CAAC;QAEhE,uFAAuF;QACvF,aAAa,GAAG,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,IAAI,0BAA0B,CAAC,CAAC;IAEzE,CAAC;IAED,+BAA+B;IAC/B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACjG,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAElE,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAI,UAAU,GAAsC,EAAE,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC;IAEpD,kEAAkE;IAClE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,gBAAgB,CACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7B,IAAI,CACL,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,CAAC,MAAM,uBAAuB,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;IAEnI,iDAAiD;IACjD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,UAAU,EAAE,CAAC,CAAC,KAAK;KACpB,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,CAAC,IAAI,gBAAgB,CAAC,CAAC;IAEvE,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,cAAc,CAAC,CAAC;IAEnD,8DAA8D;IAC9D,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,wBAAwB,aAAa,CAAC,IAAI,UAAU,CAAC,CAAC;IAElE,mEAAmE;IACnE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,cAAc,aAAa,CAAC,OAAO,CAAC,MAAM,0BAA0B,CAAC,CAAC;IAElF,wEAAwE;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC3G,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACvF,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAE7B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC3D,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACpC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhC,iCAAiC;IACjC,IAAI,OAAO,GAAsC,EAAE,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAED,8CAA8C;IAC9C,IAAI,MAAM,GAAqC,EAAE,CAAC;IAClD,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC;IAEjI,0BAA0B;IAC1B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAErC,iDAAiD;IACjD,IAAI,QAAQ,GAAuC;QACjD,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;KAC5F,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,WAAW,QAAQ,CAAC,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC;IAC7H,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAK,GAAoC;QAC3C,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI;KACpF,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,QAAQ,CAAC,MAAM,0BAA0B,KAAK,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,kBAAkB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtI,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAExF,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;IAE3E,2CAA2C;IAC3C,IAAI,UAAU,GAAyC,EAAE,CAAC;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,MAAM,oBAAoB,CAAC,CAAC;IAC3F,CAAC;IAED,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAE5F,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAEzF,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,eAAe,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAElG,aAAa;IACb,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5F,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC;IAE/E,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACvF,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,aAAa,WAAW,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElE,uEAAuE;IACvE,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC3D,kDAAkD;QAClD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,WAAW;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACxF,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,GAAG,QAAQ,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,+CAA+C;IAC/C,IAAI,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtF,IAAI,QAAQ,EAAE,CAAC;QACb,gBAAgB,IAAI,IAAI,GAAG,QAAQ,CAAC;IACtC,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,gBAAgB,IAAI,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,wCAAwC,CAAC;IACnG,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,WAAW;QAAE,gBAAgB,IAAI,IAAI,GAAG,WAAW,CAAC;IACxD,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,WAAW;QAAE,gBAAgB,IAAI,IAAI,GAAG,WAAW,CAAC;IACxD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,UAAU;QAAE,gBAAgB,IAAI,IAAI,GAAG,UAAU,CAAC;IACtD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,OAAO;QAAE,gBAAgB,IAAI,IAAI,GAAG,OAAO,CAAC;IAChD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,YAAY;QAAE,gBAAgB,IAAI,IAAI,GAAG,YAAY,CAAC;IAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS;QAAE,gBAAgB,IAAI,IAAI,GAAG,SAAS,CAAC;IACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,QAAQ;QAAE,gBAAgB,IAAI,IAAI,GAAG,QAAQ,CAAC;IAClD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,gBAAgB;QAAE,gBAAgB,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAClE,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,aAAa;QAAE,gBAAgB,IAAI,IAAI,GAAG,aAAa,CAAC;IAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,QAAQ;QAAE,gBAAgB,IAAI,IAAI,GAAG,QAAQ,CAAC;IAClD,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,cAAc;QAAE,gBAAgB,IAAI,IAAI,GAAG,cAAc,CAAC;IAC9D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,gBAAgB;QAAE,gBAAgB,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAClE,MAAM,SAAS,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,SAAS;QAAE,gBAAgB,IAAI,IAAI,GAAG,SAAS,CAAC;IACpD,MAAM,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,WAAW;QAAE,gBAAgB,IAAI,IAAI,GAAG,WAAW,CAAC;IACxD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,UAAU;QAAE,gBAAgB,IAAI,IAAI,GAAG,UAAU,CAAC;IAEtD,+CAA+C;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,aAAa,CACX,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EACjC,IAAI,CAAC,SAAS,CACZ,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACtI,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IAEF,2CAA2C;IAC3C,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,GAAG;gBACd,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aAC7D,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;YAC5C,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,qDAAqD;QACrD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC;YAChD,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,cAAc,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3I,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACnD,aAAa,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAEhD,4BAA4B;IAC5B,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IAED,mBAAmB;IACnB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,uDAAuD,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1H,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,CAAC,MAAM,4BAA4B,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,mDAAmD,WAAW,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,gDAAgD,YAAY,CAAC,MAAM,WAAW,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACtJ,OAAO,CAAC,GAAG,CAAC,8CAA8C,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC;IACnF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;IACD,wBAAwB;IACxB,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,iBAAiB,GAAG,UAAU,CAAC;IACrC,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,6BAA6B;IACzD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;IAExG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,CAAC,iBAAiB,CAAC,kCAAkC,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,CAAC,cAAc,CAAC,qCAAqC,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,CAAC,iBAAiB,GAAG,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACtH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,iBAAiB,GAAG,cAAc,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC3H,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;AAC/F,CAAC"}
@@ -175,10 +175,39 @@ process.stdin.on("end", () => {
175
175
  if (!index.modules) { process.exit(0); return; }
176
176
  const complexity = scorePrompt(safePrompt);
177
177
 
178
+ // Learning loop: process session reads log into relevance scores
179
+ const learningPath = join(briefedDir, "learning.json");
180
+ const readsLogPath = join(briefedDir, "session-reads.log");
181
+ let learning = { moduleRelevance: {} };
182
+ try { learning = JSON.parse(safeRead(learningPath) || "{}"); } catch {}
183
+ if (!learning.moduleRelevance) learning.moduleRelevance = {};
184
+
185
+ // Process any pending file reads into learning scores
186
+ try {
187
+ if (existsSync(readsLogPath)) {
188
+ const reads = readFileSync(readsLogPath, "utf-8").trim().split("\\n").filter(Boolean);
189
+ if (reads.length > 0) {
190
+ // Map reads to modules, boost relevance for accessed modules
191
+ for (const readFile of reads) {
192
+ for (const mod of index.modules) {
193
+ if ((mod.files || []).some((f) => readFile.includes(f))) {
194
+ // Extract keywords from the module and boost them
195
+ for (const kw of (mod.keywords || []).slice(0, 5)) {
196
+ if (!learning.moduleRelevance[kw]) learning.moduleRelevance[kw] = {};
197
+ learning.moduleRelevance[kw][mod.name] = (learning.moduleRelevance[kw][mod.name] || 0) + 1;
198
+ }
199
+ }
200
+ }
201
+ }
202
+ // Clear the reads log (processed)
203
+ require("fs").writeFileSync(readsLogPath, "");
204
+ // Save updated learning
205
+ require("fs").writeFileSync(learningPath, JSON.stringify(learning, null, 2));
206
+ }
207
+ }
208
+ } catch {}
209
+
178
210
  // Adaptive budget based on prompt complexity
179
- // Simple (1-3): 1500 chars (~400 tokens) — contracts only
180
- // Moderate (4-6): 5000 chars (~1350 tokens) — contracts + deps
181
- // Complex (7-10): 9000 chars (~2400 tokens) — contracts + deps + tests + history
182
211
  const budget = complexity <= 3 ? 1500 : complexity <= 6 ? 5000 : 9000;
183
212
  const includeDeps = complexity >= 4;
184
213
  const includeTests = complexity >= 7;
@@ -188,11 +217,22 @@ process.stdin.on("end", () => {
188
217
  const loaded = new Set();
189
218
  const output = [];
190
219
 
191
- // Score each module by keyword hits
220
+ // Score each module by keyword hits + learned relevance
192
221
  const scored = index.modules.map((mod) => {
193
222
  const keywords = mod.keywords || [];
194
223
  const hits = keywords.filter((k) => safePrompt.includes(k.toLowerCase()));
195
- return { mod, hits: hits.length, complexity: mod.complexity || 0 };
224
+
225
+ // Add learned relevance boost
226
+ let learnedBoost = 0;
227
+ for (const kw of safePrompt.split(/\\s+/)) {
228
+ if (kw.length < 3) continue;
229
+ const relevance = learning.moduleRelevance[kw];
230
+ if (relevance && relevance[mod.name]) {
231
+ learnedBoost += relevance[mod.name];
232
+ }
233
+ }
234
+
235
+ return { mod, hits: hits.length + learnedBoost, complexity: mod.complexity || 0 };
196
236
  })
197
237
  .filter((s) => s.hits > 0)
198
238
  .sort((a, b) => b.hits - a.hits || b.complexity - a.complexity);
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/deliver/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/deliver/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { FileExtraction } from "./signatures.js";
2
+ import type { DepGraph } from "./depgraph.js";
3
+ import type { ComplexityScore } from "./complexity.js";
4
+ /**
5
+ * Deep analysis: use Claude to generate one-line behavioral descriptions
6
+ * for ALL exported functions, grouped by directory.
7
+ *
8
+ * Uses `claude -p` (subscription, $0 extra cost).
9
+ * Sends files in batches to stay within prompt limits.
10
+ * Returns descriptions keyed by file path → symbol name.
11
+ */
12
+ export declare function deepAnnotate(extractions: FileExtraction[], depGraph: DepGraph, complexity: ComplexityScore[], root: string): Promise<Map<string, Map<string, string>>>;
13
+ /**
14
+ * Merge deep annotations into extractions (mutates in place).
15
+ */
16
+ export declare function mergeAnnotations(extractions: FileExtraction[], annotations: Map<string, Map<string, string>>): number;
17
+ /**
18
+ * Generate .claude/rules/ files with behavioral descriptions per directory.
19
+ * These are path-scoped — only loaded when Claude touches files in that directory.
20
+ */
21
+ export declare function generateDeepRules(extractions: FileExtraction[], annotations: Map<string, Map<string, string>>): Map<string, string>;
22
+ /**
23
+ * Generate a high-level system overview — how modules connect and data flows.
24
+ * This goes into CLAUDE.md so Claude always has the big picture.
25
+ */
26
+ export declare function generateSystemOverview(extractions: FileExtraction[], depGraph: DepGraph, root: string, annotations: Map<string, Map<string, string>>): Promise<string | null>;
@@ -0,0 +1,293 @@
1
+ import { readFileSync } from "fs";
2
+ import { join, dirname } from "path";
3
+ import { execSync } from "child_process";
4
+ /**
5
+ * Deep analysis: use Claude to generate one-line behavioral descriptions
6
+ * for ALL exported functions, grouped by directory.
7
+ *
8
+ * Uses `claude -p` (subscription, $0 extra cost).
9
+ * Sends files in batches to stay within prompt limits.
10
+ * Returns descriptions keyed by file path → symbol name.
11
+ */
12
+ export async function deepAnnotate(extractions, depGraph, complexity, root) {
13
+ const annotations = new Map();
14
+ const claudePath = findClaudeCli();
15
+ if (!claudePath) {
16
+ console.log(" Claude CLI not found — install Claude Code first");
17
+ return annotations;
18
+ }
19
+ // Collect all files that have exported functions without descriptions
20
+ const filesNeedingDesc = extractions
21
+ .filter(e => e.symbols.some(s => s.exported && !s.description &&
22
+ ["function", "method", "class", "component"].includes(s.kind)))
23
+ .sort((a, b) => {
24
+ const aScore = (depGraph.pageRank.get(a.path) || 0) + (depGraph.refCounts.get(a.path) || 0);
25
+ const bScore = (depGraph.pageRank.get(b.path) || 0) + (depGraph.refCounts.get(b.path) || 0);
26
+ return bScore - aScore;
27
+ });
28
+ if (filesNeedingDesc.length === 0)
29
+ return annotations;
30
+ // Batch files — ~10 files per Claude call to stay within prompt limits
31
+ const BATCH_SIZE = 10;
32
+ const batches = [];
33
+ for (let i = 0; i < filesNeedingDesc.length; i += BATCH_SIZE) {
34
+ batches.push(filesNeedingDesc.slice(i, i + BATCH_SIZE));
35
+ }
36
+ console.log(` ${filesNeedingDesc.length} files to analyze in ${batches.length} batch${batches.length > 1 ? "es" : ""}...`);
37
+ for (let batchIdx = 0; batchIdx < batches.length; batchIdx++) {
38
+ const batch = batches[batchIdx];
39
+ if (batches.length > 1) {
40
+ process.stdout.write(` Batch ${batchIdx + 1}/${batches.length}...`);
41
+ }
42
+ const fileSections = [];
43
+ for (const extraction of batch) {
44
+ const fullPath = join(root, extraction.path);
45
+ let content;
46
+ try {
47
+ content = readFileSync(fullPath, "utf-8");
48
+ }
49
+ catch {
50
+ continue;
51
+ }
52
+ const needsDesc = extraction.symbols
53
+ .filter(s => s.exported && !s.description &&
54
+ ["function", "method", "class", "component"].includes(s.kind));
55
+ if (needsDesc.length === 0)
56
+ continue;
57
+ const relevantContent = extractRelevantLines(content, needsDesc);
58
+ fileSections.push(`FILE: ${extraction.path}\n` +
59
+ `SYMBOLS: ${needsDesc.map(s => s.name).join(", ")}\n` +
60
+ `CODE:\n${relevantContent}\n`);
61
+ }
62
+ if (fileSections.length === 0)
63
+ continue;
64
+ const prompt = `Analyze these source files and describe each listed function in ONE short line (max 12 words).
65
+
66
+ Focus on: WHAT it does, SIDE EFFECTS (emits events, writes DB, sends email), and CONSTRAINTS (validation, guards, required state).
67
+
68
+ Good: "creates draft invoice, validates project active, emits InvoiceCreated"
69
+ Good: "hashes password with bcrypt 12 rounds, throws on empty"
70
+ Good: "returns paginated users, filters soft-deleted, requires admin role"
71
+ Bad: "handles invoice logic" (too vague)
72
+ Bad: "main service function" (says nothing)
73
+
74
+ Reply ONLY in this format, one line per symbol, no other text:
75
+ FILE_PATH:SYMBOL_NAME: description
76
+
77
+ ${fileSections.join("\n---\n")}`;
78
+ try {
79
+ const result = await runClaude(claudePath, prompt, root);
80
+ let batchCount = 0;
81
+ for (const line of result.split("\n")) {
82
+ const match = line.match(/^(.+?):(\w+):\s*(.+)$/);
83
+ if (match) {
84
+ const [, filePath, symbolName, description] = match;
85
+ const cleanPath = filePath.trim();
86
+ if (!annotations.has(cleanPath))
87
+ annotations.set(cleanPath, new Map());
88
+ annotations.get(cleanPath).set(symbolName, description.trim());
89
+ batchCount++;
90
+ }
91
+ }
92
+ if (batches.length > 1) {
93
+ console.log(` ${batchCount} descriptions`);
94
+ }
95
+ }
96
+ catch (err) {
97
+ if (batches.length > 1)
98
+ console.log(" failed");
99
+ console.log(` Batch ${batchIdx + 1} error: ${err.message?.split("\n")[0] || "unknown"}`);
100
+ }
101
+ }
102
+ return annotations;
103
+ }
104
+ async function runClaude(claudePath, prompt, cwd) {
105
+ const { spawnSync } = await import("child_process");
106
+ const result = spawnSync(claudePath, ["-p", "-", "--output-format", "text"], {
107
+ input: prompt,
108
+ encoding: "utf-8",
109
+ timeout: 120_000,
110
+ cwd,
111
+ });
112
+ if (result.error)
113
+ throw result.error;
114
+ if (result.status !== 0)
115
+ throw new Error(result.stderr || `claude exited with ${result.status}`);
116
+ return (result.stdout || "").trim();
117
+ }
118
+ /**
119
+ * Extract the relevant lines around each symbol (function body context).
120
+ */
121
+ function extractRelevantLines(content, symbols) {
122
+ const lines = content.split("\n");
123
+ const ranges = new Set();
124
+ for (const sym of symbols) {
125
+ const start = Math.max(0, sym.line - 2);
126
+ const end = Math.min(lines.length, sym.line + 30);
127
+ for (let i = start; i < end; i++)
128
+ ranges.add(i);
129
+ }
130
+ const sortedLines = [...ranges].sort((a, b) => a - b);
131
+ const output = [];
132
+ let lastLine = -2;
133
+ for (const i of sortedLines) {
134
+ if (i > lastLine + 1)
135
+ output.push("...");
136
+ output.push(lines[i]);
137
+ lastLine = i;
138
+ }
139
+ return output.length > 200
140
+ ? output.slice(0, 200).join("\n") + "\n..."
141
+ : output.join("\n");
142
+ }
143
+ /**
144
+ * Merge deep annotations into extractions (mutates in place).
145
+ */
146
+ export function mergeAnnotations(extractions, annotations) {
147
+ let count = 0;
148
+ for (const ext of extractions) {
149
+ const fileAnnotations = annotations.get(ext.path);
150
+ if (!fileAnnotations)
151
+ continue;
152
+ for (const sym of ext.symbols) {
153
+ const desc = fileAnnotations.get(sym.name);
154
+ if (desc && !sym.description) {
155
+ sym.description = desc;
156
+ count++;
157
+ }
158
+ }
159
+ }
160
+ return count;
161
+ }
162
+ /**
163
+ * Generate .claude/rules/ files with behavioral descriptions per directory.
164
+ * These are path-scoped — only loaded when Claude touches files in that directory.
165
+ */
166
+ export function generateDeepRules(extractions, annotations) {
167
+ const rules = new Map();
168
+ // Group annotated files by directory
169
+ const byDir = new Map();
170
+ for (const ext of extractions) {
171
+ const fileAnnotations = annotations.get(ext.path);
172
+ if (!fileAnnotations || fileAnnotations.size === 0)
173
+ continue;
174
+ const dir = dirname(ext.path);
175
+ if (!byDir.has(dir))
176
+ byDir.set(dir, []);
177
+ const symbols = [];
178
+ for (const sym of ext.symbols) {
179
+ const desc = fileAnnotations.get(sym.name);
180
+ if (desc) {
181
+ symbols.push({
182
+ name: sym.name,
183
+ sig: sym.signature,
184
+ desc,
185
+ });
186
+ }
187
+ }
188
+ if (symbols.length > 0) {
189
+ byDir.get(dir).push({ file: ext.path, symbols });
190
+ }
191
+ }
192
+ // Generate a rule file per directory
193
+ for (const [dir, files] of byDir) {
194
+ const safeDir = dir.replace(/[\/\\]/g, "-").replace(/^-/, "");
195
+ const fileName = `briefed-deep-${safeDir || "root"}.md`;
196
+ const lines = [
197
+ "---",
198
+ `paths:`,
199
+ ` - "${dir}/**"`,
200
+ "---",
201
+ "",
202
+ `# ${dir}/ — behavioral context`,
203
+ "",
204
+ ];
205
+ for (const file of files) {
206
+ const fname = file.file.split("/").pop() || file.file;
207
+ lines.push(`## ${fname}`);
208
+ for (const sym of file.symbols) {
209
+ lines.push(`- **${sym.name}**: ${sym.desc}`);
210
+ }
211
+ lines.push("");
212
+ }
213
+ rules.set(fileName, lines.join("\n"));
214
+ }
215
+ return rules;
216
+ }
217
+ /**
218
+ * Generate a high-level system overview — how modules connect and data flows.
219
+ * This goes into CLAUDE.md so Claude always has the big picture.
220
+ */
221
+ export async function generateSystemOverview(extractions, depGraph, root, annotations) {
222
+ const claudePath = findClaudeCli();
223
+ if (!claudePath)
224
+ return null;
225
+ // Build a summary of what we know about the system
226
+ const modulesSummary = [];
227
+ // Group by top-level directory
228
+ const byTopDir = new Map();
229
+ for (const ext of extractions) {
230
+ const topDir = ext.path.split("/").slice(0, 2).join("/");
231
+ if (!byTopDir.has(topDir))
232
+ byTopDir.set(topDir, []);
233
+ const fileAnnotations = annotations.get(ext.path);
234
+ if (fileAnnotations && fileAnnotations.size > 0) {
235
+ const descs = [...fileAnnotations.entries()]
236
+ .map(([name, desc]) => `${name}: ${desc}`)
237
+ .join("; ");
238
+ byTopDir.get(topDir).push(`${ext.path}: ${descs}`);
239
+ }
240
+ else {
241
+ const exports = ext.symbols.filter(s => s.exported).map(s => s.name).join(", ");
242
+ if (exports)
243
+ byTopDir.get(topDir).push(`${ext.path}: exports ${exports}`);
244
+ }
245
+ }
246
+ for (const [dir, files] of byTopDir) {
247
+ modulesSummary.push(`${dir}/:\n${files.slice(0, 5).join("\n")}`);
248
+ }
249
+ const prompt = `Based on these modules and their functions, write a concise SYSTEM OVERVIEW (5-10 lines max) describing:
250
+ 1. What this application does (one sentence)
251
+ 2. How the main modules connect (data flow, which calls which)
252
+ 3. Key architectural patterns (e.g. "tRPC routes → services → Prisma → PostgreSQL")
253
+
254
+ Be specific to THIS codebase. No generic advice. No bullet points. Just dense, useful prose.
255
+
256
+ Format: plain text, no markdown headers, no bullets. Just a paragraph.
257
+
258
+ MODULES:
259
+ ${modulesSummary.join("\n\n")}`;
260
+ try {
261
+ const result = await runClaude(claudePath, prompt, root);
262
+ // Clean up — remove any markdown formatting Claude might add
263
+ return result
264
+ .replace(/^#+\s*/gm, "")
265
+ .replace(/^\*\*/gm, "")
266
+ .trim();
267
+ }
268
+ catch {
269
+ return null;
270
+ }
271
+ }
272
+ function findClaudeCli() {
273
+ const candidates = [
274
+ "claude",
275
+ `${process.env.HOME || ""}/.npm-global/bin/claude`,
276
+ "/usr/local/bin/claude",
277
+ "/opt/homebrew/bin/claude",
278
+ `${process.env.APPDATA || ""}/npm/claude.cmd`,
279
+ ];
280
+ for (const candidate of candidates) {
281
+ try {
282
+ execSync(`${candidate} --version`, {
283
+ stdio: ["pipe", "pipe", "pipe"],
284
+ shell: process.platform === "win32" ? "cmd.exe" : "/bin/sh",
285
+ timeout: 5000,
286
+ });
287
+ return candidate;
288
+ }
289
+ catch { /* try next */ }
290
+ }
291
+ return null;
292
+ }
293
+ //# sourceMappingURL=deep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep.js","sourceRoot":"","sources":["../../src/extract/deep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKzC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAA6B,EAC7B,QAAkB,EAClB,UAA6B,EAC7B,IAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE3D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,WAAW;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW;QAC3D,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,OAAO,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;IAEL,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAEtD,uEAAuE;IACvE,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,MAAM,wBAAwB,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAE5H,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YAEtE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO;iBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW;gBACvC,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAErC,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjE,YAAY,CAAC,IAAI,CACf,SAAS,UAAU,CAAC,IAAI,IAAI;gBAC5B,YAAY,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACrD,UAAU,eAAe,IAAI,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAExC,MAAM,MAAM,GAAG;;;;;;;;;;;;;EAajB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,CAAC,CAAC;YAEnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAClD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;oBACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;wBAAE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;oBACvE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChE,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,eAAe,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,MAAc,EAAE,GAAW;IACtE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE;QAC3E,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,OAAO;QAChB,GAAG;KACJ,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,sBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,OAAiB;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAElB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,GAAG;QACxB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO;QAC3C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAA6B,EAC7B,WAA6C;IAE7C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe;YAAE,SAAS;QAE/B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC7B,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;gBACvB,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAA6B,EAC7B,WAA6C;IAE7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,qCAAqC;IACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgG,CAAC;IAEtH,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QAE7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAExC,MAAM,OAAO,GAAuD,EAAE,CAAC;QACvE,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,GAAG,EAAE,GAAG,CAAC,SAAS;oBAClB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,gBAAgB,OAAO,IAAI,MAAM,KAAK,CAAC;QAExD,MAAM,KAAK,GAAa;YACtB,KAAK;YACL,QAAQ;YACR,QAAQ,GAAG,MAAM;YACjB,KAAK;YACL,EAAE;YACF,KAAK,GAAG,wBAAwB;YAChC,EAAE;SACH,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAA6B,EAC7B,QAAkB,EAClB,IAAY,EACZ,WAA6C;IAE7C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,mDAAmD;IACnD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEpD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;iBACzC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;iBACzC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChF,IAAI,OAAO;gBAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,aAAa,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACpC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG;;;;;;;;;;EAUf,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,6DAA6D;QAC7D,OAAO,MAAM;aACV,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,yBAAyB;QAClD,uBAAuB;QACvB,0BAA0B;QAC1B,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,iBAAiB;KAC9C,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,QAAQ,CAAC,GAAG,SAAS,YAAY,EAAE;gBACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC3D,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -90,15 +90,14 @@ export function generateSkeleton(stack, extractions, depGraph, complexity, opts
90
90
  }
91
91
  }
92
92
  else {
93
- // Compact: just file name with export count
93
+ // Compact: file name with all export names
94
94
  const exportNames = exportedSymbols
95
- .slice(0, 5)
96
- .map((s) => s.name.split(".").pop())
95
+ .map((s) => {
96
+ const name = s.name.split(".").pop();
97
+ return s.description ? `${name} — ${s.description}` : name;
98
+ })
97
99
  .join(", ");
98
- const suffix = exportedSymbols.length > 5
99
- ? ` +${exportedSymbols.length - 5} more`
100
- : "";
101
- const compactLine = `${fname}${refTag}: ${exportNames}${suffix}`;
100
+ const compactLine = `${fname}${refTag}: ${exportNames}`;
102
101
  lines.push(compactLine);
103
102
  tokenCount += countTokens(compactLine);
104
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/generate/skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAY,MAAM,MAAM,CAAC;AAKnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,MAAM,eAAe,GAAoB;IACvC,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,EAAE;CACT,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,WAA6B,EAC7B,QAAkB,EAClB,UAA6B,EAC7B,OAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,EAAE,CAAC;IAEhD,+BAA+B;IAC/B,MAAM,MAAM,GAAG,WAAW;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC;KAClE,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAErC,2BAA2B;IAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,oDAAoD;IACpD,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG;QACH,KAAK;QACL,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,UAAU,EAAE,KAAK,CAAC,MAAM;KACzB,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAE/C,iBAAiB;IACjB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3H,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrH,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,CAAC,IAAI,CACR,UAAU,WAAW,CAAC,MAAM,wBAAwB,SAAS,CAAC,IAAI,cAAc,CACjF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0CAA0C;IAC1C,IAAI,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,UAAU,EAAE,CAAC;QACpD,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM;QACzC,IAAI,UAAU,IAAI,OAAO,CAAC,SAAS;YAAE,MAAM;QAE3C,oEAAoE;QACpE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAC/B,CAAC,MAAM,CAAC;QAET,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,QAAQ,SAAS,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,KAAK,EAAE,CAAC;YACzD,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI;gBAAE,MAAM;YACzC,IAAI,UAAU,IAAI,OAAO,CAAC,SAAS;gBAAE,MAAM;YAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3C,kDAAkD;YAClD,iEAAiE;YACjE,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAErE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACzB,4BAA4B;gBAC5B,MAAM,QAAQ,GAAG,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,UAAU,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEpC,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC/C,MAAM,OAAO,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS;wBAAE,MAAM;oBACtD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpB,UAAU,IAAI,SAAS,CAAC;gBAC1B,CAAC;gBACD,IAAI,eAAe,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,UAAU,eAAe,CAAC,MAAM,GAAG,EAAE,eAAe,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,MAAM,WAAW,GAAG,eAAe;qBAChC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;qBACnC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;oBACvC,CAAC,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC,OAAO;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,WAAW,GAAG,GAAG,KAAK,GAAG,MAAM,KAAK,WAAW,GAAG,MAAM,EAAE,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,UAAU,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YAED,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,UAAU,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC,0BAA0B,aAAa,YAAY,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;IAE1G,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,IAAY,CAAC;IACjB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;YAAC,MAAM;QAC9B,KAAK,QAAQ;YACX,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;YAAC,MAAM;QAC9B,KAAK,OAAO,CAAC;QACb,KAAK,WAAW;YACd,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAAC,MAAM;QAC/C,KAAK,MAAM;YACT,IAAI,GAAG,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC;YAAC,MAAM;QACxC,KAAK,MAAM;YACT,IAAI,GAAG,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC;YAAC,MAAM;QACxC,KAAK,WAAW;YACd,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YAAC,MAAM;QACjD;YACE,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IACzB,CAAC;IACD,mEAAmE;IACnE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,GAAG,IAAI,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/generate/skeleton.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "briefed",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Adaptive Context Engine — compile your codebase into focused, token-efficient context for AI coding tools",
5
5
  "type": "module",
6
6
  "bin": {
@@ -14,7 +14,16 @@
14
14
  "bench": "node dist/cli.js bench",
15
15
  "prepublishOnly": "npm run build"
16
16
  },
17
- "keywords": ["ai", "context", "claude", "cursor", "copilot", "llm", "codebase", "developer-tools"],
17
+ "keywords": [
18
+ "ai",
19
+ "context",
20
+ "claude",
21
+ "cursor",
22
+ "copilot",
23
+ "llm",
24
+ "codebase",
25
+ "developer-tools"
26
+ ],
18
27
  "author": "Wesley",
19
28
  "license": "MIT",
20
29
  "homepage": "https://github.com/WesOps/briefed",
@@ -25,15 +34,21 @@
25
34
  "bugs": {
26
35
  "url": "https://github.com/WesOps/briefed/issues"
27
36
  },
28
- "engines": { "node": ">=20" },
29
- "files": ["dist", "README.md", "LICENSE"],
37
+ "engines": {
38
+ "node": ">=20"
39
+ },
40
+ "files": [
41
+ "dist",
42
+ "README.md",
43
+ "LICENSE"
44
+ ],
30
45
  "dependencies": {
31
46
  "commander": "^13.1.0",
32
- "web-tree-sitter": "^0.24.7",
33
- "glob": "^11.0.1",
34
- "simple-git": "^3.27.0",
47
+ "glob": "^13.0.6",
48
+ "js-yaml": "^4.1.0",
35
49
  "minimatch": "^10.0.1",
36
- "js-yaml": "^4.1.0"
50
+ "simple-git": "^3.27.0",
51
+ "web-tree-sitter": "^0.24.7"
37
52
  },
38
53
  "devDependencies": {
39
54
  "@types/js-yaml": "^4.0.9",