devcache-hub 0.1.3 → 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 (109) hide show
  1. package/dist/analyzers/ArchitectureAnalyzer.d.ts +17 -0
  2. package/dist/analyzers/ArchitectureAnalyzer.d.ts.map +1 -0
  3. package/dist/analyzers/ArchitectureAnalyzer.js +217 -0
  4. package/dist/analyzers/ArchitectureAnalyzer.js.map +1 -0
  5. package/dist/analyzers/FeaturesAnalyzer.d.ts +18 -0
  6. package/dist/analyzers/FeaturesAnalyzer.d.ts.map +1 -0
  7. package/dist/analyzers/FeaturesAnalyzer.js +258 -0
  8. package/dist/analyzers/FeaturesAnalyzer.js.map +1 -0
  9. package/dist/analyzers/ImpactAnalyzer.d.ts +16 -0
  10. package/dist/analyzers/ImpactAnalyzer.d.ts.map +1 -0
  11. package/dist/analyzers/ImpactAnalyzer.js +165 -0
  12. package/dist/analyzers/ImpactAnalyzer.js.map +1 -0
  13. package/dist/analyzers/ProjectAnalyzer.d.ts +14 -0
  14. package/dist/analyzers/ProjectAnalyzer.d.ts.map +1 -0
  15. package/dist/analyzers/ProjectAnalyzer.js +142 -0
  16. package/dist/analyzers/ProjectAnalyzer.js.map +1 -0
  17. package/dist/analyzers/StackAnalyzer.d.ts +28 -0
  18. package/dist/analyzers/StackAnalyzer.d.ts.map +1 -0
  19. package/dist/analyzers/StackAnalyzer.js +320 -0
  20. package/dist/analyzers/StackAnalyzer.js.map +1 -0
  21. package/dist/analyzers/base/BaseAnalyzer.d.ts +39 -0
  22. package/dist/analyzers/base/BaseAnalyzer.d.ts.map +1 -0
  23. package/dist/analyzers/base/BaseAnalyzer.js +64 -0
  24. package/dist/analyzers/base/BaseAnalyzer.js.map +1 -0
  25. package/dist/analyzers/index.d.ts +7 -0
  26. package/dist/analyzers/index.d.ts.map +1 -0
  27. package/dist/analyzers/index.js +23 -0
  28. package/dist/analyzers/index.js.map +1 -0
  29. package/dist/cli/commands/generate.d.ts.map +1 -1
  30. package/dist/cli/commands/generate.js +32 -19
  31. package/dist/cli/commands/generate.js.map +1 -1
  32. package/dist/cli/commands/login.d.ts.map +1 -1
  33. package/dist/cli/commands/login.js +89 -19
  34. package/dist/cli/commands/login.js.map +1 -1
  35. package/dist/cli/commands/push.d.ts.map +1 -1
  36. package/dist/cli/commands/push.js +81 -10
  37. package/dist/cli/commands/push.js.map +1 -1
  38. package/dist/cli/index.js +9 -0
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/orchestrator/FileSystemHandler.d.ts +35 -0
  41. package/dist/orchestrator/FileSystemHandler.d.ts.map +1 -0
  42. package/dist/orchestrator/FileSystemHandler.js +138 -0
  43. package/dist/orchestrator/FileSystemHandler.js.map +1 -0
  44. package/dist/orchestrator/Orchestrator.d.ts +31 -0
  45. package/dist/orchestrator/Orchestrator.d.ts.map +1 -0
  46. package/dist/orchestrator/Orchestrator.js +141 -0
  47. package/dist/orchestrator/Orchestrator.js.map +1 -0
  48. package/dist/orchestrator/TemplateManager.d.ts +35 -0
  49. package/dist/orchestrator/TemplateManager.d.ts.map +1 -0
  50. package/dist/orchestrator/TemplateManager.js +116 -0
  51. package/dist/orchestrator/TemplateManager.js.map +1 -0
  52. package/dist/orchestrator/index.d.ts +4 -0
  53. package/dist/orchestrator/index.d.ts.map +1 -0
  54. package/dist/orchestrator/index.js +20 -0
  55. package/dist/orchestrator/index.js.map +1 -0
  56. package/dist/supabase/client.d.ts +54 -0
  57. package/dist/supabase/client.d.ts.map +1 -0
  58. package/dist/supabase/client.js +181 -0
  59. package/dist/supabase/client.js.map +1 -0
  60. package/dist/supabase/index.d.ts +3 -0
  61. package/dist/supabase/index.d.ts.map +1 -0
  62. package/dist/supabase/index.js +19 -0
  63. package/dist/supabase/index.js.map +1 -0
  64. package/dist/supabase/oauth.d.ts +25 -0
  65. package/dist/supabase/oauth.d.ts.map +1 -0
  66. package/dist/supabase/oauth.js +218 -0
  67. package/dist/supabase/oauth.js.map +1 -0
  68. package/dist/supabase/storage.d.ts +46 -0
  69. package/dist/supabase/storage.d.ts.map +1 -0
  70. package/dist/supabase/storage.js +179 -0
  71. package/dist/supabase/storage.js.map +1 -0
  72. package/dist/types/analyzers.d.ts +51 -0
  73. package/dist/types/analyzers.d.ts.map +1 -0
  74. package/dist/types/analyzers.js +3 -0
  75. package/dist/types/analyzers.js.map +1 -0
  76. package/dist/types/config.d.ts +27 -0
  77. package/dist/types/config.d.ts.map +1 -0
  78. package/dist/types/config.js +3 -0
  79. package/dist/types/config.js.map +1 -0
  80. package/dist/types/index.d.ts +4 -0
  81. package/dist/types/index.d.ts.map +1 -0
  82. package/dist/types/index.js +20 -0
  83. package/dist/types/index.js.map +1 -0
  84. package/dist/types/templates.d.ts +18 -0
  85. package/dist/types/templates.d.ts.map +1 -0
  86. package/dist/types/templates.js +3 -0
  87. package/dist/types/templates.js.map +1 -0
  88. package/dist/utils/config.d.ts +17 -0
  89. package/dist/utils/config.d.ts.map +1 -0
  90. package/dist/utils/config.js +46 -0
  91. package/dist/utils/config.js.map +1 -0
  92. package/dist/utils/fileParser.d.ts +28 -0
  93. package/dist/utils/fileParser.d.ts.map +1 -0
  94. package/dist/utils/fileParser.js +111 -0
  95. package/dist/utils/fileParser.js.map +1 -0
  96. package/dist/utils/index.d.ts +4 -0
  97. package/dist/utils/index.d.ts.map +1 -0
  98. package/dist/utils/index.js +20 -0
  99. package/dist/utils/index.js.map +1 -0
  100. package/dist/utils/logger.d.ts +9 -0
  101. package/dist/utils/logger.d.ts.map +1 -0
  102. package/dist/utils/logger.js +31 -0
  103. package/dist/utils/logger.js.map +1 -0
  104. package/package.json +13 -12
  105. package/templates/general/project-impact.yaml +34 -0
  106. package/templates/general/project-overview.yaml +34 -0
  107. package/templates/tech/architecture-project.yaml +42 -0
  108. package/templates/tech/features.yaml +38 -0
  109. package/templates/tech/stack-project.yaml +42 -0
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ConfigManager = void 0;
7
+ const promises_1 = __importDefault(require("fs/promises"));
8
+ const path_1 = __importDefault(require("path"));
9
+ class ConfigManager {
10
+ /**
11
+ * Read DevCache configuration
12
+ */
13
+ static async readConfig(rootPath = process.cwd()) {
14
+ const configPath = path_1.default.join(rootPath, this.CONFIG_FILE);
15
+ try {
16
+ const content = await promises_1.default.readFile(configPath, 'utf-8');
17
+ return JSON.parse(content);
18
+ }
19
+ catch (error) {
20
+ throw new Error('DevCache not initialized. Run "devcache init" first.');
21
+ }
22
+ }
23
+ /**
24
+ * Write DevCache configuration
25
+ */
26
+ static async writeConfig(config, rootPath = process.cwd()) {
27
+ const configPath = path_1.default.join(rootPath, this.CONFIG_FILE);
28
+ await promises_1.default.writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
29
+ }
30
+ /**
31
+ * Check if DevCache is initialized
32
+ */
33
+ static async isInitialized(rootPath = process.cwd()) {
34
+ const configPath = path_1.default.join(rootPath, this.CONFIG_FILE);
35
+ try {
36
+ await promises_1.default.access(configPath);
37
+ return true;
38
+ }
39
+ catch {
40
+ return false;
41
+ }
42
+ }
43
+ }
44
+ exports.ConfigManager = ConfigManager;
45
+ ConfigManager.CONFIG_FILE = '.devcache.json';
46
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA6B;AAC7B,gDAAwB;AAGxB,MAAa,aAAa;IAGxB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;QACtD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,sDAAsD,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,MAAsB,EACtB,WAAmB,OAAO,CAAC,GAAG,EAAE;QAEhC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;QACzD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;;AA1CH,sCA2CC;AA1CgB,yBAAW,GAAG,gBAAgB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { FileInfo, PackageJson } from '../types';
2
+ export declare class FileParser {
3
+ /**
4
+ * Scan project directory and return file information
5
+ */
6
+ static scanProject(rootPath: string, includePatterns: string[], excludePatterns: string[]): Promise<FileInfo[]>;
7
+ /**
8
+ * Read and parse package.json
9
+ */
10
+ static readPackageJson(rootPath: string): Promise<PackageJson | null>;
11
+ /**
12
+ * Read README.md content
13
+ */
14
+ static readReadme(rootPath: string): Promise<string | null>;
15
+ /**
16
+ * Read file content
17
+ */
18
+ static readFile(filePath: string): Promise<string>;
19
+ /**
20
+ * Detect project framework
21
+ */
22
+ static detectFramework(packageJson: PackageJson | null): string | undefined;
23
+ /**
24
+ * Get file extension statistics
25
+ */
26
+ static getFileStats(files: FileInfo[]): Record<string, number>;
27
+ }
28
+ //# sourceMappingURL=fileParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileParser.d.ts","sourceRoot":"","sources":["../../src/utils/fileParser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEjD,qBAAa,UAAU;IACrB;;OAEG;WACU,WAAW,CACtB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4BtB;;OAEG;WACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAU3E;;OAEG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAejE;;OAEG;WACU,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS;IAmB3E;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAU/D"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FileParser = void 0;
7
+ const promises_1 = __importDefault(require("fs/promises"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const glob_1 = require("glob");
10
+ class FileParser {
11
+ /**
12
+ * Scan project directory and return file information
13
+ */
14
+ static async scanProject(rootPath, includePatterns, excludePatterns) {
15
+ const files = [];
16
+ for (const pattern of includePatterns) {
17
+ const matches = await (0, glob_1.glob)(pattern, {
18
+ cwd: rootPath,
19
+ ignore: excludePatterns,
20
+ nodir: true,
21
+ absolute: false,
22
+ });
23
+ for (const match of matches) {
24
+ const fullPath = path_1.default.join(rootPath, match);
25
+ const stats = await promises_1.default.stat(fullPath);
26
+ files.push({
27
+ path: fullPath,
28
+ relativePath: match,
29
+ name: path_1.default.basename(match),
30
+ extension: path_1.default.extname(match),
31
+ size: stats.size,
32
+ });
33
+ }
34
+ }
35
+ return files;
36
+ }
37
+ /**
38
+ * Read and parse package.json
39
+ */
40
+ static async readPackageJson(rootPath) {
41
+ try {
42
+ const packagePath = path_1.default.join(rootPath, 'package.json');
43
+ const content = await promises_1.default.readFile(packagePath, 'utf-8');
44
+ return JSON.parse(content);
45
+ }
46
+ catch (error) {
47
+ return null;
48
+ }
49
+ }
50
+ /**
51
+ * Read README.md content
52
+ */
53
+ static async readReadme(rootPath) {
54
+ const readmeFiles = ['README.md', 'readme.md', 'Readme.md', 'README.MD'];
55
+ for (const filename of readmeFiles) {
56
+ try {
57
+ const readmePath = path_1.default.join(rootPath, filename);
58
+ return await promises_1.default.readFile(readmePath, 'utf-8');
59
+ }
60
+ catch (error) {
61
+ continue;
62
+ }
63
+ }
64
+ return null;
65
+ }
66
+ /**
67
+ * Read file content
68
+ */
69
+ static async readFile(filePath) {
70
+ return await promises_1.default.readFile(filePath, 'utf-8');
71
+ }
72
+ /**
73
+ * Detect project framework
74
+ */
75
+ static detectFramework(packageJson) {
76
+ if (!packageJson)
77
+ return undefined;
78
+ const deps = {
79
+ ...packageJson.dependencies,
80
+ ...packageJson.devDependencies,
81
+ };
82
+ if (deps['next'])
83
+ return 'Next.js';
84
+ if (deps['react'])
85
+ return 'React';
86
+ if (deps['vue'])
87
+ return 'Vue.js';
88
+ if (deps['@angular/core'])
89
+ return 'Angular';
90
+ if (deps['express'])
91
+ return 'Express';
92
+ if (deps['fastify'])
93
+ return 'Fastify';
94
+ if (deps['nestjs'])
95
+ return 'NestJS';
96
+ return undefined;
97
+ }
98
+ /**
99
+ * Get file extension statistics
100
+ */
101
+ static getFileStats(files) {
102
+ const stats = {};
103
+ for (const file of files) {
104
+ const ext = file.extension || 'no-extension';
105
+ stats[ext] = (stats[ext] || 0) + 1;
106
+ }
107
+ return stats;
108
+ }
109
+ }
110
+ exports.FileParser = FileParser;
111
+ //# sourceMappingURL=fileParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileParser.js","sourceRoot":"","sources":["../../src/utils/fileParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './logger';
2
+ export * from './fileParser';
3
+ export * from './config';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./logger"), exports);
18
+ __exportStar(require("./fileParser"), exports);
19
+ __exportStar(require("./config"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,2CAAyB"}
@@ -0,0 +1,9 @@
1
+ export declare class Logger {
2
+ static info(message: string): void;
3
+ static success(message: string): void;
4
+ static error(message: string): void;
5
+ static warn(message: string): void;
6
+ static debug(message: string): void;
7
+ static section(title: string): void;
8
+ }
9
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACjB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMnC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAGpC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Logger = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ class Logger {
9
+ static info(message) {
10
+ console.log(chalk_1.default.blue('ℹ'), message);
11
+ }
12
+ static success(message) {
13
+ console.log(chalk_1.default.green('✓'), message);
14
+ }
15
+ static error(message) {
16
+ console.log(chalk_1.default.red('✗'), message);
17
+ }
18
+ static warn(message) {
19
+ console.log(chalk_1.default.yellow('⚠'), message);
20
+ }
21
+ static debug(message) {
22
+ if (process.env.DEBUG) {
23
+ console.log(chalk_1.default.gray('🔍'), message);
24
+ }
25
+ }
26
+ static section(title) {
27
+ console.log('\n' + chalk_1.default.bold.cyan(title));
28
+ }
29
+ }
30
+ exports.Logger = Logger;
31
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAa,MAAM;IACjB,MAAM,CAAC,IAAI,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AA1BD,wBA0BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devcache-hub",
3
- "version": "0.1.3",
3
+ "version": "0.3.1",
4
4
  "description": "Intelligent project documentation generator with cloud sync and RAG-powered search",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -45,23 +45,24 @@
45
45
  "node": ">=18.0.0"
46
46
  },
47
47
  "dependencies": {
48
- "commander": "^12.1.0",
48
+ "@supabase/supabase-js": "^2.47.10",
49
49
  "chalk": "^5.3.0",
50
- "ora": "^8.1.1",
50
+ "commander": "^12.1.0",
51
+ "dotenv": "^16.4.7",
52
+ "glob": "^11.0.0",
51
53
  "inquirer": "^12.2.0",
52
- "@supabase/supabase-js": "^2.47.10",
54
+ "open": "^11.0.0",
53
55
  "openai": "^4.77.3",
54
- "glob": "^11.0.0",
55
- "yaml": "^2.6.1",
56
- "dotenv": "^16.4.7"
56
+ "ora": "^8.1.1",
57
+ "yaml": "^2.6.1"
57
58
  },
58
59
  "devDependencies": {
59
- "typescript": "^5.3.3",
60
- "@types/node": "^20.11.19",
61
60
  "@types/inquirer": "^9.0.7",
62
- "ts-node": "^10.9.2",
63
- "jest": "^29.7.0",
64
61
  "@types/jest": "^29.5.12",
65
- "ts-jest": "^29.1.2"
62
+ "@types/node": "^20.11.19",
63
+ "jest": "^29.7.0",
64
+ "ts-jest": "^29.1.2",
65
+ "ts-node": "^10.9.2",
66
+ "typescript": "^5.3.3"
66
67
  }
67
68
  }
@@ -0,0 +1,34 @@
1
+ name: project-impact
2
+ category: general
3
+ outputFile: project-impact.md
4
+ description: Analysis of the problem being solved and expected impact
5
+ analyzer: ImpactAnalyzer
6
+
7
+ sections:
8
+ - heading: Project Impact
9
+ prompt: Analyze the impact and justification for this project
10
+ required: true
11
+ subsections:
12
+ - heading: Problem Statement
13
+ prompt: Clearly define the problem this project addresses
14
+ required: true
15
+
16
+ - heading: Root Cause Analysis
17
+ prompt: Explain why this problem exists and its underlying causes
18
+ required: true
19
+
20
+ - heading: Solution Approach
21
+ prompt: Describe how this project solves the identified problem
22
+ required: true
23
+
24
+ - heading: Expected Impact
25
+ prompt: Detail the expected outcomes and benefits
26
+ required: true
27
+
28
+ - heading: Success Metrics
29
+ prompt: Define how success will be measured
30
+ required: false
31
+
32
+ - heading: Target Users
33
+ prompt: Identify who will benefit from this solution
34
+ required: true
@@ -0,0 +1,34 @@
1
+ name: project-overview
2
+ category: general
3
+ outputFile: project-overview.md
4
+ description: High-level overview of the project's purpose and objectives
5
+ analyzer: ProjectAnalyzer
6
+
7
+ sections:
8
+ - heading: Project Overview
9
+ prompt: Provide a comprehensive overview of the project
10
+ required: true
11
+ subsections:
12
+ - heading: Project Name
13
+ prompt: Extract the project name from package.json
14
+ required: true
15
+
16
+ - heading: Purpose
17
+ prompt: Describe the main purpose and central idea of the project (conceptual only, no code)
18
+ required: true
19
+
20
+ - heading: Central Idea
21
+ prompt: Explain the core concept and vision behind the project
22
+ required: true
23
+
24
+ - heading: Objectives
25
+ prompt: List the main objectives and goals of the project
26
+ required: true
27
+
28
+ - heading: Target Audience
29
+ prompt: Identify who will use or benefit from this project
30
+ required: false
31
+
32
+ - heading: Project Type
33
+ prompt: Classify the project (web app, library, CLI tool, API, etc.)
34
+ required: true
@@ -0,0 +1,42 @@
1
+ name: architecture-project
2
+ category: tech
3
+ outputFile: architecture-project.md
4
+ description: Technical architecture overview and design patterns
5
+ analyzer: ArchitectureAnalyzer
6
+
7
+ sections:
8
+ - heading: Architecture Overview
9
+ prompt: Provide comprehensive technical architecture analysis
10
+ required: true
11
+ subsections:
12
+ - heading: Framework
13
+ prompt: Identify the main framework being used
14
+ required: true
15
+
16
+ - heading: Architecture Pattern
17
+ prompt: Identify design patterns (MVC, MVVM, Clean Architecture, etc.)
18
+ required: true
19
+
20
+ - heading: Project Structure
21
+ prompt: Describe the folder and file organization
22
+ required: true
23
+
24
+ - heading: Component Hierarchy
25
+ prompt: Map out the component structure and relationships
26
+ required: false
27
+
28
+ - heading: Data Flow
29
+ prompt: Explain how data moves through the application
30
+ required: true
31
+
32
+ - heading: Routing Structure
33
+ prompt: Describe the routing architecture
34
+ required: false
35
+
36
+ - heading: State Management
37
+ prompt: Identify state management approach
38
+ required: false
39
+
40
+ - heading: Key Design Decisions
41
+ prompt: Highlight important architectural choices
42
+ required: true
@@ -0,0 +1,38 @@
1
+ name: features
2
+ category: tech
3
+ outputFile: features.md
4
+ description: Main features and functionality analysis
5
+ analyzer: FeaturesAnalyzer
6
+
7
+ sections:
8
+ - heading: Features
9
+ prompt: Analyze and document main features
10
+ required: true
11
+ subsections:
12
+ - heading: Core Features
13
+ prompt: List and describe main features
14
+ required: true
15
+
16
+ - heading: API Endpoints
17
+ prompt: Document API routes and endpoints
18
+ required: false
19
+
20
+ - heading: Authentication
21
+ prompt: Describe authentication and authorization
22
+ required: false
23
+
24
+ - heading: User Interface
25
+ prompt: Describe main UI components and pages
26
+ required: false
27
+
28
+ - heading: Data Management
29
+ prompt: Explain data handling and storage
30
+ required: false
31
+
32
+ - heading: Integration Points
33
+ prompt: Identify external integrations
34
+ required: false
35
+
36
+ - heading: User Flows
37
+ prompt: Describe main user workflows
38
+ required: false
@@ -0,0 +1,42 @@
1
+ name: stack-project
2
+ category: tech
3
+ outputFile: stack-project.md
4
+ description: Complete technology stack analysis
5
+ analyzer: StackAnalyzer
6
+
7
+ sections:
8
+ - heading: Technology Stack
9
+ prompt: Analyze the complete technology stack
10
+ required: true
11
+ subsections:
12
+ - heading: Core Technologies
13
+ prompt: List main technologies (framework, language, runtime)
14
+ required: true
15
+
16
+ - heading: Production Dependencies
17
+ prompt: List and explain production dependencies
18
+ required: true
19
+
20
+ - heading: Development Dependencies
21
+ prompt: List and explain development dependencies
22
+ required: true
23
+
24
+ - heading: Database
25
+ prompt: Identify database technology and ORM
26
+ required: false
27
+
28
+ - heading: Build Tools
29
+ prompt: Identify build and bundling tools
30
+ required: true
31
+
32
+ - heading: Testing Framework
33
+ prompt: Identify testing tools and frameworks
34
+ required: false
35
+
36
+ - heading: Deployment
37
+ prompt: Describe deployment configuration
38
+ required: false
39
+
40
+ - heading: Environment Setup
41
+ prompt: Explain development environment requirements
42
+ required: true