agents-reverse-engineer 0.2.12 → 0.3.1

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 (68) hide show
  1. package/README.md +4 -2
  2. package/dist/cli/generate.d.ts.map +1 -1
  3. package/dist/cli/generate.js +34 -4
  4. package/dist/cli/generate.js.map +1 -1
  5. package/dist/cli/index.js +0 -0
  6. package/dist/cli/update.d.ts.map +1 -1
  7. package/dist/cli/update.js +8 -10
  8. package/dist/cli/update.js.map +1 -1
  9. package/dist/config/defaults.d.ts +4 -4
  10. package/dist/config/defaults.d.ts.map +1 -1
  11. package/dist/config/defaults.js +15 -0
  12. package/dist/config/defaults.js.map +1 -1
  13. package/dist/config/schema.d.ts +50 -0
  14. package/dist/config/schema.d.ts.map +1 -1
  15. package/dist/config/schema.js +10 -0
  16. package/dist/config/schema.js.map +1 -1
  17. package/dist/generation/complexity.d.ts +23 -2
  18. package/dist/generation/complexity.d.ts.map +1 -1
  19. package/dist/generation/complexity.js +53 -3
  20. package/dist/generation/complexity.js.map +1 -1
  21. package/dist/generation/executor.d.ts +15 -0
  22. package/dist/generation/executor.d.ts.map +1 -1
  23. package/dist/generation/executor.js +142 -14
  24. package/dist/generation/executor.js.map +1 -1
  25. package/dist/generation/orchestrator.d.ts +15 -3
  26. package/dist/generation/orchestrator.d.ts.map +1 -1
  27. package/dist/generation/orchestrator.js +22 -12
  28. package/dist/generation/orchestrator.js.map +1 -1
  29. package/dist/generation/writers/agents-md.d.ts +7 -1
  30. package/dist/generation/writers/agents-md.d.ts.map +1 -1
  31. package/dist/generation/writers/agents-md.js +59 -4
  32. package/dist/generation/writers/agents-md.js.map +1 -1
  33. package/dist/generation/writers/claude-md.d.ts +6 -2
  34. package/dist/generation/writers/claude-md.d.ts.map +1 -1
  35. package/dist/generation/writers/claude-md.js +74 -11
  36. package/dist/generation/writers/claude-md.js.map +1 -1
  37. package/dist/generation/writers/gemini-md.d.ts +17 -0
  38. package/dist/generation/writers/gemini-md.d.ts.map +1 -0
  39. package/dist/generation/writers/gemini-md.js +96 -0
  40. package/dist/generation/writers/gemini-md.js.map +1 -0
  41. package/dist/generation/writers/index.d.ts +3 -1
  42. package/dist/generation/writers/index.d.ts.map +1 -1
  43. package/dist/generation/writers/index.js +3 -1
  44. package/dist/generation/writers/index.js.map +1 -1
  45. package/dist/generation/writers/opencode-md.d.ts +17 -0
  46. package/dist/generation/writers/opencode-md.d.ts.map +1 -0
  47. package/dist/generation/writers/opencode-md.js +96 -0
  48. package/dist/generation/writers/opencode-md.js.map +1 -0
  49. package/dist/generation/writers/sum.d.ts +3 -1
  50. package/dist/generation/writers/sum.d.ts.map +1 -1
  51. package/dist/generation/writers/sum.js +74 -14
  52. package/dist/generation/writers/sum.js.map +1 -1
  53. package/dist/generation/writers/supplementary.d.ts +158 -2
  54. package/dist/generation/writers/supplementary.d.ts.map +1 -1
  55. package/dist/generation/writers/supplementary.js +913 -8
  56. package/dist/generation/writers/supplementary.js.map +1 -1
  57. package/dist/installer/paths.d.ts +26 -0
  58. package/dist/installer/paths.d.ts.map +1 -1
  59. package/dist/installer/paths.js +55 -0
  60. package/dist/installer/paths.js.map +1 -1
  61. package/dist/integration/templates.d.ts.map +1 -1
  62. package/dist/integration/templates.js +25 -17
  63. package/dist/integration/templates.js.map +1 -1
  64. package/dist/update/orchestrator.d.ts +27 -32
  65. package/dist/update/orchestrator.d.ts.map +1 -1
  66. package/dist/update/orchestrator.js +97 -120
  67. package/dist/update/orchestrator.js.map +1 -1
  68. package/package.json +1 -1
@@ -9,6 +9,16 @@ export interface SupplementaryConfig {
9
9
  generateArchitecture: boolean;
10
10
  /** Whether to generate STACK.md */
11
11
  generateStack: boolean;
12
+ /** Whether to generate STRUCTURE.md */
13
+ generateStructure: boolean;
14
+ /** Whether to generate CONVENTIONS.md */
15
+ generateConventions: boolean;
16
+ /** Whether to generate TESTING.md */
17
+ generateTesting: boolean;
18
+ /** Whether to generate INTEGRATIONS.md */
19
+ generateIntegrations: boolean;
20
+ /** Whether to generate CONCERNS.md */
21
+ generateConcerns: boolean;
12
22
  }
13
23
  /**
14
24
  * Information about the technology stack.
@@ -33,21 +43,167 @@ export interface StackInfo {
33
43
  * This generates a template that the host LLM will expand with actual
34
44
  * architectural analysis.
35
45
  */
36
- export declare function buildArchitectureMd(metrics: ComplexityMetrics, projectName: string): string;
46
+ export declare function buildArchitectureMd(metrics: ComplexityMetrics, projectName: string, hasLocalFile?: boolean): string;
37
47
  /**
38
48
  * Build STACK.md content from package.json analysis.
39
49
  */
40
- export declare function buildStackMd(stackInfo: StackInfo, projectName: string): string;
50
+ export declare function buildStackMd(stackInfo: StackInfo, projectName: string, hasLocalFile?: boolean): string;
41
51
  /**
42
52
  * Parse package.json to extract stack information.
43
53
  */
44
54
  export declare function analyzePackageJson(packageJsonPath: string): Promise<StackInfo | null>;
55
+ /**
56
+ * Parse go.mod to extract stack information.
57
+ */
58
+ export declare function analyzeGoMod(goModPath: string): Promise<StackInfo | null>;
59
+ /**
60
+ * Parse Cargo.toml to extract stack information for Rust projects.
61
+ */
62
+ export declare function analyzeCargoToml(cargoTomlPath: string): Promise<StackInfo | null>;
45
63
  /**
46
64
  * Write ARCHITECTURE.md to the configured location.
65
+ *
66
+ * If a user-defined ARCHITECTURE.md exists (not generated by us), it will be
67
+ * preserved as ARCHITECTURE.local.md and referenced in the generated file.
47
68
  */
48
69
  export declare function writeArchitectureMd(projectRoot: string, metrics: ComplexityMetrics, config: SupplementaryConfig): Promise<string | null>;
49
70
  /**
50
71
  * Write STACK.md to the configured location.
72
+ *
73
+ * If a user-defined STACK.md exists (not generated by us), it will be
74
+ * preserved as STACK.local.md and referenced in the generated file.
51
75
  */
52
76
  export declare function writeStackMd(projectRoot: string, config: SupplementaryConfig): Promise<string | null>;
77
+ /**
78
+ * Information about codebase structure.
79
+ */
80
+ export interface StructureInfo {
81
+ /** Top-level directories with descriptions */
82
+ directories: Array<{
83
+ name: string;
84
+ description: string;
85
+ fileCount: number;
86
+ }>;
87
+ /** Key entry points */
88
+ entryPoints: string[];
89
+ /** Notable patterns in organization */
90
+ organizationPatterns: string[];
91
+ }
92
+ /**
93
+ * Information about coding conventions.
94
+ */
95
+ export interface ConventionsInfo {
96
+ /** Naming conventions detected */
97
+ namingConventions: string[];
98
+ /** File organization patterns */
99
+ filePatterns: string[];
100
+ /** Code style indicators */
101
+ codeStyle: string[];
102
+ /** Import/export patterns */
103
+ importPatterns: string[];
104
+ }
105
+ /**
106
+ * Information about testing setup.
107
+ */
108
+ export interface TestingInfo {
109
+ /** Testing framework(s) used */
110
+ frameworks: string[];
111
+ /** Test file patterns */
112
+ testPatterns: string[];
113
+ /** Test directories */
114
+ testDirs: string[];
115
+ /** Coverage tool if any */
116
+ coverageTool?: string;
117
+ /** Estimated test file count */
118
+ testFileCount: number;
119
+ }
120
+ /**
121
+ * Information about external integrations.
122
+ */
123
+ export interface IntegrationsInfo {
124
+ /** External APIs/services */
125
+ apis: Array<{
126
+ name: string;
127
+ type: string;
128
+ }>;
129
+ /** Database connections */
130
+ databases: string[];
131
+ /** Third-party services */
132
+ services: string[];
133
+ /** Environment variables referenced */
134
+ envVars: string[];
135
+ }
136
+ /**
137
+ * Information about technical concerns.
138
+ */
139
+ export interface ConcernsInfo {
140
+ /** TODO/FIXME comments found */
141
+ todoCount: number;
142
+ /** Files with high complexity */
143
+ complexFiles: string[];
144
+ /** Deprecated patterns detected */
145
+ deprecatedPatterns: string[];
146
+ /** Missing documentation areas */
147
+ missingDocs: string[];
148
+ }
149
+ /**
150
+ * Analyze codebase structure from directories and files.
151
+ */
152
+ export declare function analyzeStructure(projectRoot: string, metrics: ComplexityMetrics): Promise<StructureInfo>;
153
+ /**
154
+ * Analyze coding conventions from package.json and common patterns.
155
+ */
156
+ export declare function analyzeConventions(projectRoot: string): Promise<ConventionsInfo>;
157
+ /**
158
+ * Analyze testing setup from package.json and directory structure.
159
+ */
160
+ export declare function analyzeTestingSetup(projectRoot: string, metrics: ComplexityMetrics): Promise<TestingInfo>;
161
+ /**
162
+ * Analyze external integrations from package.json.
163
+ */
164
+ export declare function analyzeIntegrations(projectRoot: string): Promise<IntegrationsInfo>;
165
+ /**
166
+ * Analyze potential technical concerns.
167
+ */
168
+ export declare function analyzeConcerns(projectRoot: string, metrics: ComplexityMetrics): Promise<ConcernsInfo>;
169
+ /**
170
+ * Build STRUCTURE.md content.
171
+ */
172
+ export declare function buildStructureMd(info: StructureInfo, projectName: string, hasLocalFile?: boolean): string;
173
+ /**
174
+ * Build CONVENTIONS.md content.
175
+ */
176
+ export declare function buildConventionsMd(info: ConventionsInfo, projectName: string, hasLocalFile?: boolean): string;
177
+ /**
178
+ * Build TESTING.md content.
179
+ */
180
+ export declare function buildTestingMd(info: TestingInfo, projectName: string, hasLocalFile?: boolean): string;
181
+ /**
182
+ * Build INTEGRATIONS.md content.
183
+ */
184
+ export declare function buildIntegrationsMd(info: IntegrationsInfo, projectName: string, hasLocalFile?: boolean): string;
185
+ /**
186
+ * Build CONCERNS.md content.
187
+ */
188
+ export declare function buildConcernsMd(info: ConcernsInfo, projectName: string, hasLocalFile?: boolean): string;
189
+ /**
190
+ * Write STRUCTURE.md to the configured location.
191
+ */
192
+ export declare function writeStructureMd(projectRoot: string, metrics: ComplexityMetrics, config: SupplementaryConfig): Promise<string | null>;
193
+ /**
194
+ * Write CONVENTIONS.md to the configured location.
195
+ */
196
+ export declare function writeConventionsMd(projectRoot: string, config: SupplementaryConfig): Promise<string | null>;
197
+ /**
198
+ * Write TESTING.md to the configured location.
199
+ */
200
+ export declare function writeTestingMd(projectRoot: string, metrics: ComplexityMetrics, config: SupplementaryConfig): Promise<string | null>;
201
+ /**
202
+ * Write INTEGRATIONS.md to the configured location.
203
+ */
204
+ export declare function writeIntegrationsMd(projectRoot: string, config: SupplementaryConfig): Promise<string | null>;
205
+ /**
206
+ * Write CONCERNS.md to the configured location.
207
+ */
208
+ export declare function writeConcernsMd(projectRoot: string, metrics: ComplexityMetrics, config: SupplementaryConfig): Promise<string | null>;
53
209
  //# sourceMappingURL=supplementary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supplementary.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/supplementary.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mCAAmC;IACnC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACzF,wBAAwB;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,GAClB,MAAM,CAsCR;AA4BD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,GAClB,MAAM,CAoCR;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA+D3B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBxB"}
1
+ {"version":3,"file":"supplementary.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/supplementary.ts"],"names":[],"mappings":"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"}