@aicgen/aicgen 1.0.0-beta.1 → 1.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 (160) hide show
  1. package/{.claude/guidelines → .agent/rules}/api-design.md +5 -1
  2. package/{.claude/guidelines → .agent/rules}/architecture.md +5 -1
  3. package/{.claude/guidelines → .agent/rules}/best-practices.md +5 -1
  4. package/{.claude/guidelines → .agent/rules}/code-style.md +5 -1
  5. package/{.claude/guidelines → .agent/rules}/design-patterns.md +5 -1
  6. package/{.claude/guidelines → .agent/rules}/devops.md +5 -1
  7. package/{.claude/guidelines → .agent/rules}/error-handling.md +5 -1
  8. package/.agent/rules/instructions.md +28 -0
  9. package/{.claude/guidelines → .agent/rules}/language.md +5 -1
  10. package/{.claude/guidelines → .agent/rules}/performance.md +5 -1
  11. package/{.claude/guidelines → .agent/rules}/security.md +5 -1
  12. package/{.claude/guidelines → .agent/rules}/testing.md +5 -1
  13. package/.agent/workflows/add-documentation.md +10 -0
  14. package/.agent/workflows/generate-integration-tests.md +10 -0
  15. package/.agent/workflows/generate-unit-tests.md +11 -0
  16. package/.agent/workflows/performance-audit.md +11 -0
  17. package/.agent/workflows/refactor-extract-module.md +12 -0
  18. package/.agent/workflows/security-audit.md +12 -0
  19. package/.gemini/instructions.md +4843 -0
  20. package/.vs/ProjectSettings.json +2 -2
  21. package/.vs/VSWorkspaceState.json +15 -15
  22. package/.vs/aicgen.slnx/v18/DocumentLayout.json +53 -53
  23. package/AGENTS.md +9 -11
  24. package/assets/icon.svg +33 -33
  25. package/bun.lock +734 -26
  26. package/{CLAUDE.md → claude.md} +2 -2
  27. package/config.example.yml +129 -0
  28. package/config.yml +38 -0
  29. package/data/architecture/microservices/api-gateway.md +56 -56
  30. package/data/devops/observability.md +73 -73
  31. package/data/guideline-mappings.yml +128 -0
  32. package/data/language/dart/async.md +289 -0
  33. package/data/language/dart/basics.md +280 -0
  34. package/data/language/dart/error-handling.md +355 -0
  35. package/data/language/dart/index.md +10 -0
  36. package/data/language/dart/testing.md +352 -0
  37. package/data/language/swift/basics.md +477 -0
  38. package/data/language/swift/concurrency.md +654 -0
  39. package/data/language/swift/error-handling.md +679 -0
  40. package/data/language/swift/swiftui-mvvm.md +795 -0
  41. package/data/language/swift/testing.md +708 -0
  42. package/data/version.json +10 -8
  43. package/dist/index.js +50153 -28959
  44. package/jest.config.js +46 -0
  45. package/package.json +14 -3
  46. package/.claude/agents/architecture-reviewer.md +0 -88
  47. package/.claude/agents/guideline-checker.md +0 -73
  48. package/.claude/agents/security-auditor.md +0 -108
  49. package/.claude/settings.json +0 -98
  50. package/.claude/settings.local.json +0 -8
  51. package/.eslintrc.json +0 -28
  52. package/.github/workflows/release.yml +0 -180
  53. package/.github/workflows/test.yml +0 -81
  54. package/CONTRIBUTING.md +0 -821
  55. package/dist/commands/init.d.ts +0 -8
  56. package/dist/commands/init.d.ts.map +0 -1
  57. package/dist/commands/init.js +0 -46
  58. package/dist/commands/init.js.map +0 -1
  59. package/dist/config/profiles.d.ts +0 -4
  60. package/dist/config/profiles.d.ts.map +0 -1
  61. package/dist/config/profiles.js +0 -30
  62. package/dist/config/profiles.js.map +0 -1
  63. package/dist/config/settings.d.ts +0 -7
  64. package/dist/config/settings.d.ts.map +0 -1
  65. package/dist/config/settings.js +0 -7
  66. package/dist/config/settings.js.map +0 -1
  67. package/dist/index.d.ts +0 -3
  68. package/dist/index.d.ts.map +0 -1
  69. package/dist/index.js.map +0 -1
  70. package/dist/models/guideline.d.ts +0 -15
  71. package/dist/models/guideline.d.ts.map +0 -1
  72. package/dist/models/guideline.js +0 -2
  73. package/dist/models/guideline.js.map +0 -1
  74. package/dist/models/preference.d.ts +0 -9
  75. package/dist/models/preference.d.ts.map +0 -1
  76. package/dist/models/preference.js +0 -2
  77. package/dist/models/preference.js.map +0 -1
  78. package/dist/models/profile.d.ts +0 -9
  79. package/dist/models/profile.d.ts.map +0 -1
  80. package/dist/models/profile.js +0 -2
  81. package/dist/models/profile.js.map +0 -1
  82. package/dist/models/project.d.ts +0 -13
  83. package/dist/models/project.d.ts.map +0 -1
  84. package/dist/models/project.js +0 -2
  85. package/dist/models/project.js.map +0 -1
  86. package/dist/services/ai/anthropic.d.ts +0 -7
  87. package/dist/services/ai/anthropic.d.ts.map +0 -1
  88. package/dist/services/ai/anthropic.js +0 -39
  89. package/dist/services/ai/anthropic.js.map +0 -1
  90. package/dist/services/generator.d.ts +0 -2
  91. package/dist/services/generator.d.ts.map +0 -1
  92. package/dist/services/generator.js +0 -4
  93. package/dist/services/generator.js.map +0 -1
  94. package/dist/services/learner.d.ts +0 -2
  95. package/dist/services/learner.d.ts.map +0 -1
  96. package/dist/services/learner.js +0 -4
  97. package/dist/services/learner.js.map +0 -1
  98. package/dist/services/scanner.d.ts +0 -3
  99. package/dist/services/scanner.d.ts.map +0 -1
  100. package/dist/services/scanner.js +0 -54
  101. package/dist/services/scanner.js.map +0 -1
  102. package/dist/utils/errors.d.ts +0 -15
  103. package/dist/utils/errors.d.ts.map +0 -1
  104. package/dist/utils/errors.js +0 -27
  105. package/dist/utils/errors.js.map +0 -1
  106. package/dist/utils/file.d.ts +0 -7
  107. package/dist/utils/file.d.ts.map +0 -1
  108. package/dist/utils/file.js +0 -32
  109. package/dist/utils/file.js.map +0 -1
  110. package/dist/utils/logger.d.ts +0 -6
  111. package/dist/utils/logger.d.ts.map +0 -1
  112. package/dist/utils/logger.js +0 -17
  113. package/dist/utils/logger.js.map +0 -1
  114. package/dist/utils/path.d.ts +0 -6
  115. package/dist/utils/path.d.ts.map +0 -1
  116. package/dist/utils/path.js +0 -14
  117. package/dist/utils/path.js.map +0 -1
  118. package/docs/planning/memory-lane.md +0 -83
  119. package/packaging/linux/aicgen.spec +0 -23
  120. package/packaging/linux/control +0 -9
  121. package/packaging/macos/scripts/postinstall +0 -12
  122. package/packaging/windows/setup.nsi +0 -92
  123. package/scripts/add-categories.ts +0 -87
  124. package/scripts/build-binary.ts +0 -46
  125. package/scripts/embed-data.ts +0 -105
  126. package/scripts/generate-version.ts +0 -150
  127. package/scripts/test-decompress.ts +0 -27
  128. package/scripts/test-extract.ts +0 -31
  129. package/src/__tests__/services/assistant-file-writer.test.ts +0 -400
  130. package/src/__tests__/services/guideline-loader.test.ts +0 -281
  131. package/src/__tests__/services/tarball-extraction.test.ts +0 -125
  132. package/src/commands/add-guideline.ts +0 -296
  133. package/src/commands/clear.ts +0 -61
  134. package/src/commands/guideline-selector.ts +0 -123
  135. package/src/commands/init.ts +0 -645
  136. package/src/commands/quick-add.ts +0 -586
  137. package/src/commands/remove-guideline.ts +0 -152
  138. package/src/commands/stats.ts +0 -49
  139. package/src/commands/update.ts +0 -240
  140. package/src/config.ts +0 -82
  141. package/src/embedded-data.ts +0 -1492
  142. package/src/index.ts +0 -67
  143. package/src/models/profile.ts +0 -24
  144. package/src/models/project.ts +0 -43
  145. package/src/services/assistant-file-writer.ts +0 -612
  146. package/src/services/config-generator.ts +0 -150
  147. package/src/services/config-manager.ts +0 -70
  148. package/src/services/data-source.ts +0 -248
  149. package/src/services/first-run-init.ts +0 -148
  150. package/src/services/guideline-loader.ts +0 -311
  151. package/src/services/hook-generator.ts +0 -178
  152. package/src/services/subagent-generator.ts +0 -310
  153. package/src/utils/banner.ts +0 -66
  154. package/src/utils/errors.ts +0 -27
  155. package/src/utils/file.ts +0 -67
  156. package/src/utils/formatting.ts +0 -172
  157. package/src/utils/logger.ts +0 -89
  158. package/src/utils/path.ts +0 -17
  159. package/src/utils/wizard-state.ts +0 -132
  160. package/tsconfig.json +0 -25
@@ -1,8 +0,0 @@
1
- interface InitOptions {
2
- profile?: string;
3
- force?: boolean;
4
- ai?: boolean;
5
- }
6
- export declare function initCommand(options: InitOptions): Promise<void>;
7
- export {};
8
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAiDrD"}
@@ -1,46 +0,0 @@
1
- import { select } from '@inquirer/prompts';
2
- import ora from 'ora';
3
- import chalk from 'chalk';
4
- import { scanProject } from '../services/scanner.js';
5
- import { getProfile } from '../config/profiles.js';
6
- import { isAnthropicAvailable } from '../services/ai/anthropic.js';
7
- export async function initCommand(options) {
8
- console.log(chalk.blue.bold('\n🤖 aicgen - AI Config Generator\n'));
9
- const projectPath = process.cwd();
10
- const spinner = ora('Scanning project...').start();
11
- const projectInfo = await scanProject(projectPath);
12
- spinner.succeed(`Project detected: ${chalk.green(projectInfo.type)}`);
13
- if (projectInfo.hasExistingConfig && !options.force) {
14
- console.log(chalk.yellow('\n⚠️ Configuration already exists. Use --force to overwrite.'));
15
- return;
16
- }
17
- let profileName = options.profile;
18
- if (!profileName) {
19
- profileName = await select({
20
- message: 'Select a profile:',
21
- choices: [
22
- { value: 'basic', name: 'Basic - Minimal guidelines' },
23
- { value: 'balanced', name: 'Balanced - Comprehensive best practices (recommended)' },
24
- { value: 'expert', name: 'Expert - Complete setup with all features' }
25
- ]
26
- });
27
- }
28
- const profile = getProfile(profileName);
29
- console.log(chalk.cyan(`\n📋 Using profile: ${profile.name}`));
30
- console.log(chalk.gray(` ${profile.description}\n`));
31
- const useAI = options.ai !== false && await isAnthropicAvailable();
32
- if (!useAI) {
33
- console.log(chalk.yellow('ℹ️ AI not available, using static templates\n'));
34
- }
35
- spinner.start('Generating configuration...');
36
- await new Promise(resolve => setTimeout(resolve, 1000));
37
- spinner.succeed('Configuration generated successfully!\n');
38
- console.log(chalk.green('✨ Setup complete!'));
39
- console.log(chalk.gray('\nGenerated files:'));
40
- console.log(chalk.gray(' - .aicgen/claude.md'));
41
- console.log(chalk.gray(' - .aicgen/instructions.md'));
42
- if (profile.includeADR) {
43
- console.log(chalk.gray(' - .aicgen/decisions.md'));
44
- }
45
- }
46
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAQnE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEnD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,CAAC,OAAO,CAAC,qBAAqB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtE,IAAI,WAAW,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,MAAM,CAAC;YACzB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE;gBACtD,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,uDAAuD,EAAE;gBACpF,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,2CAA2C,EAAE;aACvE;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,oBAAoB,EAAE,CAAC;IAEnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE7C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAExD,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Profile } from '../models/profile.js';
2
- export declare const PROFILES: Record<string, Profile>;
3
- export declare function getProfile(name: string): Profile;
4
- //# sourceMappingURL=profiles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAyB5C,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD"}
@@ -1,30 +0,0 @@
1
- export const PROFILES = {
2
- basic: {
3
- name: 'basic',
4
- description: 'Minimal guidelines for quick setup',
5
- guidelines: ['typescript-basics', 'code-style'],
6
- includeADR: false,
7
- includeHooks: false,
8
- verbosity: 'concise'
9
- },
10
- balanced: {
11
- name: 'balanced',
12
- description: 'Comprehensive best practices (recommended)',
13
- guidelines: ['typescript-basics', 'testing', 'architecture', 'code-style', 'error-handling'],
14
- includeADR: true,
15
- includeHooks: false,
16
- verbosity: 'detailed'
17
- },
18
- expert: {
19
- name: 'expert',
20
- description: 'Complete setup with all features',
21
- guidelines: ['typescript-basics', 'testing', 'architecture', 'code-style', 'error-handling', 'performance', 'security'],
22
- includeADR: true,
23
- includeHooks: true,
24
- verbosity: 'comprehensive'
25
- }
26
- };
27
- export function getProfile(name) {
28
- return PROFILES[name] || PROFILES.balanced;
29
- }
30
- //# sourceMappingURL=profiles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAA4B;IAC/C,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,oCAAoC;QACjD,UAAU,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC;QAC/C,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,SAAS;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC;QAC5F,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,UAAU;KACtB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kCAAkC;QAC/C,UAAU,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,CAAC;QACvH,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,eAAe;KAC3B;CACF,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;AAC7C,CAAC"}
@@ -1,7 +0,0 @@
1
- export declare const APP_NAME = "aicgen";
2
- export declare const APP_VERSION = "0.1.0";
3
- export declare const CONFIG_DIR_NAME = ".aicgen";
4
- export declare const CLAUDE_CONFIG_FILE = "claude.md";
5
- export declare const INSTRUCTIONS_FILE = "instructions.md";
6
- export declare const DECISIONS_FILE = "decisions.md";
7
- //# sourceMappingURL=settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,WAAW,CAAC;AACjC,eAAO,MAAM,WAAW,UAAU,CAAC;AACnC,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,iBAAiB,oBAAoB,CAAC;AACnD,eAAO,MAAM,cAAc,iBAAiB,CAAC"}
@@ -1,7 +0,0 @@
1
- export const APP_NAME = 'aicgen';
2
- export const APP_VERSION = '0.1.0';
3
- export const CONFIG_DIR_NAME = '.aicgen';
4
- export const CLAUDE_CONFIG_FILE = 'claude.md';
5
- export const INSTRUCTIONS_FILE = 'instructions.md';
6
- export const DECISIONS_FILE = 'decisions.md';
7
- //# sourceMappingURL=settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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,oBAAoB,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,4DAA4D,CAAC;KACzE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,sBAAsB,EAAE,wCAAwC,CAAC;KACxE,MAAM,CAAC,aAAa,EAAE,kCAAkC,CAAC;KACzD,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;KAC7D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- import { ProjectType } from './project.js';
2
- export interface Guideline {
3
- id: string;
4
- category: string;
5
- content: string;
6
- applicableTo: ProjectType[];
7
- }
8
- export interface UserPreference {
9
- id: string;
10
- rule: string;
11
- source: 'manual' | 'extracted';
12
- sourceProject?: string;
13
- dateAdded: string;
14
- }
15
- //# sourceMappingURL=guideline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guideline.d.ts","sourceRoot":"","sources":["../../src/models/guideline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=guideline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guideline.js","sourceRoot":"","sources":["../../src/models/guideline.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export interface UserPreference {
2
- id: string;
3
- rule: string;
4
- source: 'manual' | 'extracted';
5
- sourceProject?: string;
6
- dateAdded: string;
7
- usageCount?: number;
8
- }
9
- //# sourceMappingURL=preference.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preference.d.ts","sourceRoot":"","sources":["../../src/models/preference.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=preference.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preference.js","sourceRoot":"","sources":["../../src/models/preference.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export interface Profile {
2
- name: string;
3
- description: string;
4
- guidelines: string[];
5
- includeADR: boolean;
6
- includeHooks: boolean;
7
- verbosity: 'concise' | 'detailed' | 'comprehensive';
8
- }
9
- //# sourceMappingURL=profile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/models/profile.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC;CACrD"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=profile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/models/profile.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- export type ProjectType = 'typescript' | 'javascript' | 'react' | 'nextjs' | 'express' | 'nest' | 'unknown';
2
- export interface ProjectInfo {
3
- path: string;
4
- name: string;
5
- type: ProjectType;
6
- language: 'typescript' | 'javascript';
7
- frameworks: string[];
8
- dependencies: Record<string, string>;
9
- srcDir: string | null;
10
- testDir: string | null;
11
- hasExistingConfig: boolean;
12
- }
13
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/models/project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,YAAY,GAAG,YAAY,CAAC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;CAC5B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/models/project.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- export declare function initializeAnthropic(apiKey: string): void;
2
- export declare function isAnthropicAvailable(): Promise<boolean>;
3
- export declare function generateWithAnthropic(prompt: string, options?: {
4
- maxTokens?: number;
5
- temperature?: number;
6
- }): Promise<string>;
7
- //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/services/ai/anthropic.ts"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAU7D;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
@@ -1,39 +0,0 @@
1
- import Anthropic from '@anthropic-ai/sdk';
2
- import { AIProviderError } from '../../utils/errors.js';
3
- let client = null;
4
- export function initializeAnthropic(apiKey) {
5
- client = new Anthropic({ apiKey });
6
- }
7
- export async function isAnthropicAvailable() {
8
- if (client)
9
- return true;
10
- const envKey = process.env.ANTHROPIC_API_KEY;
11
- if (envKey) {
12
- initializeAnthropic(envKey);
13
- return true;
14
- }
15
- return false;
16
- }
17
- export async function generateWithAnthropic(prompt, options = {}) {
18
- if (!client) {
19
- throw new AIProviderError('Anthropic client not initialized', 'anthropic');
20
- }
21
- try {
22
- const message = await client.messages.create({
23
- model: 'claude-3-5-sonnet-20241022',
24
- max_tokens: options.maxTokens || 4096,
25
- temperature: options.temperature || 1.0,
26
- messages: [{ role: 'user', content: prompt }]
27
- });
28
- const textBlock = message.content.find(block => block.type === 'text');
29
- if (!textBlock || textBlock.type !== 'text') {
30
- throw new AIProviderError('No text content in response', 'anthropic');
31
- }
32
- return textBlock.text;
33
- }
34
- catch (error) {
35
- const message = error instanceof Error ? error.message : 'Unknown error';
36
- throw new AIProviderError(message, 'anthropic');
37
- }
38
- }
39
- //# sourceMappingURL=anthropic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/services/ai/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,IAAI,MAAM,GAAqB,IAAI,CAAC;AAEpC,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,UAAwD,EAAE;IAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,eAAe,CAAC,kCAAkC,EAAE,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,4BAA4B;YACnC,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACrC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SAC9C,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,eAAe,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function generateConfigs(): Promise<void>;
2
- //# sourceMappingURL=generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/services/generator.ts"],"names":[],"mappings":"AAAA,wBAAsB,eAAe,kBAEpC"}
@@ -1,4 +0,0 @@
1
- export async function generateConfigs() {
2
- throw new Error('Not implemented yet');
3
- }
4
- //# sourceMappingURL=generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/services/generator.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function learnFromProject(): Promise<void>;
2
- //# sourceMappingURL=learner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"learner.d.ts","sourceRoot":"","sources":["../../src/services/learner.ts"],"names":[],"mappings":"AAAA,wBAAsB,gBAAgB,kBAErC"}
@@ -1,4 +0,0 @@
1
- export async function learnFromProject() {
2
- throw new Error('Not implemented yet');
3
- }
4
- //# sourceMappingURL=learner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"learner.js","sourceRoot":"","sources":["../../src/services/learner.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ProjectInfo } from '../models/project.js';
2
- export declare function scanProject(projectPath: string): Promise<ProjectInfo>;
3
- //# sourceMappingURL=scanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/services/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,sBAAsB,CAAC;AAIhE,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAyB3E"}
@@ -1,54 +0,0 @@
1
- import { exists, readJSON } from '../utils/file.js';
2
- import { join } from 'path';
3
- export async function scanProject(projectPath) {
4
- const packageJsonPath = join(projectPath, 'package.json');
5
- const pkg = await exists(packageJsonPath)
6
- ? await readJSON(packageJsonPath)
7
- : { dependencies: {}, devDependencies: {} };
8
- const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
9
- const type = await detectProjectType(projectPath, allDeps);
10
- const language = await exists(join(projectPath, 'tsconfig.json')) ? 'typescript' : 'javascript';
11
- const frameworks = extractFrameworks(allDeps);
12
- const srcDir = await findDirectory(projectPath, ['src', 'source', 'lib', 'app']);
13
- const testDir = await findDirectory(projectPath, ['test', 'tests', '__tests__', 'spec']);
14
- const hasExistingConfig = await exists(join(projectPath, '.aicgen'));
15
- return {
16
- path: projectPath,
17
- name: pkg.name || 'unknown',
18
- type,
19
- language,
20
- frameworks,
21
- dependencies: pkg.dependencies || {},
22
- srcDir,
23
- testDir,
24
- hasExistingConfig
25
- };
26
- }
27
- async function detectProjectType(projectPath, deps) {
28
- if (deps['next'])
29
- return 'nextjs';
30
- if (deps['react'])
31
- return 'react';
32
- if (deps['@nestjs/core'])
33
- return 'nest';
34
- if (deps['express'])
35
- return 'express';
36
- if (await exists(join(projectPath, 'tsconfig.json')))
37
- return 'typescript';
38
- if (await exists(join(projectPath, 'package.json')))
39
- return 'javascript';
40
- return 'unknown';
41
- }
42
- async function findDirectory(projectPath, candidates) {
43
- for (const dir of candidates) {
44
- if (await exists(join(projectPath, dir))) {
45
- return dir;
46
- }
47
- }
48
- return null;
49
- }
50
- function extractFrameworks(deps) {
51
- const frameworkKeys = ['react', 'vue', 'angular', 'svelte', 'next', 'nuxt', 'express', '@nestjs/core'];
52
- return frameworkKeys.filter(key => deps[key]);
53
- }
54
- //# sourceMappingURL=scanner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/services/scanner.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export declare class AicgenError extends Error {
2
- code: string;
3
- details?: unknown | undefined;
4
- constructor(message: string, code: string, details?: unknown | undefined);
5
- }
6
- export declare class ProjectNotFoundError extends AicgenError {
7
- constructor(path: string);
8
- }
9
- export declare class ConfigExistsError extends AicgenError {
10
- constructor(path: string);
11
- }
12
- export declare class AIProviderError extends AicgenError {
13
- constructor(message: string, provider: string);
14
- }
15
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IAG3B,IAAI,EAAE,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO;gBAFxB,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,YAAA;CAM3B;AAED,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,IAAI,EAAE,MAAM;CAGzB;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,IAAI,EAAE,MAAM;CAOzB;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAG9C"}
@@ -1,27 +0,0 @@
1
- export class AicgenError extends Error {
2
- code;
3
- details;
4
- constructor(message, code, details) {
5
- super(message);
6
- this.code = code;
7
- this.details = details;
8
- this.name = this.constructor.name;
9
- Error.captureStackTrace(this, this.constructor);
10
- }
11
- }
12
- export class ProjectNotFoundError extends AicgenError {
13
- constructor(path) {
14
- super(`Project not found at: ${path}`, 'PROJECT_NOT_FOUND', { path });
15
- }
16
- }
17
- export class ConfigExistsError extends AicgenError {
18
- constructor(path) {
19
- super(`Configuration already exists at: ${path}. Use --force to overwrite.`, 'CONFIG_EXISTS', { path });
20
- }
21
- }
22
- export class AIProviderError extends AicgenError {
23
- constructor(message, provider) {
24
- super(`AI Provider Error (${provider}): ${message}`, 'AI_PROVIDER_ERROR', { provider });
25
- }
26
- }
27
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAG3B;IACA;IAHT,YACE,OAAe,EACR,IAAY,EACZ,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IACnD,YAAY,IAAY;QACtB,KAAK,CAAC,yBAAyB,IAAI,EAAE,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,IAAY;QACtB,KAAK,CACH,oCAAoC,IAAI,6BAA6B,EACrE,eAAe,EACf,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CAAC,sBAAsB,QAAQ,MAAM,OAAO,EAAE,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- export declare function exists(path: string): Promise<boolean>;
2
- export declare function readFile(path: string): Promise<string>;
3
- export declare function writeFile(path: string, content: string): Promise<void>;
4
- export declare function ensureDir(path: string): Promise<void>;
5
- export declare function readJSON<T>(path: string): Promise<T>;
6
- export declare function writeJSON<T>(path: string, data: T): Promise<void>;
7
- //# sourceMappingURL=file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"AAGA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5E;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAG1D;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE"}
@@ -1,32 +0,0 @@
1
- import { promises as fs } from 'fs';
2
- import { dirname } from 'path';
3
- export async function exists(path) {
4
- try {
5
- await fs.access(path);
6
- return true;
7
- }
8
- catch {
9
- return false;
10
- }
11
- }
12
- export async function readFile(path) {
13
- return fs.readFile(path, 'utf-8');
14
- }
15
- export async function writeFile(path, content) {
16
- await ensureDir(dirname(path));
17
- const tempPath = `${path}.tmp`;
18
- await fs.writeFile(tempPath, content, 'utf-8');
19
- await fs.rename(tempPath, path);
20
- }
21
- export async function ensureDir(path) {
22
- await fs.mkdir(path, { recursive: true });
23
- }
24
- export async function readJSON(path) {
25
- const content = await readFile(path);
26
- return JSON.parse(content);
27
- }
28
- export async function writeJSON(path, data) {
29
- const content = JSON.stringify(data, null, 2);
30
- await writeFile(path, content);
31
- }
32
- //# sourceMappingURL=file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,OAAe;IAC3D,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,IAAI,MAAM,CAAC;IAC/B,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAI,IAAY;IAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,IAAY,EAAE,IAAO;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare function logInfo(message: string): void;
2
- export declare function logSuccess(message: string): void;
3
- export declare function logWarning(message: string): void;
4
- export declare function logError(message: string): void;
5
- export declare function logGray(message: string): void;
6
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C"}
@@ -1,17 +0,0 @@
1
- import chalk from 'chalk';
2
- export function logInfo(message) {
3
- console.log(chalk.blue(message));
4
- }
5
- export function logSuccess(message) {
6
- console.log(chalk.green(message));
7
- }
8
- export function logWarning(message) {
9
- console.log(chalk.yellow(message));
10
- }
11
- export function logError(message) {
12
- console.log(chalk.red(message));
13
- }
14
- export function logGray(message) {
15
- console.log(chalk.gray(message));
16
- }
17
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare const AICGEN_HOME: string;
2
- export declare const AICGEN_PROJECT_DIR = ".aicgen";
3
- export declare function getAicgenHome(...parts: string[]): string;
4
- export declare function getProjectConfigDir(projectPath: string): string;
5
- export declare function toUnixPath(path: string): string;
6
- //# sourceMappingURL=path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,QAA6B,CAAC;AACtD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,wBAAgB,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -1,14 +0,0 @@
1
- import { join, normalize } from 'path';
2
- import { homedir } from 'os';
3
- export const AICGEN_HOME = join(homedir(), '.aicgen');
4
- export const AICGEN_PROJECT_DIR = '.aicgen';
5
- export function getAicgenHome(...parts) {
6
- return join(AICGEN_HOME, ...parts);
7
- }
8
- export function getProjectConfigDir(projectPath) {
9
- return join(projectPath, AICGEN_PROJECT_DIR);
10
- }
11
- export function toUnixPath(path) {
12
- return normalize(path).replace(/\\/g, '/');
13
- }
14
- //# sourceMappingURL=path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,MAAM,UAAU,aAAa,CAAC,GAAG,KAAe;IAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC"}