@malikasadjaved/readme-ai 1.1.0 → 1.2.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 (96) hide show
  1. package/README.md +406 -316
  2. package/dist/analyzers/badge-generator.js +27 -27
  3. package/dist/analyzers/badge-generator.js.map +1 -1
  4. package/dist/analyzers/code-analyzer.js +37 -2
  5. package/dist/analyzers/code-analyzer.js.map +1 -1
  6. package/dist/analyzers/dependency-analyzer.d.ts.map +1 -1
  7. package/dist/analyzers/dependency-analyzer.js +203 -26
  8. package/dist/analyzers/dependency-analyzer.js.map +1 -1
  9. package/dist/analyzers/diagram-builder.js +19 -18
  10. package/dist/analyzers/diagram-builder.js.map +1 -1
  11. package/dist/analyzers/file-scanner.d.ts.map +1 -1
  12. package/dist/analyzers/file-scanner.js +13 -13
  13. package/dist/analyzers/file-scanner.js.map +1 -1
  14. package/dist/analyzers/index.d.ts +1 -1
  15. package/dist/analyzers/index.d.ts.map +1 -1
  16. package/dist/analyzers/index.js +1 -1
  17. package/dist/analyzers/index.js.map +1 -1
  18. package/dist/analyzers/repo-fetcher.d.ts.map +1 -1
  19. package/dist/analyzers/repo-fetcher.js +40 -13
  20. package/dist/analyzers/repo-fetcher.js.map +1 -1
  21. package/dist/cli.js +1 -1
  22. package/dist/cli.js.map +1 -1
  23. package/dist/commands/generate.d.ts.map +1 -1
  24. package/dist/commands/generate.js +58 -6
  25. package/dist/commands/generate.js.map +1 -1
  26. package/dist/config.d.ts +14 -0
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +24 -0
  29. package/dist/config.js.map +1 -1
  30. package/dist/generators/contributing.js +3 -3
  31. package/dist/generators/contributing.js.map +1 -1
  32. package/dist/generators/index.d.ts +1 -1
  33. package/dist/generators/index.d.ts.map +1 -1
  34. package/dist/generators/index.js +1 -1
  35. package/dist/generators/index.js.map +1 -1
  36. package/dist/generators/install.d.ts.map +1 -1
  37. package/dist/generators/install.js.map +1 -1
  38. package/dist/generators/overview.d.ts.map +1 -1
  39. package/dist/generators/overview.js +12 -5
  40. package/dist/generators/overview.js.map +1 -1
  41. package/dist/generators/usage.d.ts.map +1 -1
  42. package/dist/generators/usage.js +15 -9
  43. package/dist/generators/usage.js.map +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/plugins/index.d.ts +49 -0
  46. package/dist/plugins/index.d.ts.map +1 -0
  47. package/dist/plugins/index.js +113 -0
  48. package/dist/plugins/index.js.map +1 -0
  49. package/dist/providers/anthropic.d.ts.map +1 -1
  50. package/dist/providers/anthropic.js +4 -1
  51. package/dist/providers/anthropic.js.map +1 -1
  52. package/dist/providers/gemini.d.ts.map +1 -1
  53. package/dist/providers/gemini.js +5 -1
  54. package/dist/providers/gemini.js.map +1 -1
  55. package/dist/providers/index.d.ts +1 -0
  56. package/dist/providers/index.d.ts.map +1 -1
  57. package/dist/providers/index.js +31 -2
  58. package/dist/providers/index.js.map +1 -1
  59. package/dist/providers/ollama.d.ts.map +1 -1
  60. package/dist/providers/ollama.js +6 -3
  61. package/dist/providers/ollama.js.map +1 -1
  62. package/dist/providers/openai.d.ts.map +1 -1
  63. package/dist/providers/openai.js.map +1 -1
  64. package/dist/themes/academic.js +2 -2
  65. package/dist/themes/academic.js.map +1 -1
  66. package/dist/themes/default.js +2 -2
  67. package/dist/themes/default.js.map +1 -1
  68. package/dist/themes/hacker.js +4 -4
  69. package/dist/themes/hacker.js.map +1 -1
  70. package/dist/themes/index.d.ts.map +1 -1
  71. package/dist/themes/index.js +7 -2
  72. package/dist/themes/index.js.map +1 -1
  73. package/dist/themes/minimal.js +3 -3
  74. package/dist/themes/minimal.js.map +1 -1
  75. package/dist/themes/modern.js +2 -2
  76. package/dist/themes/modern.js.map +1 -1
  77. package/dist/utils/cache.d.ts +4 -0
  78. package/dist/utils/cache.d.ts.map +1 -0
  79. package/dist/utils/cache.js +48 -0
  80. package/dist/utils/cache.js.map +1 -0
  81. package/dist/utils/file-utils.d.ts.map +1 -1
  82. package/dist/utils/file-utils.js +45 -13
  83. package/dist/utils/file-utils.js.map +1 -1
  84. package/dist/utils/github-api.d.ts.map +1 -1
  85. package/dist/utils/github-api.js +2 -2
  86. package/dist/utils/github-api.js.map +1 -1
  87. package/dist/utils/language-detector.d.ts.map +1 -1
  88. package/dist/utils/language-detector.js +56 -30
  89. package/dist/utils/language-detector.js.map +1 -1
  90. package/dist/utils/markdown-writer.d.ts.map +1 -1
  91. package/dist/utils/markdown-writer.js +1 -3
  92. package/dist/utils/markdown-writer.js.map +1 -1
  93. package/dist/utils/template-engine.d.ts.map +1 -1
  94. package/dist/utils/template-engine.js +6 -3
  95. package/dist/utils/template-engine.js.map +1 -1
  96. package/package.json +128 -60
package/dist/config.d.ts CHANGED
@@ -10,8 +10,22 @@ export interface ReadmeAIConfig {
10
10
  default_theme?: string;
11
11
  default_output?: string;
12
12
  }
13
+ export interface ProjectConfig {
14
+ provider?: string;
15
+ model?: string;
16
+ theme?: string;
17
+ output?: string;
18
+ diagram?: boolean;
19
+ badges?: boolean;
20
+ apiDocs?: boolean;
21
+ action?: boolean;
22
+ context?: string;
23
+ ignore?: string[];
24
+ plugins?: string[];
25
+ }
13
26
  export declare const config: Conf<ReadmeAIConfig>;
14
27
  export declare function getAPIKey(provider: string): string | undefined;
15
28
  export declare function getGitHubToken(): string | undefined;
16
29
  export declare function getOllamaURL(): string;
30
+ export declare function loadProjectConfig(repoPath: string): Promise<ProjectConfig>;
17
31
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,MAAM,sBAOjB,CAAC;AAEH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW9D;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,MAAM,sBAOjB,CAAC;AAEH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW9D;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAID,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqBhF"}
package/dist/config.js CHANGED
@@ -1,4 +1,7 @@
1
1
  import Conf from 'conf';
2
+ import path from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
4
+ import fs from 'node:fs/promises';
2
5
  export const config = new Conf({
3
6
  projectName: 'readme-ai',
4
7
  defaults: {
@@ -25,4 +28,25 @@ export function getGitHubToken() {
25
28
  export function getOllamaURL() {
26
29
  return process.env.OLLAMA_BASE_URL || config.get('ollama_url') || 'http://localhost:11434';
27
30
  }
31
+ const CONFIG_FILES = ['readme-ai.config.js', 'readme-ai.config.mjs', '.readmeairc.json'];
32
+ export async function loadProjectConfig(repoPath) {
33
+ for (const filename of CONFIG_FILES) {
34
+ const filePath = path.join(repoPath, filename);
35
+ try {
36
+ await fs.access(filePath);
37
+ }
38
+ catch {
39
+ continue;
40
+ }
41
+ if (filename.endsWith('.json')) {
42
+ const content = await fs.readFile(filePath, 'utf-8');
43
+ return JSON.parse(content);
44
+ }
45
+ // JS/MJS config — dynamic import
46
+ const fileUrl = pathToFileURL(path.resolve(filePath)).href;
47
+ const mod = await import(fileUrl);
48
+ return (mod.default || mod);
49
+ }
50
+ return {};
51
+ }
28
52
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAcxB,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAiB;IAC7C,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE;QACR,QAAQ,EAAE,WAAW;QACrB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,WAAW;KAC5B;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC1E,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpE,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpE;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,wBAAwB,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA4BlC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAiB;IAC7C,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE;QACR,QAAQ,EAAE,WAAW;QACrB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,WAAW;KAC5B;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC1E,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpE,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpE;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,wBAAwB,CAAC;AAC7F,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;QAC9C,CAAC;QAED,iCAAiC;QACjC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAkB,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export function generateContributing(scan, deps) {
2
2
  const lines = [];
3
- lines.push('Contributions are welcome! Here\'s how to get started:');
3
+ lines.push("Contributions are welcome! Here's how to get started:");
4
4
  lines.push('');
5
5
  lines.push('1. Fork the repository');
6
6
  lines.push('2. Create a feature branch (`git checkout -b feature/amazing-feature`)');
@@ -8,12 +8,12 @@ export function generateContributing(scan, deps) {
8
8
  if (scan.hasTests) {
9
9
  const testCmd = deps?.testCommand || 'npm test';
10
10
  lines.push(`4. Run the tests (\`${testCmd}\`)`);
11
- lines.push('5. Commit your changes (`git commit -m \'Add amazing feature\'`)');
11
+ lines.push("5. Commit your changes (`git commit -m 'Add amazing feature'`)");
12
12
  lines.push('6. Push to the branch (`git push origin feature/amazing-feature`)');
13
13
  lines.push('7. Open a Pull Request');
14
14
  }
15
15
  else {
16
- lines.push('4. Commit your changes (`git commit -m \'Add amazing feature\'`)');
16
+ lines.push("4. Commit your changes (`git commit -m 'Add amazing feature'`)");
17
17
  lines.push('5. Push to the branch (`git push origin feature/amazing-feature`)');
18
18
  lines.push('6. Open a Pull Request');
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contributing.js","sourceRoot":"","sources":["../../src/generators/contributing.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAAC,IAAgB,EAAE,IAAyB;IAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,EAAE,WAAW,IAAI,UAAU,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,KAAK,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,sCAAsC,IAAI,CAAC,UAAU,yDAAyD,CAAC;IACxH,CAAC;IACD,OAAO,8CAA8C,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"contributing.js","sourceRoot":"","sources":["../../src/generators/contributing.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAAC,IAAgB,EAAE,IAAyB;IAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,EAAE,WAAW,IAAI,UAAU,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,KAAK,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,sCAAsC,IAAI,CAAC,UAAU,yDAAyD,CAAC;IACxH,CAAC;IACD,OAAO,8CAA8C,CAAC;AACxD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { generateOverview, type OverviewResult } from './overview.js';
2
2
  export { generateInstallSection, type InstallResult, type InstallStep } from './install.js';
3
- export { generateUsageSection, generateAPIDocs, type UsageResult, type UsageExample, type APIDocsResult, type APIDocEntry } from './usage.js';
3
+ export { generateUsageSection, generateAPIDocs, type UsageResult, type UsageExample, type APIDocsResult, type APIDocEntry, } from './usage.js';
4
4
  export { generateContributing, getLicense } from './contributing.js';
5
5
  export { generateChangelogSection, type ChangelogEntry } from './changelog.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9I,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { generateOverview } from './overview.js';
2
2
  export { generateInstallSection } from './install.js';
3
- export { generateUsageSection, generateAPIDocs } from './usage.js';
3
+ export { generateUsageSection, generateAPIDocs, } from './usage.js';
4
4
  export { generateContributing, getLicense } from './contributing.js';
5
5
  export { generateChangelogSection } from './changelog.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAwC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA6E,MAAM,YAAY,CAAC;AAC9I,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAuB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAwC,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,eAAe,GAKhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAuB,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/generators/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,GAAG,aAAa,CAsGhG"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/generators/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,GAAG,aAAa,CAuGhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/generators/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/generators/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../src/generators/overview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiD1B"}
1
+ {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../src/generators/overview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2D1B"}
@@ -4,7 +4,10 @@ export async function generateOverview(params) {
4
4
 
5
5
  PROJECT INFO:
6
6
  - Primary language: ${scan.languages[0]?.name || 'Unknown'} (${scan.languages[0]?.percentage || 0}%)
7
- - Other languages: ${scan.languages.slice(1, 4).map(l => l.name).join(', ') || 'None'}
7
+ - Other languages: ${scan.languages
8
+ .slice(1, 4)
9
+ .map((l) => l.name)
10
+ .join(', ') || 'None'}
8
11
  - Frameworks: ${scan.frameworks.join(', ') || 'None detected'}
9
12
  - Package manager: ${deps.packageManager || 'None detected'}
10
13
  - Has tests: ${scan.hasTests}
@@ -23,9 +26,12 @@ ENTRY POINTS:
23
26
  ${scan.entryPoints.join(', ') || 'None found'}
24
27
 
25
28
  KEY CODE PATTERNS DETECTED:
26
- - API Endpoints: ${codeAnalysis.apiEndpoints.map(e => `${e.method} ${e.path}`).join(', ') || 'None'}
27
- - CLI Commands: ${codeAnalysis.cliCommands.map(c => c.name).join(', ') || 'None'}
28
- - Main exports: ${codeAnalysis.exports.slice(0, 10).map(e => e.name).join(', ') || 'None'}
29
+ - API Endpoints: ${codeAnalysis.apiEndpoints.map((e) => `${e.method} ${e.path}`).join(', ') || 'None'}
30
+ - CLI Commands: ${codeAnalysis.cliCommands.map((c) => c.name).join(', ') || 'None'}
31
+ - Main exports: ${codeAnalysis.exports
32
+ .slice(0, 10)
33
+ .map((e) => e.name)
34
+ .join(', ') || 'None'}
29
35
  - Environment variables: ${codeAnalysis.envVariables.join(', ') || 'None'}
30
36
 
31
37
  ${existingDescription ? `EXISTING DESCRIPTION: ${existingDescription}` : ''}
@@ -50,7 +56,8 @@ Generate a JSON response with these fields:
50
56
  function buildFallbackOverview(scan, deps, code, existingDescription) {
51
57
  const lang = scan.languages[0]?.name || 'Unknown';
52
58
  const frameworks = scan.frameworks;
53
- const tagline = existingDescription || `A ${lang} project${frameworks.length ? ` built with ${frameworks[0]}` : ''}`;
59
+ const tagline = existingDescription ||
60
+ `A ${lang} project${frameworks.length ? ` built with ${frameworks[0]}` : ''}`;
54
61
  const parts = [];
55
62
  parts.push(`This project is built with ${lang}${frameworks.length ? ` using ${frameworks.join(', ')}` : ''}.`);
56
63
  if (code.apiEndpoints.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../src/generators/overview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../src/generators/overview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/generators/usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;CACtB,GAAG,OAAO,CAAC,WAAW,CAAC,CA6EvB;AA+BD,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CAwCzB"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/generators/usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;CACtB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgFvB;AAkCD,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CAwCzB"}
@@ -22,10 +22,13 @@ export async function generateUsageSection(params) {
22
22
  }
23
23
  // API endpoints
24
24
  if (codeAnalysis.apiEndpoints.length > 0) {
25
- const curlExamples = codeAnalysis.apiEndpoints.slice(0, 3).map(ep => {
25
+ const curlExamples = codeAnalysis.apiEndpoints
26
+ .slice(0, 3)
27
+ .map((ep) => {
26
28
  const method = ep.method === 'GET' ? '' : ` -X ${ep.method}`;
27
29
  return `curl${method} http://localhost:3000${ep.path}`;
28
- }).join('\n');
30
+ })
31
+ .join('\n');
29
32
  examples.push({
30
33
  title: 'API Examples',
31
34
  description: 'Making requests to the API:',
@@ -35,8 +38,9 @@ export async function generateUsageSection(params) {
35
38
  }
36
39
  // CLI commands
37
40
  if (codeAnalysis.cliCommands.length > 0) {
38
- const cmdExamples = codeAnalysis.cliCommands.slice(0, 3)
39
- .map(cmd => `# ${cmd.description}\n${cmd.name}`)
41
+ const cmdExamples = codeAnalysis.cliCommands
42
+ .slice(0, 3)
43
+ .map((cmd) => `# ${cmd.description}\n${cmd.name}`)
40
44
  .join('\n\n');
41
45
  examples.push({
42
46
  title: 'CLI Commands',
@@ -57,7 +61,6 @@ export async function generateUsageSection(params) {
57
61
  }
58
62
  // Ensure at least one example
59
63
  if (examples.length === 0) {
60
- const lang = scan.languages[0]?.name || 'Unknown';
61
64
  examples.push({
62
65
  title: 'Getting Started',
63
66
  description: `Start using the project:`,
@@ -68,7 +71,10 @@ export async function generateUsageSection(params) {
68
71
  return { examples };
69
72
  }
70
73
  async function generateAIUsageExamples(code, scan, provider) {
71
- const exports = code.exports.slice(0, 5).map(e => `${e.type} ${e.signature} (${e.file})`).join('\n');
74
+ const exports = code.exports
75
+ .slice(0, 5)
76
+ .map((e) => `${e.type} ${e.signature} (${e.file})`)
77
+ .join('\n');
72
78
  const prompt = `Generate 2 practical usage examples for this project.
73
79
 
74
80
  Language: ${scan.languages[0]?.name || 'Unknown'}
@@ -93,9 +99,9 @@ export async function generateAPIDocs(params) {
93
99
  const { codeAnalysis, provider } = params;
94
100
  // Group exports by file
95
101
  const entries = codeAnalysis.exports
96
- .filter(exp => exp.type === 'function' || exp.type === 'class')
102
+ .filter((exp) => exp.type === 'function' || exp.type === 'class')
97
103
  .slice(0, 20)
98
- .map(exp => ({
104
+ .map((exp) => ({
99
105
  name: exp.name,
100
106
  signature: exp.signature,
101
107
  description: '',
@@ -106,7 +112,7 @@ export async function generateAPIDocs(params) {
106
112
  try {
107
113
  const prompt = `Generate brief descriptions (1 sentence each) for these exported functions/classes:
108
114
 
109
- ${entries.map(e => `- ${e.signature} (in ${e.file})`).join('\n')}
115
+ ${entries.map((e) => `- ${e.signature} (in ${e.file})`).join('\n')}
110
116
 
111
117
  Return JSON:
112
118
  {
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/generators/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/generators/usage.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,QAAQ,CAAC,QAAQ,EAAE,uEAAuE,CAAC;KAC3F,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,CAAC;KAC9D,MAAM,CAAC,uBAAuB,EAAE,mDAAmD,EAAE,WAAW,CAAC;KACjG,MAAM,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;KAChE,MAAM,CAAC,oBAAoB,EAAE,8DAA8D,EAAE,SAAS,CAAC;KACvG,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;KAC3D,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAC9C,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,6DAA6D,CAAC;KACtF,MAAM,CAAC,UAAU,EAAE,wDAAwD,CAAC;KAC5E,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,EAAE,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC;YAChB,IAAI,EAAE,IAAI,IAAI,GAAG;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,QAAQ,CAAC,QAAQ,EAAE,uEAAuE,CAAC;KAC3F,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,CAAC;KAC9D,MAAM,CAAC,uBAAuB,EAAE,mDAAmD,EAAE,WAAW,CAAC;KACjG,MAAM,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;KAChE,MAAM,CACL,oBAAoB,EACpB,8DAA8D,EAC9D,SAAS,CACV;KACA,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;KAC3D,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAC9C,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,6DAA6D,CAAC;KACtF,MAAM,CAAC,UAAU,EAAE,wDAAwD,CAAC;KAC5E,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,EAAE,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC;YAChB,IAAI,EAAE,IAAI,IAAI,GAAG;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { Theme, ThemeData } from '../themes/index.js';
2
+ import type { CodeAnalysis } from '../analyzers/code-analyzer.js';
3
+ import type { ScanResult } from '../analyzers/file-scanner.js';
4
+ import type { DependencyAnalysis } from '../analyzers/dependency-analyzer.js';
5
+ export interface AnalyzerPlugin {
6
+ name: string;
7
+ /** Hook that runs after built-in analysis and can augment results. */
8
+ analyze: (context: AnalyzerContext) => Promise<AnalyzerResult>;
9
+ }
10
+ export interface AnalyzerContext {
11
+ scan: ScanResult;
12
+ codeAnalysis: CodeAnalysis;
13
+ deps: DependencyAnalysis;
14
+ }
15
+ export interface AnalyzerResult {
16
+ /** Extra sections appended to the README (markdown strings keyed by heading). */
17
+ sections?: Record<string, string>;
18
+ /** Extra badges in shields.io format. */
19
+ badges?: Array<{
20
+ label: string;
21
+ message: string;
22
+ color: string;
23
+ url?: string;
24
+ }>;
25
+ }
26
+ export interface ThemePlugin {
27
+ name: string;
28
+ render: (data: ThemeData) => string;
29
+ }
30
+ export type Plugin = {
31
+ name: string;
32
+ analyzers?: AnalyzerPlugin[];
33
+ themes?: ThemePlugin[];
34
+ };
35
+ export declare function registerPlugin(plugin: Plugin): void;
36
+ export declare function getAnalyzerPlugins(): AnalyzerPlugin[];
37
+ export declare function getThemePlugin(name: string): Theme | undefined;
38
+ export declare function listPluginThemes(): string[];
39
+ /**
40
+ * Loads plugins from:
41
+ * 1. Project config `readme-ai.config.js` → `plugins: [...]`
42
+ * 2. `readme-ai-plugin-*` packages found in node_modules
43
+ */
44
+ export declare function loadPlugins(repoPath: string): Promise<void>;
45
+ /**
46
+ * Run all registered analyzer plugins and collect their results.
47
+ */
48
+ export declare function runAnalyzerPlugins(context: AnalyzerContext): Promise<AnalyzerResult[]>;
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,yCAAyC;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AAOF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAWnD;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAErD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE9D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAMD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAkED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAa5F"}
@@ -0,0 +1,113 @@
1
+ import path from 'node:path';
2
+ import fs from 'node:fs/promises';
3
+ import { pathToFileURL } from 'node:url';
4
+ // ─── Plugin registry ─────────────────────────────────────────────────────────
5
+ const analyzerPlugins = [];
6
+ const themePlugins = new Map();
7
+ export function registerPlugin(plugin) {
8
+ if (plugin.analyzers) {
9
+ for (const analyzer of plugin.analyzers) {
10
+ analyzerPlugins.push(analyzer);
11
+ }
12
+ }
13
+ if (plugin.themes) {
14
+ for (const theme of plugin.themes) {
15
+ themePlugins.set(theme.name, { name: theme.name, render: theme.render });
16
+ }
17
+ }
18
+ }
19
+ export function getAnalyzerPlugins() {
20
+ return analyzerPlugins;
21
+ }
22
+ export function getThemePlugin(name) {
23
+ return themePlugins.get(name);
24
+ }
25
+ export function listPluginThemes() {
26
+ return [...themePlugins.keys()];
27
+ }
28
+ // ─── Plugin loader ───────────────────────────────────────────────────────────
29
+ const PLUGIN_CONFIG_KEY = 'plugins';
30
+ /**
31
+ * Loads plugins from:
32
+ * 1. Project config `readme-ai.config.js` → `plugins: [...]`
33
+ * 2. `readme-ai-plugin-*` packages found in node_modules
34
+ */
35
+ export async function loadPlugins(repoPath) {
36
+ // 1. Load from project config
37
+ await loadFromProjectConfig(repoPath);
38
+ // 2. Load from node_modules (auto-discover readme-ai-plugin-* packages)
39
+ await loadFromNodeModules(repoPath);
40
+ }
41
+ async function loadFromProjectConfig(repoPath) {
42
+ const configFiles = ['readme-ai.config.js', 'readme-ai.config.mjs'];
43
+ for (const filename of configFiles) {
44
+ const filePath = path.join(repoPath, filename);
45
+ try {
46
+ await fs.access(filePath);
47
+ }
48
+ catch {
49
+ continue;
50
+ }
51
+ const fileUrl = pathToFileURL(path.resolve(filePath)).href;
52
+ const mod = await import(fileUrl);
53
+ const config = mod.default || mod;
54
+ if (Array.isArray(config[PLUGIN_CONFIG_KEY])) {
55
+ for (const pluginPath of config[PLUGIN_CONFIG_KEY]) {
56
+ await loadSinglePlugin(repoPath, pluginPath);
57
+ }
58
+ }
59
+ break;
60
+ }
61
+ }
62
+ async function loadSinglePlugin(repoPath, pluginRef) {
63
+ let resolved;
64
+ if (pluginRef.startsWith('.') || pluginRef.startsWith('/')) {
65
+ // Relative or absolute path
66
+ resolved = pathToFileURL(path.resolve(repoPath, pluginRef)).href;
67
+ }
68
+ else {
69
+ // npm package name — resolve from node_modules
70
+ resolved = pathToFileURL(path.resolve(repoPath, 'node_modules', pluginRef, 'index.js')).href;
71
+ }
72
+ const mod = await import(resolved);
73
+ const plugin = mod.default || mod;
74
+ if (plugin && plugin.name) {
75
+ registerPlugin(plugin);
76
+ }
77
+ }
78
+ async function loadFromNodeModules(repoPath) {
79
+ const nodeModulesPath = path.join(repoPath, 'node_modules');
80
+ try {
81
+ await fs.access(nodeModulesPath);
82
+ }
83
+ catch {
84
+ return;
85
+ }
86
+ const entries = await fs.readdir(nodeModulesPath);
87
+ const pluginDirs = entries.filter((e) => e.startsWith('readme-ai-plugin-'));
88
+ for (const dir of pluginDirs) {
89
+ try {
90
+ await loadSinglePlugin(repoPath, dir);
91
+ }
92
+ catch {
93
+ // Skip broken plugins silently
94
+ }
95
+ }
96
+ }
97
+ /**
98
+ * Run all registered analyzer plugins and collect their results.
99
+ */
100
+ export async function runAnalyzerPlugins(context) {
101
+ const results = [];
102
+ for (const plugin of analyzerPlugins) {
103
+ try {
104
+ const result = await plugin.analyze(context);
105
+ results.push(result);
106
+ }
107
+ catch {
108
+ // Skip failing plugins
109
+ }
110
+ }
111
+ return results;
112
+ }
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAmDlE"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAuDlE"}
@@ -37,7 +37,10 @@ export function createAnthropicProvider(model) {
37
37
  });
38
38
  const block = response.content[0];
39
39
  if (block.type === 'text') {
40
- const text = block.text.trim().replace(/^```json\n?/, '').replace(/\n?```$/, '');
40
+ const text = block.text
41
+ .trim()
42
+ .replace(/^```json\n?/, '')
43
+ .replace(/\n?```$/, '');
41
44
  return JSON.parse(text);
42
45
  }
43
46
  throw new Error('Unexpected response format from Anthropic');
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,8BAA8B;YAC9B,wDAAwD;YACxD,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,OAAO;QAEd,KAAK,CAAC,QAAQ,CAAC,MAAc;YAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aAC9C,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,KAAK,CAAC,YAAY,CAAI,MAAc;YAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,MAAM,GAAG,uEAAuE;qBAC1F;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACjF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,8BAA8B;YAC5B,wDAAwD;YACxD,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,OAAO;QAEd,KAAK,CAAC,QAAQ,CAAC,MAAc;YAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aAC9C,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,KAAK,CAAC,YAAY,CAAI,MAAc;YAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EACL,MAAM,GAAG,uEAAuE;qBACnF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;qBACpB,IAAI,EAAE;qBACN,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;qBAC1B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAgC/D"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAoC/D"}
@@ -20,7 +20,11 @@ export function createGeminiProvider(model) {
20
20
  async generateJSON(prompt) {
21
21
  const genModel = genAI.getGenerativeModel({ model: modelId });
22
22
  const result = await genModel.generateContent(prompt + '\n\nRespond with valid JSON only. No markdown fences, no explanation.');
23
- const text = result.response.text().trim().replace(/^```json\n?/, '').replace(/\n?```$/, '');
23
+ const text = result.response
24
+ .text()
25
+ .trim()
26
+ .replace(/^```json\n?/, '')
27
+ .replace(/\n?```$/, '');
24
28
  return JSON.parse(text);
25
29
  },
26
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2BAA2B;YAC3B,8CAA8C;YAC9C,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAAC;IAE5C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;QAEd,KAAK,CAAC,QAAQ,CAAC,MAAc;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,YAAY,CAAI,MAAc;YAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAC3C,MAAM,GAAG,uEAAuE,CACjF,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2BAA2B;YACzB,8CAA8C;YAC9C,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAAC;IAE5C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;QAEd,KAAK,CAAC,QAAQ,CAAC,MAAc;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,YAAY,CAAI,MAAc;YAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAC3C,MAAM,GAAG,uEAAuE,CACjF,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ;iBACzB,IAAI,EAAE;iBACN,IAAI,EAAE;iBACN,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;iBAC1B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -5,4 +5,5 @@ export interface AIProvider {
5
5
  generateJSON<T>(prompt: string): Promise<T>;
6
6
  }
7
7
  export declare function createProvider(name: string, model?: string): Promise<AIProvider>;
8
+ export declare function createCachedProvider(name: string, model?: string): Promise<AIProvider>;
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBtF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7C;AA6BD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAuBtF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAG5F"}