project-context-ai 1.3.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/context/store.d.ts.map +1 -1
  2. package/dist/context/store.js +1 -0
  3. package/dist/context/store.js.map +1 -1
  4. package/dist/generators/claude.d.ts.map +1 -1
  5. package/dist/generators/claude.js +10 -27
  6. package/dist/generators/claude.js.map +1 -1
  7. package/dist/generators/codex.d.ts.map +1 -1
  8. package/dist/generators/codex.js +12 -34
  9. package/dist/generators/codex.js.map +1 -1
  10. package/dist/generators/copilot.d.ts.map +1 -1
  11. package/dist/generators/copilot.js +12 -27
  12. package/dist/generators/copilot.js.map +1 -1
  13. package/dist/generators/cursor.d.ts.map +1 -1
  14. package/dist/generators/cursor.js +11 -33
  15. package/dist/generators/cursor.js.map +1 -1
  16. package/dist/generators/gemini.d.ts.map +1 -1
  17. package/dist/generators/gemini.js +11 -26
  18. package/dist/generators/gemini.js.map +1 -1
  19. package/dist/generators/index.d.ts.map +1 -1
  20. package/dist/generators/index.js +97 -0
  21. package/dist/generators/index.js.map +1 -1
  22. package/dist/generators/template.d.ts +10 -9
  23. package/dist/generators/template.d.ts.map +1 -1
  24. package/dist/generators/template.js +233 -312
  25. package/dist/generators/template.js.map +1 -1
  26. package/dist/generators/trae.d.ts.map +1 -1
  27. package/dist/generators/trae.js +11 -28
  28. package/dist/generators/trae.js.map +1 -1
  29. package/dist/generators/windsurf.d.ts.map +1 -1
  30. package/dist/generators/windsurf.js +11 -26
  31. package/dist/generators/windsurf.js.map +1 -1
  32. package/dist/scanner/index.d.ts.map +1 -1
  33. package/dist/scanner/index.js +4 -1
  34. package/dist/scanner/index.js.map +1 -1
  35. package/dist/scanner/rules.d.ts +3 -0
  36. package/dist/scanner/rules.d.ts.map +1 -0
  37. package/dist/scanner/rules.js +177 -0
  38. package/dist/scanner/rules.js.map +1 -0
  39. package/dist/types.d.ts +6 -0
  40. package/dist/types.d.ts.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/context/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOjF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAY9E;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,GAAE,eAAe,GAAG,IAAW,GACpC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,GACtB,cAAc,CAkBhB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/context/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOjF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAY9E;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,GAAE,eAAe,GAAG,IAAW,GACpC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,GACtB,cAAc,CAmBhB"}
@@ -56,6 +56,7 @@ export function mergeContext(existing, partial) {
56
56
  modules: partial.modules || existing.modules,
57
57
  business: partial.business || existing.business,
58
58
  patterns: partial.patterns || existing.patterns,
59
+ rules: partial.rules || existing.rules,
59
60
  };
60
61
  }
61
62
  function mergeByPath(existing, incoming) {
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/context/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/context/store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/generators/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkBnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CA0CnE"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/generators/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAsBnE"}
@@ -1,39 +1,22 @@
1
- import { buildProjectOverview, buildStructureSection, buildKeyFilesSection, buildEntryPointsSection, buildScriptsSection, buildDependenciesSection, buildArchitectureSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvVarsSection, buildServicesSection, buildBusinessSection, buildPatternsSection, } from "./template.js";
1
+ import { buildProjectOverview, buildRulesSection, buildPatternsSection, buildBusinessSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvServicesSection, buildDocIndexSection, } from "./template.js";
2
2
  export function generateClaude(ctx) {
3
3
  const sections = [];
4
+ // High-signal first (research: LLMs follow early instructions best)
4
5
  sections.push(buildProjectOverview(ctx));
5
- sections.push(buildArchitectureSection(ctx));
6
- sections.push(buildStructureSection(ctx));
7
- sections.push(buildKeyFilesSection(ctx));
8
- sections.push(buildEntryPointsSection(ctx));
6
+ sections.push(buildRulesSection(ctx));
7
+ sections.push(buildPatternsSection(ctx));
8
+ sections.push(buildBusinessSection(ctx));
9
9
  sections.push(buildRoutesSection(ctx));
10
10
  sections.push(buildDatabaseSection(ctx));
11
11
  sections.push(buildModulesSection(ctx));
12
- sections.push(buildEnvVarsSection(ctx));
13
- sections.push(buildServicesSection(ctx));
14
- sections.push(buildBusinessSection(ctx));
15
- sections.push(buildPatternsSection(ctx));
16
- sections.push(buildDependenciesSection(ctx));
17
- sections.push(buildScriptsSection(ctx));
18
- // Claude-specific instructions
19
- sections.push("## Guidelines");
20
- sections.push("");
21
- sections.push("- Read relevant files before suggesting changes");
22
- sections.push("- Follow existing code patterns and conventions");
23
- sections.push(`- Use ${ctx.dependencies.packageManager} for package management`);
24
- if (ctx.conventions.testing !== "No testing framework detected") {
25
- sections.push(`- Write tests using ${ctx.conventions.testing}`);
26
- }
27
- if (ctx.conventions.styling !== "CSS") {
28
- sections.push(`- Use ${ctx.conventions.styling} for styling`);
29
- }
30
- sections.push("- Prefer editing existing files over creating new ones");
31
- sections.push("");
32
- sections.push("<!-- Generated by project-context-ai -->");
12
+ sections.push(buildEnvServicesSection(ctx));
13
+ sections.push(buildDocIndexSection(ctx));
14
+ // Filter empty sections
15
+ const content = sections.filter((s) => s.trim()).join("\n") + "\n\n<!-- Generated by project-context-ai -->\n";
33
16
  return {
34
17
  target: "claude",
35
18
  filePath: "CLAUDE.md",
36
- content: sections.join("\n"),
19
+ content,
37
20
  };
38
21
  }
39
22
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/generators/claude.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAExC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,YAAY,CAAC,cAAc,yBAAyB,CAAC,CAAC;IAEjF,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,+BAA+B,EAAE,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/generators/claude.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC,wBAAwB;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gDAAgD,CAAC;IAE/G,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/generators/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkBnE,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAiDlE"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/generators/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanE,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAyBlE"}
@@ -1,46 +1,24 @@
1
- import { buildProjectOverview, buildStructureSection, buildKeyFilesSection, buildEntryPointsSection, buildDependenciesSection, buildArchitectureSection, buildScriptsSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvVarsSection, buildServicesSection, buildBusinessSection, buildPatternsSection, } from "./template.js";
1
+ import { buildProjectOverview, buildRulesSection, buildPatternsSection, buildBusinessSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvServicesSection, buildDocIndexSection, } from "./template.js";
2
2
  export function generateCodex(ctx) {
3
3
  const sections = [];
4
+ // High-signal first (research: LLMs follow early instructions best)
4
5
  sections.push(buildProjectOverview(ctx));
5
- sections.push(buildArchitectureSection(ctx));
6
- sections.push(buildStructureSection(ctx));
7
- sections.push(buildKeyFilesSection(ctx));
8
- sections.push(buildEntryPointsSection(ctx));
6
+ sections.push(buildRulesSection(ctx));
7
+ sections.push(buildPatternsSection(ctx));
8
+ sections.push(buildBusinessSection(ctx));
9
9
  sections.push(buildRoutesSection(ctx));
10
10
  sections.push(buildDatabaseSection(ctx));
11
11
  sections.push(buildModulesSection(ctx));
12
- sections.push(buildEnvVarsSection(ctx));
13
- sections.push(buildServicesSection(ctx));
14
- sections.push(buildBusinessSection(ctx));
15
- sections.push(buildPatternsSection(ctx));
16
- sections.push(buildDependenciesSection(ctx));
17
- sections.push(buildScriptsSection(ctx));
18
- // Codex/AGENTS.md-specific instructions
19
- sections.push("## Agent Guidelines");
20
- sections.push("");
21
- sections.push(`- This project uses ${ctx.meta.languages.join(", ")} with ${ctx.dependencies.packageManager}`);
22
- sections.push(`- Architecture: ${ctx.conventions.architecture}`);
23
- if (ctx.conventions.testing !== "No testing framework detected") {
24
- sections.push(`- Run tests with: ${ctx.dependencies.packageManager} run test`);
25
- sections.push(`- Testing framework: ${ctx.conventions.testing}`);
26
- }
27
- if (Object.keys(ctx.scripts).length > 0) {
28
- if (ctx.scripts["lint"]) {
29
- sections.push(`- Lint with: ${ctx.dependencies.packageManager} run lint`);
30
- }
31
- if (ctx.scripts["build"]) {
32
- sections.push(`- Build with: ${ctx.dependencies.packageManager} run build`);
33
- }
34
- }
35
- sections.push("- Always read files before modifying them");
36
- sections.push("- Follow existing patterns in the codebase");
37
- sections.push("- Prefer minimal, focused changes");
38
- sections.push("");
39
- sections.push("<!-- Generated by project-context-ai -->");
12
+ sections.push(buildEnvServicesSection(ctx));
13
+ sections.push(buildDocIndexSection(ctx));
14
+ // Codex/AGENTS.md-specific guidelines
15
+ sections.push("## Agent Guidelines\n\n- Always read files before modifying them\n- Follow existing patterns in the codebase\n- Prefer minimal, focused changes");
16
+ // Filter empty sections
17
+ const content = sections.filter((s) => s.trim()).join("\n") + "\n\n<!-- Generated by project-context-ai -->\n";
40
18
  return {
41
19
  target: "codex",
42
20
  filePath: "AGENTS.md",
43
- content: sections.join("\n"),
21
+ content,
44
22
  };
45
23
  }
46
24
  //# sourceMappingURL=codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/generators/codex.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAExC,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9G,QAAQ,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAEjE,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,+BAA+B,EAAE,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,YAAY,CAAC,cAAc,WAAW,CAAC,CAAC;QAC/E,QAAQ,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,YAAY,CAAC,cAAc,WAAW,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,YAAY,CAAC,cAAc,YAAY,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC3D,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/generators/codex.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,iJAAiJ,CAAC,CAAC;IAEjK,wBAAwB;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gDAAgD,CAAC;IAE/G,OAAO;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,WAAW;QACrB,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../src/generators/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiBnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CA0CpE"}
1
+ {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../src/generators/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanE,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAyBpE"}
@@ -1,39 +1,24 @@
1
- import { buildProjectOverview, buildStructureSection, buildKeyFilesSection, buildDependenciesSection, buildArchitectureSection, buildScriptsSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvVarsSection, buildServicesSection, buildBusinessSection, buildPatternsSection, } from "./template.js";
1
+ import { buildProjectOverview, buildRulesSection, buildPatternsSection, buildBusinessSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvServicesSection, buildDocIndexSection, } from "./template.js";
2
2
  export function generateCopilot(ctx) {
3
3
  const sections = [];
4
+ // High-signal first (research: LLMs follow early instructions best)
4
5
  sections.push(buildProjectOverview(ctx));
5
- sections.push(buildArchitectureSection(ctx));
6
- sections.push(buildStructureSection(ctx));
7
- sections.push(buildKeyFilesSection(ctx));
6
+ sections.push(buildRulesSection(ctx));
7
+ sections.push(buildPatternsSection(ctx));
8
+ sections.push(buildBusinessSection(ctx));
8
9
  sections.push(buildRoutesSection(ctx));
9
10
  sections.push(buildDatabaseSection(ctx));
10
11
  sections.push(buildModulesSection(ctx));
11
- sections.push(buildEnvVarsSection(ctx));
12
- sections.push(buildServicesSection(ctx));
13
- sections.push(buildBusinessSection(ctx));
14
- sections.push(buildPatternsSection(ctx));
15
- sections.push(buildDependenciesSection(ctx));
16
- sections.push(buildScriptsSection(ctx));
17
- // Copilot-specific guidance
18
- sections.push("## Coding Guidelines");
19
- sections.push("");
20
- sections.push(`- Language: ${ctx.meta.languages.join(", ")}`);
21
- sections.push(`- Package manager: ${ctx.dependencies.packageManager}`);
22
- if (ctx.conventions.styling !== "CSS") {
23
- sections.push(`- Styling: use ${ctx.conventions.styling}`);
24
- }
25
- if (ctx.conventions.stateManagement !== "None detected") {
26
- sections.push(`- State management: ${ctx.conventions.stateManagement}`);
27
- }
28
- sections.push(`- Architecture: ${ctx.conventions.architecture}`);
29
- sections.push("- Follow existing patterns and conventions in the codebase");
30
- sections.push("- Keep code consistent with surrounding code style");
31
- sections.push("");
32
- sections.push("<!-- Generated by project-context-ai -->");
12
+ sections.push(buildEnvServicesSection(ctx));
13
+ sections.push(buildDocIndexSection(ctx));
14
+ // Copilot-specific guidelines
15
+ sections.push("## Coding Guidelines\n\n- Follow existing patterns and conventions in the codebase\n- Keep code consistent with surrounding code style\n- Prefer minimal, focused changes");
16
+ // Filter empty sections
17
+ const content = sections.filter((s) => s.trim()).join("\n") + "\n\n<!-- Generated by project-context-ai -->\n";
33
18
  return {
34
19
  target: "copilot",
35
20
  filePath: ".github/copilot-instructions.md",
36
- content: sections.join("\n"),
21
+ content,
37
22
  };
38
23
  }
39
24
  //# sourceMappingURL=copilot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/generators/copilot.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,eAAe,CAAC,GAAmB;IACjD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAExC,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvE,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC5E,QAAQ,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,iCAAiC;QAC3C,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/generators/copilot.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,eAAe,CAAC,GAAmB;IACjD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,CAAC,2KAA2K,CAAC,CAAC;IAE3L,wBAAwB;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gDAAgD,CAAC;IAE/G,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,iCAAiC;QAC3C,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/generators/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgBnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAmDnE"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/generators/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAyBnE"}
@@ -1,46 +1,24 @@
1
- import { buildProjectOverview, buildStructureSection, buildKeyFilesSection, buildDependenciesSection, buildArchitectureSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvVarsSection, buildServicesSection, buildBusinessSection, buildPatternsSection, } from "./template.js";
1
+ import { buildProjectOverview, buildRulesSection, buildPatternsSection, buildBusinessSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvServicesSection, buildDocIndexSection, } from "./template.js";
2
2
  export function generateCursor(ctx) {
3
3
  const sections = [];
4
+ // High-signal first (research: LLMs follow early instructions best)
4
5
  sections.push(buildProjectOverview(ctx));
5
- sections.push(buildArchitectureSection(ctx));
6
- sections.push(buildStructureSection(ctx));
7
- sections.push(buildKeyFilesSection(ctx));
6
+ sections.push(buildRulesSection(ctx));
7
+ sections.push(buildPatternsSection(ctx));
8
+ sections.push(buildBusinessSection(ctx));
8
9
  sections.push(buildRoutesSection(ctx));
9
10
  sections.push(buildDatabaseSection(ctx));
10
11
  sections.push(buildModulesSection(ctx));
11
- sections.push(buildEnvVarsSection(ctx));
12
- sections.push(buildServicesSection(ctx));
13
- sections.push(buildBusinessSection(ctx));
14
- sections.push(buildPatternsSection(ctx));
15
- sections.push(buildDependenciesSection(ctx));
12
+ sections.push(buildEnvServicesSection(ctx));
13
+ sections.push(buildDocIndexSection(ctx));
16
14
  // Cursor-specific rules
17
- sections.push("## Rules");
18
- sections.push("");
19
- sections.push(`- This is a ${ctx.meta.type} project using ${ctx.meta.languages.join(", ")}`);
20
- sections.push(`- Package manager: ${ctx.dependencies.packageManager}`);
21
- const frontendFw = ctx.frameworks.find((f) => f.category === "frontend");
22
- if (frontendFw) {
23
- sections.push(`- Frontend framework: ${frontendFw.name} ${frontendFw.version}`);
24
- }
25
- const backendFw = ctx.frameworks.find((f) => f.category === "backend");
26
- if (backendFw) {
27
- sections.push(`- Backend framework: ${backendFw.name} ${backendFw.version}`);
28
- }
29
- if (ctx.conventions.styling !== "CSS") {
30
- sections.push(`- Always use ${ctx.conventions.styling} for styling`);
31
- }
32
- if (ctx.conventions.testing !== "No testing framework detected") {
33
- sections.push(`- Write tests using ${ctx.conventions.testing}`);
34
- }
35
- sections.push(`- Follow ${ctx.conventions.architecture} architecture`);
36
- sections.push("- Follow existing code patterns in the codebase");
37
- sections.push("- Prefer modifying existing files over creating new ones");
38
- sections.push("");
39
- sections.push("<!-- Generated by project-context-ai -->");
15
+ sections.push("## Rules\n\n- Follow existing code patterns and conventions in the codebase\n- Prefer modifying existing files over creating new ones\n- Keep code consistent with surrounding code style");
16
+ // Filter empty sections
17
+ const content = sections.filter((s) => s.trim()).join("\n") + "\n\n<!-- Generated by project-context-ai -->\n";
40
18
  return {
41
19
  target: "cursor",
42
20
  filePath: ".cursorrules",
43
- content: sections.join("\n"),
21
+ content,
44
22
  };
45
23
  }
46
24
  //# sourceMappingURL=cursor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/generators/cursor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7C,wBAAwB;IACxB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,IAAI,kBAAkB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACzE,IAAI,UAAU,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IACvE,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,+BAA+B,EAAE,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC,YAAY,eAAe,CAAC,CAAC;IACvE,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/generators/cursor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC,wBAAwB;IACxB,QAAQ,CAAC,IAAI,CAAC,2LAA2L,CAAC,CAAC;IAE3M,wBAAwB;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gDAAgD,CAAC;IAE/G,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,cAAc;QACxB,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/generators/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiBnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CA0CnE"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/generators/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAyBnE"}
@@ -1,39 +1,24 @@
1
- import { buildProjectOverview, buildStructureSection, buildKeyFilesSection, buildDependenciesSection, buildArchitectureSection, buildScriptsSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvVarsSection, buildServicesSection, buildBusinessSection, buildPatternsSection, } from "./template.js";
1
+ import { buildProjectOverview, buildRulesSection, buildPatternsSection, buildBusinessSection, buildRoutesSection, buildDatabaseSection, buildModulesSection, buildEnvServicesSection, buildDocIndexSection, } from "./template.js";
2
2
  export function generateGemini(ctx) {
3
3
  const sections = [];
4
+ // High-signal first (research: LLMs follow early instructions best)
4
5
  sections.push(buildProjectOverview(ctx));
5
- sections.push(buildArchitectureSection(ctx));
6
- sections.push(buildStructureSection(ctx));
7
- sections.push(buildKeyFilesSection(ctx));
6
+ sections.push(buildRulesSection(ctx));
7
+ sections.push(buildPatternsSection(ctx));
8
+ sections.push(buildBusinessSection(ctx));
8
9
  sections.push(buildRoutesSection(ctx));
9
10
  sections.push(buildDatabaseSection(ctx));
10
11
  sections.push(buildModulesSection(ctx));
11
- sections.push(buildEnvVarsSection(ctx));
12
- sections.push(buildServicesSection(ctx));
13
- sections.push(buildBusinessSection(ctx));
14
- sections.push(buildPatternsSection(ctx));
15
- sections.push(buildDependenciesSection(ctx));
16
- sections.push(buildScriptsSection(ctx));
12
+ sections.push(buildEnvServicesSection(ctx));
13
+ sections.push(buildDocIndexSection(ctx));
17
14
  // Gemini-specific style guide
18
- sections.push("## Style Guide");
19
- sections.push("");
20
- sections.push(`- Languages: ${ctx.meta.languages.join(", ")}`);
21
- sections.push(`- Package manager: ${ctx.dependencies.packageManager}`);
22
- sections.push(`- Architecture pattern: ${ctx.conventions.architecture}`);
23
- if (ctx.conventions.styling !== "CSS") {
24
- sections.push(`- Styling approach: ${ctx.conventions.styling}`);
25
- }
26
- if (ctx.conventions.testing !== "No testing framework detected") {
27
- sections.push(`- Testing: ${ctx.conventions.testing}`);
28
- }
29
- sections.push("- Match existing code conventions and patterns");
30
- sections.push("- Use consistent naming with the rest of the codebase");
31
- sections.push("");
32
- sections.push("<!-- Generated by project-context-ai -->");
15
+ sections.push("## Style Guide\n\n- Match existing code conventions and patterns\n- Use consistent naming with the rest of the codebase\n- Keep changes focused and minimal");
16
+ // Filter empty sections
17
+ const content = sections.filter((s) => s.trim()).join("\n") + "\n\n<!-- Generated by project-context-ai -->\n";
33
18
  return {
34
19
  target: "gemini",
35
20
  filePath: ".gemini/STYLE_GUIDE.md",
36
- content: sections.join("\n"),
21
+ content,
37
22
  };
38
23
  }
39
24
  //# sourceMappingURL=gemini.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/generators/gemini.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAExC,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IACvE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAEzE,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,+BAA+B,EAAE,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,wBAAwB;QAClC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/generators/gemini.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,CAAC,6JAA6J,CAAC,CAAC;IAE7K,wBAAwB;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gDAAgD,CAAC;IAE/G,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,wBAAwB;QAClC,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoBpF,eAAO,MAAM,iBAAiB,EAAkC,eAAe,EAAE,CAAC;AAMlF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC,eAAe,EAAE,CAAC,CAyC5B;AAoCD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,eAAe,GACtB,MAAM,CAIR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoBpF,eAAO,MAAM,iBAAiB,EAAkC,eAAe,EAAE,CAAC;AAMlF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC,eAAe,EAAE,CAAC,CA4C5B;AAkJD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,eAAe,GACtB,MAAM,CAIR"}
@@ -57,6 +57,8 @@ export async function generateAll(rootPath, ctx, targets) {
57
57
  await writeFile(fullPath, output.content, "utf-8");
58
58
  }
59
59
  outputs.push(output);
60
+ // Generate sub-directory context files for progressive disclosure
61
+ await generateModuleContextFiles(rootPath, ctx, target).catch(() => { });
60
62
  }
61
63
  return outputs;
62
64
  }
@@ -88,6 +90,101 @@ function replaceAutoBlock(existing, autoContent) {
88
90
  parts.push("");
89
91
  return parts.join("\n");
90
92
  }
93
+ // ─── Progressive Disclosure: sub-CLAUDE.md per module ─────
94
+ const MODULE_CONTEXT_TARGETS = new Set(["claude", "codex"]);
95
+ const MODULE_FILE_MAP = {
96
+ claude: "CLAUDE.md",
97
+ codex: "AGENTS.md",
98
+ };
99
+ async function generateModuleContextFiles(rootPath, ctx, target) {
100
+ if (!MODULE_CONTEXT_TARGETS.has(target))
101
+ return;
102
+ if (!ctx.modules || ctx.modules.length < 3)
103
+ return;
104
+ const fileName = MODULE_FILE_MAP[target];
105
+ if (!fileName)
106
+ return;
107
+ // Only generate for modules with enough files to justify it
108
+ const significantModules = ctx.modules.filter((m) => m.files >= 5);
109
+ if (significantModules.length === 0)
110
+ return;
111
+ for (const mod of significantModules) {
112
+ const modPath = join(rootPath, mod.name, fileName);
113
+ const lines = [];
114
+ lines.push(`# ${mod.name}`);
115
+ lines.push("");
116
+ lines.push(`Module with ${mod.files} files.`);
117
+ lines.push("");
118
+ if (mod.dependsOn.length > 0) {
119
+ lines.push(`**Depends on:** ${mod.dependsOn.join(", ")}`);
120
+ lines.push("");
121
+ }
122
+ if (mod.exports.length > 0) {
123
+ lines.push(`**Exports:** ${mod.exports.join(", ")}`);
124
+ lines.push("");
125
+ }
126
+ // Find module-specific routes
127
+ if (ctx.routes) {
128
+ const moduleRoutes = ctx.routes.filter((r) => r.file.startsWith(mod.name + "/"));
129
+ if (moduleRoutes.length > 0) {
130
+ lines.push("## Routes");
131
+ for (const r of moduleRoutes.slice(0, 15)) {
132
+ lines.push(`- ${r.method} ${r.path}${r.handler ? ` → ${r.handler}` : ""}`);
133
+ }
134
+ lines.push("");
135
+ }
136
+ }
137
+ // Find module-specific database models
138
+ if (ctx.database) {
139
+ const moduleModels = ctx.database.filter((m) => m.file.startsWith(mod.name + "/"));
140
+ if (moduleModels.length > 0) {
141
+ lines.push("## Models");
142
+ for (const m of moduleModels) {
143
+ lines.push(`- **${m.name}**: ${m.fields.map((f) => f.name).join(", ")}`);
144
+ }
145
+ lines.push("");
146
+ }
147
+ }
148
+ // Find module-specific skills
149
+ if (ctx.business?.skills) {
150
+ const moduleSkills = ctx.business.skills.filter((s) => s.file.startsWith(mod.name + "/"));
151
+ if (moduleSkills.length > 0) {
152
+ lines.push("## Skills");
153
+ for (const s of moduleSkills) {
154
+ const tools = s.toolCount ? ` (${s.toolCount} tools)` : "";
155
+ lines.push(`- **${s.name}**${tools}`);
156
+ if (s.methods?.length) {
157
+ for (const m of s.methods.slice(0, 4))
158
+ lines.push(` - \`${m}\``);
159
+ }
160
+ }
161
+ lines.push("");
162
+ }
163
+ }
164
+ // Module-specific rules
165
+ if (ctx.rules) {
166
+ const modName = mod.name.split("/").pop() || "";
167
+ const moduleRules = ctx.rules.filter((r) => r.source.includes(modName) || r.rule.toLowerCase().includes(modName));
168
+ if (moduleRules.length > 0) {
169
+ lines.push("## Rules");
170
+ for (const r of moduleRules) {
171
+ const icon = r.type === "never" ? "⛔" : "✅";
172
+ lines.push(`- ${icon} ${r.type.toUpperCase()} ${r.rule}`);
173
+ }
174
+ lines.push("");
175
+ }
176
+ }
177
+ lines.push("<!-- Generated by project-context-ai -->");
178
+ await mkdir(dirname(modPath), { recursive: true });
179
+ // Only write if file doesn't exist or was generated by us
180
+ if (await fileExists(modPath)) {
181
+ const existing = await readFile(modPath, "utf-8");
182
+ if (!existing.includes("Generated by project-context-ai"))
183
+ continue;
184
+ }
185
+ await writeFile(modPath, lines.join("\n"), "utf-8");
186
+ }
187
+ }
91
188
  export function generatePreview(ctx, target) {
92
189
  const generator = ALL_GENERATORS[target];
93
190
  if (!generator)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  import type { ProjectContext } from "../types.js";
2
2
  export declare function buildProjectOverview(ctx: ProjectContext): string;
3
- export declare function buildStructureSection(ctx: ProjectContext): string;
4
- export declare function buildKeyFilesSection(ctx: ProjectContext): string;
5
- export declare function buildEntryPointsSection(ctx: ProjectContext): string;
6
- export declare function buildScriptsSection(ctx: ProjectContext): string;
7
- export declare function buildDependenciesSection(ctx: ProjectContext): string;
8
- export declare function buildArchitectureSection(ctx: ProjectContext): string;
3
+ export declare function buildRulesSection(ctx: ProjectContext): string;
4
+ export declare function buildPatternsSection(ctx: ProjectContext): string;
9
5
  export declare function buildRoutesSection(ctx: ProjectContext): string;
10
6
  export declare function buildDatabaseSection(ctx: ProjectContext): string;
11
- export declare function buildEnvVarsSection(ctx: ProjectContext): string;
12
- export declare function buildServicesSection(ctx: ProjectContext): string;
13
7
  export declare function buildModulesSection(ctx: ProjectContext): string;
8
+ export declare function buildEnvServicesSection(ctx: ProjectContext): string;
14
9
  export declare function buildBusinessSection(ctx: ProjectContext): string;
15
- export declare function buildPatternsSection(ctx: ProjectContext): string;
10
+ export declare function buildDocIndexSection(ctx: ProjectContext): string;
11
+ export declare function buildStructureSection(_ctx: ProjectContext): string;
12
+ export declare function buildKeyFilesSection(_ctx: ProjectContext): string;
13
+ export declare function buildEntryPointsSection(_ctx: ProjectContext): string;
14
+ export declare function buildScriptsSection(_ctx: ProjectContext): string;
15
+ export declare function buildDependenciesSection(_ctx: ProjectContext): string;
16
+ export declare function buildArchitectureSection(_ctx: ProjectContext): string;
16
17
  //# sourceMappingURL=template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/generators/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA4ChE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA0BjE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAahE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAanE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAa/D;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAcpE;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAYpE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA6B9D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAkDhE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAgC/D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAahE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAgB/D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAyFhE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAoIhE"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/generators/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAmChE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAmB7D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAwHhE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA0B9D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAqChE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAY/D;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAuCnE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAiEhE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA0BhE;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAe;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAe;AACjF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAe;AACpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAe;AAChF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAe;AACrF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAe"}