@dcyfr/ai-code-gen 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +469 -0
- package/dist/ai/code-gen.d.ts +60 -0
- package/dist/ai/code-gen.d.ts.map +1 -0
- package/dist/ai/code-gen.js +164 -0
- package/dist/ai/code-gen.js.map +1 -0
- package/dist/ai/index.d.ts +8 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +7 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/prompts.d.ts +32 -0
- package/dist/ai/prompts.d.ts.map +1 -0
- package/dist/ai/prompts.js +96 -0
- package/dist/ai/prompts.js.map +1 -0
- package/dist/ai/provider.d.ts +34 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +76 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/ast/analyzer.d.ts +34 -0
- package/dist/ast/analyzer.d.ts.map +1 -0
- package/dist/ast/analyzer.js +159 -0
- package/dist/ast/analyzer.js.map +1 -0
- package/dist/ast/index.d.ts +9 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +8 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/ast/parser.d.ts +16 -0
- package/dist/ast/parser.d.ts.map +1 -0
- package/dist/ast/parser.js +280 -0
- package/dist/ast/parser.js.map +1 -0
- package/dist/ast/printer.d.ts +51 -0
- package/dist/ast/printer.d.ts.map +1 -0
- package/dist/ast/printer.js +126 -0
- package/dist/ast/printer.js.map +1 -0
- package/dist/ast/transformer.d.ts +11 -0
- package/dist/ast/transformer.d.ts.map +1 -0
- package/dist/ast/transformer.js +194 -0
- package/dist/ast/transformer.js.map +1 -0
- package/dist/cli.d.ts +15 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +284 -0
- package/dist/cli.js.map +1 -0
- package/dist/generators/api-route.d.ts +14 -0
- package/dist/generators/api-route.d.ts.map +1 -0
- package/dist/generators/api-route.js +82 -0
- package/dist/generators/api-route.js.map +1 -0
- package/dist/generators/base.d.ts +29 -0
- package/dist/generators/base.d.ts.map +1 -0
- package/dist/generators/base.js +89 -0
- package/dist/generators/base.js.map +1 -0
- package/dist/generators/component.d.ts +14 -0
- package/dist/generators/component.d.ts.map +1 -0
- package/dist/generators/component.js +77 -0
- package/dist/generators/component.js.map +1 -0
- package/dist/generators/index.d.ts +10 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +10 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/model.d.ts +14 -0
- package/dist/generators/model.d.ts.map +1 -0
- package/dist/generators/model.js +89 -0
- package/dist/generators/model.js.map +1 -0
- package/dist/generators/registry.d.ts +42 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +84 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/test.d.ts +13 -0
- package/dist/generators/test.d.ts.map +1 -0
- package/dist/generators/test.js +39 -0
- package/dist/generators/test.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config.d.ts +16 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +52 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/file-system.d.ts +30 -0
- package/dist/lib/file-system.d.ts.map +1 -0
- package/dist/lib/file-system.js +71 -0
- package/dist/lib/file-system.js.map +1 -0
- package/dist/lib/logger.d.ts +17 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +43 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/strings.d.ts +41 -0
- package/dist/lib/strings.d.ts.map +1 -0
- package/dist/lib/strings.js +92 -0
- package/dist/lib/strings.js.map +1 -0
- package/dist/templates/builtins.d.ts +13 -0
- package/dist/templates/builtins.d.ts.map +1 -0
- package/dist/templates/builtins.js +275 -0
- package/dist/templates/builtins.js.map +1 -0
- package/dist/templates/engine.d.ts +69 -0
- package/dist/templates/engine.d.ts.map +1 -0
- package/dist/templates/engine.js +154 -0
- package/dist/templates/engine.js.map +1 -0
- package/dist/templates/index.d.ts +6 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +6 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/types/index.d.ts +401 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @dcyfr/ai-code-gen - Core type definitions
|
|
3
|
+
*
|
|
4
|
+
* All interfaces and types for the code generation toolkit.
|
|
5
|
+
*/
|
|
6
|
+
/** Supported generator categories */
|
|
7
|
+
export type GeneratorCategory = 'component' | 'api-route' | 'model' | 'test' | 'custom';
|
|
8
|
+
/** Generator metadata */
|
|
9
|
+
export interface GeneratorMeta {
|
|
10
|
+
/** Unique generator identifier */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Human-readable description */
|
|
13
|
+
description: string;
|
|
14
|
+
/** Generator category */
|
|
15
|
+
category: GeneratorCategory;
|
|
16
|
+
/** Version string */
|
|
17
|
+
version: string;
|
|
18
|
+
/** Author or maintainer */
|
|
19
|
+
author?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Single file output from a generator */
|
|
22
|
+
export interface GeneratedFile {
|
|
23
|
+
/** Relative path for the output file */
|
|
24
|
+
path: string;
|
|
25
|
+
/** Generated file content */
|
|
26
|
+
content: string;
|
|
27
|
+
/** Whether to overwrite if file exists */
|
|
28
|
+
overwrite?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Result of a generation run */
|
|
31
|
+
export interface GenerationResult {
|
|
32
|
+
/** Whether generation succeeded */
|
|
33
|
+
success: boolean;
|
|
34
|
+
/** Files generated */
|
|
35
|
+
files: GeneratedFile[];
|
|
36
|
+
/** Generator metadata */
|
|
37
|
+
generator: GeneratorMeta;
|
|
38
|
+
/** Duration in ms */
|
|
39
|
+
durationMs: number;
|
|
40
|
+
/** Errors encountered */
|
|
41
|
+
errors: GenerationError[];
|
|
42
|
+
/** Warnings */
|
|
43
|
+
warnings: string[];
|
|
44
|
+
}
|
|
45
|
+
/** Generation error */
|
|
46
|
+
export interface GenerationError {
|
|
47
|
+
/** Error message */
|
|
48
|
+
message: string;
|
|
49
|
+
/** File that caused the error */
|
|
50
|
+
file?: string;
|
|
51
|
+
/** Line number */
|
|
52
|
+
line?: number;
|
|
53
|
+
/** Error code */
|
|
54
|
+
code?: string;
|
|
55
|
+
}
|
|
56
|
+
/** Generator configuration input */
|
|
57
|
+
export interface GeneratorConfig {
|
|
58
|
+
/** Name of the item to generate (e.g., component name) */
|
|
59
|
+
name: string;
|
|
60
|
+
/** Output directory */
|
|
61
|
+
outputDir: string;
|
|
62
|
+
/** Template to use */
|
|
63
|
+
template?: string;
|
|
64
|
+
/** Additional options (generator-specific) */
|
|
65
|
+
options?: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
/** Generator interface - all generators implement this */
|
|
68
|
+
export interface Generator {
|
|
69
|
+
/** Generator metadata */
|
|
70
|
+
readonly meta: GeneratorMeta;
|
|
71
|
+
/** Generate files from config */
|
|
72
|
+
generate(config: GeneratorConfig): Promise<GenerationResult>;
|
|
73
|
+
/** Validate config before generation */
|
|
74
|
+
validate(config: GeneratorConfig): ValidationResult;
|
|
75
|
+
}
|
|
76
|
+
/** Template variable definition */
|
|
77
|
+
export interface TemplateVariable {
|
|
78
|
+
/** Variable name */
|
|
79
|
+
name: string;
|
|
80
|
+
/** Type constraint */
|
|
81
|
+
type: 'string' | 'boolean' | 'number' | 'array' | 'object';
|
|
82
|
+
/** Description */
|
|
83
|
+
description: string;
|
|
84
|
+
/** Default value */
|
|
85
|
+
defaultValue?: unknown;
|
|
86
|
+
/** Whether required */
|
|
87
|
+
required: boolean;
|
|
88
|
+
}
|
|
89
|
+
/** Template definition */
|
|
90
|
+
export interface TemplateDefinition {
|
|
91
|
+
/** Template identifier */
|
|
92
|
+
id: string;
|
|
93
|
+
/** Template name */
|
|
94
|
+
name: string;
|
|
95
|
+
/** Template description */
|
|
96
|
+
description: string;
|
|
97
|
+
/** Template content (Handlebars) */
|
|
98
|
+
source: string;
|
|
99
|
+
/** Variables used in template */
|
|
100
|
+
variables: TemplateVariable[];
|
|
101
|
+
/** File extension for output */
|
|
102
|
+
outputExtension: string;
|
|
103
|
+
}
|
|
104
|
+
/** Template rendering context */
|
|
105
|
+
export interface TemplateContext {
|
|
106
|
+
/** Template variables */
|
|
107
|
+
[key: string]: unknown;
|
|
108
|
+
}
|
|
109
|
+
/** Template render result */
|
|
110
|
+
export interface TemplateRenderResult {
|
|
111
|
+
/** Rendered content */
|
|
112
|
+
content: string;
|
|
113
|
+
/** Template ID */
|
|
114
|
+
templateId: string;
|
|
115
|
+
/** Variables used */
|
|
116
|
+
variables: Record<string, unknown>;
|
|
117
|
+
}
|
|
118
|
+
/** AST node kind (simplified categories) */
|
|
119
|
+
export type ASTNodeKind = 'class' | 'interface' | 'function' | 'variable' | 'type-alias' | 'enum' | 'import' | 'export' | 'method' | 'property';
|
|
120
|
+
/** Simplified AST node representation */
|
|
121
|
+
export interface ASTNode {
|
|
122
|
+
/** Node kind */
|
|
123
|
+
kind: ASTNodeKind;
|
|
124
|
+
/** Node name */
|
|
125
|
+
name: string;
|
|
126
|
+
/** Start line (1-based) */
|
|
127
|
+
startLine: number;
|
|
128
|
+
/** End line (1-based) */
|
|
129
|
+
endLine: number;
|
|
130
|
+
/** Whether exported */
|
|
131
|
+
isExported: boolean;
|
|
132
|
+
/** JSDoc comment if present */
|
|
133
|
+
jsdoc?: string;
|
|
134
|
+
/** Child nodes */
|
|
135
|
+
children: ASTNode[];
|
|
136
|
+
/** Additional metadata */
|
|
137
|
+
metadata: Record<string, unknown>;
|
|
138
|
+
}
|
|
139
|
+
/** Code analysis result */
|
|
140
|
+
export interface AnalysisResult {
|
|
141
|
+
/** File path analyzed */
|
|
142
|
+
filePath: string;
|
|
143
|
+
/** Top-level AST nodes */
|
|
144
|
+
nodes: ASTNode[];
|
|
145
|
+
/** Import statements */
|
|
146
|
+
imports: ImportInfo[];
|
|
147
|
+
/** Export statements */
|
|
148
|
+
exports: ExportInfo[];
|
|
149
|
+
/** Complexity metrics */
|
|
150
|
+
metrics: CodeMetrics;
|
|
151
|
+
}
|
|
152
|
+
/** Import information */
|
|
153
|
+
export interface ImportInfo {
|
|
154
|
+
/** Module specifier */
|
|
155
|
+
moduleSpecifier: string;
|
|
156
|
+
/** Named imports */
|
|
157
|
+
namedImports: string[];
|
|
158
|
+
/** Default import name */
|
|
159
|
+
defaultImport?: string;
|
|
160
|
+
/** Namespace import name */
|
|
161
|
+
namespaceImport?: string;
|
|
162
|
+
/** Is type-only import */
|
|
163
|
+
isTypeOnly: boolean;
|
|
164
|
+
}
|
|
165
|
+
/** Export information */
|
|
166
|
+
export interface ExportInfo {
|
|
167
|
+
/** Exported name */
|
|
168
|
+
name: string;
|
|
169
|
+
/** Is default export */
|
|
170
|
+
isDefault: boolean;
|
|
171
|
+
/** Is type-only export */
|
|
172
|
+
isTypeOnly: boolean;
|
|
173
|
+
/** Is re-export */
|
|
174
|
+
isReExport: boolean;
|
|
175
|
+
/** Source module (for re-exports) */
|
|
176
|
+
sourceModule?: string;
|
|
177
|
+
}
|
|
178
|
+
/** Code complexity metrics */
|
|
179
|
+
export interface CodeMetrics {
|
|
180
|
+
/** Lines of code */
|
|
181
|
+
linesOfCode: number;
|
|
182
|
+
/** Number of functions */
|
|
183
|
+
functionCount: number;
|
|
184
|
+
/** Number of classes */
|
|
185
|
+
classCount: number;
|
|
186
|
+
/** Number of imports */
|
|
187
|
+
importCount: number;
|
|
188
|
+
/** Number of exports */
|
|
189
|
+
exportCount: number;
|
|
190
|
+
/** Cyclomatic complexity estimate */
|
|
191
|
+
cyclomaticComplexity: number;
|
|
192
|
+
}
|
|
193
|
+
/** Transformation operation */
|
|
194
|
+
export type TransformOperation = AddImportTransform | RemoveImportTransform | AddExportTransform | AddPropertyTransform | AddMethodTransform | RenameTransform | WrapTransform;
|
|
195
|
+
interface BaseTransform {
|
|
196
|
+
type: string;
|
|
197
|
+
}
|
|
198
|
+
export interface AddImportTransform extends BaseTransform {
|
|
199
|
+
type: 'add-import';
|
|
200
|
+
moduleSpecifier: string;
|
|
201
|
+
namedImports?: string[];
|
|
202
|
+
defaultImport?: string;
|
|
203
|
+
isTypeOnly?: boolean;
|
|
204
|
+
}
|
|
205
|
+
export interface RemoveImportTransform extends BaseTransform {
|
|
206
|
+
type: 'remove-import';
|
|
207
|
+
moduleSpecifier: string;
|
|
208
|
+
namedImports?: string[];
|
|
209
|
+
}
|
|
210
|
+
export interface AddExportTransform extends BaseTransform {
|
|
211
|
+
type: 'add-export';
|
|
212
|
+
name: string;
|
|
213
|
+
isDefault?: boolean;
|
|
214
|
+
declaration?: string;
|
|
215
|
+
}
|
|
216
|
+
export interface AddPropertyTransform extends BaseTransform {
|
|
217
|
+
type: 'add-property';
|
|
218
|
+
targetClass: string;
|
|
219
|
+
propertyName: string;
|
|
220
|
+
propertyType: string;
|
|
221
|
+
initializer?: string;
|
|
222
|
+
isReadonly?: boolean;
|
|
223
|
+
}
|
|
224
|
+
export interface AddMethodTransform extends BaseTransform {
|
|
225
|
+
type: 'add-method';
|
|
226
|
+
targetClass: string;
|
|
227
|
+
methodName: string;
|
|
228
|
+
parameters: string;
|
|
229
|
+
returnType: string;
|
|
230
|
+
body: string;
|
|
231
|
+
}
|
|
232
|
+
export interface RenameTransform extends BaseTransform {
|
|
233
|
+
type: 'rename';
|
|
234
|
+
oldName: string;
|
|
235
|
+
newName: string;
|
|
236
|
+
scope?: 'file' | 'class';
|
|
237
|
+
targetClass?: string;
|
|
238
|
+
}
|
|
239
|
+
export interface WrapTransform extends BaseTransform {
|
|
240
|
+
type: 'wrap';
|
|
241
|
+
targetFunction: string;
|
|
242
|
+
wrapperTemplate: string;
|
|
243
|
+
}
|
|
244
|
+
/** Transformation result */
|
|
245
|
+
export interface TransformResult {
|
|
246
|
+
/** Whether transformation succeeded */
|
|
247
|
+
success: boolean;
|
|
248
|
+
/** Transformed source code */
|
|
249
|
+
source: string;
|
|
250
|
+
/** Operations applied */
|
|
251
|
+
appliedOperations: number;
|
|
252
|
+
/** Operations that failed */
|
|
253
|
+
failedOperations: TransformError[];
|
|
254
|
+
}
|
|
255
|
+
/** Transformation error */
|
|
256
|
+
export interface TransformError {
|
|
257
|
+
/** Operation that failed */
|
|
258
|
+
operation: TransformOperation;
|
|
259
|
+
/** Error message */
|
|
260
|
+
message: string;
|
|
261
|
+
}
|
|
262
|
+
/** AI provider configuration */
|
|
263
|
+
export interface AIProviderConfig {
|
|
264
|
+
/** Provider name */
|
|
265
|
+
provider: 'openai' | 'anthropic' | 'local' | 'mock';
|
|
266
|
+
/** Model to use */
|
|
267
|
+
model: string;
|
|
268
|
+
/** API key (or env variable name) */
|
|
269
|
+
apiKey?: string;
|
|
270
|
+
/** Maximum tokens */
|
|
271
|
+
maxTokens?: number;
|
|
272
|
+
/** Temperature (0-1) */
|
|
273
|
+
temperature?: number;
|
|
274
|
+
/** Base URL override */
|
|
275
|
+
baseUrl?: string;
|
|
276
|
+
}
|
|
277
|
+
/** AI generation request */
|
|
278
|
+
export interface AICodeRequest {
|
|
279
|
+
/** What to generate */
|
|
280
|
+
prompt: string;
|
|
281
|
+
/** Programming language */
|
|
282
|
+
language: string;
|
|
283
|
+
/** Framework context */
|
|
284
|
+
framework?: string;
|
|
285
|
+
/** Existing code context */
|
|
286
|
+
context?: string;
|
|
287
|
+
/** Constraints */
|
|
288
|
+
constraints?: string[];
|
|
289
|
+
/** Output format */
|
|
290
|
+
outputFormat?: 'code' | 'diff' | 'explanation';
|
|
291
|
+
}
|
|
292
|
+
/** AI generation response */
|
|
293
|
+
export interface AICodeResponse {
|
|
294
|
+
/** Generated code */
|
|
295
|
+
code: string;
|
|
296
|
+
/** Explanation of what was generated */
|
|
297
|
+
explanation: string;
|
|
298
|
+
/** Language detected/used */
|
|
299
|
+
language: string;
|
|
300
|
+
/** Confidence score (0-1) */
|
|
301
|
+
confidence: number;
|
|
302
|
+
/** Token usage */
|
|
303
|
+
usage: {
|
|
304
|
+
promptTokens: number;
|
|
305
|
+
completionTokens: number;
|
|
306
|
+
totalTokens: number;
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
/** Code review finding */
|
|
310
|
+
export interface ReviewFinding {
|
|
311
|
+
/** Severity */
|
|
312
|
+
severity: 'error' | 'warning' | 'info' | 'suggestion';
|
|
313
|
+
/** Finding message */
|
|
314
|
+
message: string;
|
|
315
|
+
/** File path */
|
|
316
|
+
file?: string;
|
|
317
|
+
/** Line number */
|
|
318
|
+
line?: number;
|
|
319
|
+
/** Category */
|
|
320
|
+
category: 'security' | 'performance' | 'style' | 'correctness' | 'maintainability';
|
|
321
|
+
/** Suggested fix */
|
|
322
|
+
suggestedFix?: string;
|
|
323
|
+
}
|
|
324
|
+
/** Code review result */
|
|
325
|
+
export interface ReviewResult {
|
|
326
|
+
/** All findings */
|
|
327
|
+
findings: ReviewFinding[];
|
|
328
|
+
/** Summary */
|
|
329
|
+
summary: string;
|
|
330
|
+
/** Overall score (0-100) */
|
|
331
|
+
score: number;
|
|
332
|
+
/** Duration in ms */
|
|
333
|
+
durationMs: number;
|
|
334
|
+
}
|
|
335
|
+
/** Refactoring suggestion */
|
|
336
|
+
export interface RefactorSuggestion {
|
|
337
|
+
/** Description of the refactoring */
|
|
338
|
+
description: string;
|
|
339
|
+
/** Original code */
|
|
340
|
+
original: string;
|
|
341
|
+
/** Refactored code */
|
|
342
|
+
refactored: string;
|
|
343
|
+
/** Rationale */
|
|
344
|
+
rationale: string;
|
|
345
|
+
/** Impact assessment */
|
|
346
|
+
impact: 'low' | 'medium' | 'high';
|
|
347
|
+
}
|
|
348
|
+
/** Validation result */
|
|
349
|
+
export interface ValidationResult {
|
|
350
|
+
/** Whether validation passed */
|
|
351
|
+
valid: boolean;
|
|
352
|
+
/** Validation errors */
|
|
353
|
+
errors: ValidationError[];
|
|
354
|
+
}
|
|
355
|
+
/** Validation error */
|
|
356
|
+
export interface ValidationError {
|
|
357
|
+
/** Field that failed validation */
|
|
358
|
+
field: string;
|
|
359
|
+
/** Error message */
|
|
360
|
+
message: string;
|
|
361
|
+
/** Expected value/type */
|
|
362
|
+
expected?: string;
|
|
363
|
+
/** Received value */
|
|
364
|
+
received?: string;
|
|
365
|
+
}
|
|
366
|
+
/** Global toolkit configuration */
|
|
367
|
+
export interface CodeGenConfig {
|
|
368
|
+
/** Default output directory */
|
|
369
|
+
outputDir: string;
|
|
370
|
+
/** Template search paths */
|
|
371
|
+
templatePaths: string[];
|
|
372
|
+
/** AI provider config */
|
|
373
|
+
ai?: AIProviderConfig;
|
|
374
|
+
/** Whether to format output */
|
|
375
|
+
formatOutput: boolean;
|
|
376
|
+
/** Whether to add JSDoc comments */
|
|
377
|
+
addJsdoc: boolean;
|
|
378
|
+
/** Default license header */
|
|
379
|
+
licenseHeader?: string;
|
|
380
|
+
/** Generator overrides */
|
|
381
|
+
generators?: Record<string, Record<string, unknown>>;
|
|
382
|
+
}
|
|
383
|
+
/** CLI options */
|
|
384
|
+
export interface CLIOptions {
|
|
385
|
+
/** Generator to run */
|
|
386
|
+
generator: string;
|
|
387
|
+
/** Name of the item to generate */
|
|
388
|
+
name: string;
|
|
389
|
+
/** Output directory */
|
|
390
|
+
output: string;
|
|
391
|
+
/** Template override */
|
|
392
|
+
template?: string;
|
|
393
|
+
/** Verbose output */
|
|
394
|
+
verbose: boolean;
|
|
395
|
+
/** Dry run (no file writes) */
|
|
396
|
+
dryRun: boolean;
|
|
397
|
+
/** Force overwrite */
|
|
398
|
+
force: boolean;
|
|
399
|
+
}
|
|
400
|
+
export {};
|
|
401
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dcyfr/ai-code-gen",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "AI-powered code generation toolkit - template generators, AST manipulation, intelligent scaffolding, and AI-assisted refactoring",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"dcyfr-codegen": "dist/cli.js"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./cli": {
|
|
17
|
+
"types": "./dist/cli.d.ts",
|
|
18
|
+
"import": "./dist/cli.js"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"templates",
|
|
24
|
+
"README.md",
|
|
25
|
+
"LICENSE"
|
|
26
|
+
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"dev": "tsc --watch",
|
|
30
|
+
"test": "vitest",
|
|
31
|
+
"test:run": "vitest run",
|
|
32
|
+
"test:watch": "vitest watch",
|
|
33
|
+
"test:coverage": "vitest run --coverage",
|
|
34
|
+
"lint": "eslint src/ tests/",
|
|
35
|
+
"lint:fix": "eslint src/ tests/ --fix",
|
|
36
|
+
"typecheck": "tsc --noEmit",
|
|
37
|
+
"clean": "rm -rf dist",
|
|
38
|
+
"prepublishOnly": "npm run clean && npm run build && npm run test:run"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"chalk": "^5.3.0",
|
|
42
|
+
"glob": "^11.0.0",
|
|
43
|
+
"handlebars": "^4.7.8",
|
|
44
|
+
"ts-morph": "^24.0.0",
|
|
45
|
+
"zod": "^3.23.0"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/node": "^20.11.0",
|
|
49
|
+
"eslint": "^9.0.0",
|
|
50
|
+
"memfs": "^4.14.0",
|
|
51
|
+
"typescript": "^5.3.0",
|
|
52
|
+
"vitest": "^4.0.18"
|
|
53
|
+
},
|
|
54
|
+
"keywords": [
|
|
55
|
+
"code-generation",
|
|
56
|
+
"ai",
|
|
57
|
+
"typescript",
|
|
58
|
+
"ast",
|
|
59
|
+
"scaffolding",
|
|
60
|
+
"templates",
|
|
61
|
+
"refactoring",
|
|
62
|
+
"dcyfr"
|
|
63
|
+
],
|
|
64
|
+
"author": "DCYFR <hello@dcyfr.ai>",
|
|
65
|
+
"license": "MIT",
|
|
66
|
+
"repository": {
|
|
67
|
+
"type": "git",
|
|
68
|
+
"url": "https://github.com/dcyfr/dcyfr-ai-code-gen.git"
|
|
69
|
+
},
|
|
70
|
+
"homepage": "https://github.com/dcyfr/dcyfr-ai-code-gen#readme",
|
|
71
|
+
"bugs": {
|
|
72
|
+
"url": "https://github.com/dcyfr/dcyfr-ai-code-gen/issues"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public"
|
|
76
|
+
},
|
|
77
|
+
"engines": {
|
|
78
|
+
"node": ">=20.0.0"
|
|
79
|
+
}
|
|
80
|
+
}
|