mycontext-cli 2.0.2 → 2.0.3

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 (42) hide show
  1. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  2. package/dist/agents/implementations/CodeGenSubAgent.js +69 -0
  3. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  4. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  5. package/dist/agents/implementations/PromptConstructorAgent.js +23 -0
  6. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  7. package/dist/cli.js +11 -2
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/health-check.d.ts +28 -0
  10. package/dist/commands/health-check.d.ts.map +1 -0
  11. package/dist/commands/health-check.js +271 -0
  12. package/dist/commands/health-check.js.map +1 -0
  13. package/dist/package.json +1 -1
  14. package/dist/utils/NextJSProjectGenerator.d.ts +70 -0
  15. package/dist/utils/NextJSProjectGenerator.d.ts.map +1 -0
  16. package/dist/utils/NextJSProjectGenerator.js +811 -0
  17. package/dist/utils/NextJSProjectGenerator.js.map +1 -0
  18. package/dist/utils/NextJSProjectValidator.d.ts +103 -0
  19. package/dist/utils/NextJSProjectValidator.d.ts.map +1 -0
  20. package/dist/utils/NextJSProjectValidator.js +759 -0
  21. package/dist/utils/NextJSProjectValidator.js.map +1 -0
  22. package/dist/utils/PreCommandValidator.d.ts +77 -0
  23. package/dist/utils/PreCommandValidator.d.ts.map +1 -0
  24. package/dist/utils/PreCommandValidator.js +251 -0
  25. package/dist/utils/PreCommandValidator.js.map +1 -0
  26. package/dist/utils/ProjectHealthMonitor.d.ts +131 -0
  27. package/dist/utils/ProjectHealthMonitor.d.ts.map +1 -0
  28. package/dist/utils/ProjectHealthMonitor.js +454 -0
  29. package/dist/utils/ProjectHealthMonitor.js.map +1 -0
  30. package/dist/utils/ProjectInitializationSafeguards.d.ts +81 -0
  31. package/dist/utils/ProjectInitializationSafeguards.d.ts.map +1 -0
  32. package/dist/utils/ProjectInitializationSafeguards.js +620 -0
  33. package/dist/utils/ProjectInitializationSafeguards.js.map +1 -0
  34. package/dist/utils/ProjectStructureRepair.d.ts +110 -0
  35. package/dist/utils/ProjectStructureRepair.d.ts.map +1 -0
  36. package/dist/utils/ProjectStructureRepair.js +785 -0
  37. package/dist/utils/ProjectStructureRepair.js.map +1 -0
  38. package/dist/utils/ProjectStructureValidator.d.ts +128 -0
  39. package/dist/utils/ProjectStructureValidator.d.ts.map +1 -0
  40. package/dist/utils/ProjectStructureValidator.js +662 -0
  41. package/dist/utils/ProjectStructureValidator.js.map +1 -0
  42. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/commands/health-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAA4B;;IAM7C,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAoB1B,GAAG,CAAC,OAAO,EAAE;QACjB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDjB,OAAO,CAAC,cAAc;YAoGR,aAAa;YAgCb,cAAc;CAqB7B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB9C"}
@@ -0,0 +1,271 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.HealthCheckCommand = void 0;
40
+ exports.quickHealthCheck = quickHealthCheck;
41
+ exports.healthCheckWithFix = healthCheckWithFix;
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const ProjectStructureValidator_1 = require("../utils/ProjectStructureValidator");
44
+ const PreCommandValidator_1 = require("../utils/PreCommandValidator");
45
+ const fs = __importStar(require("fs-extra"));
46
+ const path = __importStar(require("path"));
47
+ class HealthCheckCommand {
48
+ constructor() {
49
+ this.validator = new ProjectStructureValidator_1.ProjectStructureValidator();
50
+ }
51
+ register(program) {
52
+ const healthCheckCommand = program
53
+ .command("health-check")
54
+ .description("Check and fix project structure issues")
55
+ .option("-f, --fix", "Automatically fix issues where possible")
56
+ .option("-r, --report", "Generate detailed health report")
57
+ .option("-s, --strict", "Enable strict mode (block commands on issues)")
58
+ .option("-o, --output <file>", "Output report to file")
59
+ .option("--no-auto-fix", "Disable automatic fixing")
60
+ .action(async (options) => {
61
+ await this.run(options);
62
+ });
63
+ // Add validation hook to this command itself
64
+ PreCommandValidator_1.PreCommandValidator.addValidationHook(healthCheckCommand, {
65
+ autoFix: false,
66
+ strict: false,
67
+ });
68
+ }
69
+ async run(options) {
70
+ console.log(chalk_1.default.blue("🏥 MyContext Project Health Check"));
71
+ console.log(chalk_1.default.blue("================================\n"));
72
+ try {
73
+ // Run validation
74
+ const report = await this.validator.validate();
75
+ // Display results
76
+ this.displayResults(report, options);
77
+ // Auto-fix if requested
78
+ if (options.fix || options.autoFix !== false) {
79
+ await this.handleAutoFix(report, options);
80
+ }
81
+ // Generate report if requested
82
+ if (options.report || options.output) {
83
+ await this.generateReport(report, options);
84
+ }
85
+ // Set global validation settings
86
+ if (options.strict !== undefined) {
87
+ const { GlobalValidationSettings } = await Promise.resolve().then(() => __importStar(require("../utils/PreCommandValidator")));
88
+ const settings = GlobalValidationSettings.getInstance();
89
+ settings.setStrictMode(options.strict);
90
+ console.log(chalk_1.default.blue(`\n🔧 Global strict mode: ${options.strict ? "enabled" : "disabled"}`));
91
+ }
92
+ // Exit with appropriate code
93
+ if (!report.isValid && options.strict) {
94
+ console.log(chalk_1.default.red("\n❌ Health check failed in strict mode"));
95
+ process.exit(1);
96
+ }
97
+ else if (!report.isValid) {
98
+ console.log(chalk_1.default.yellow("\n⚠️ Health check completed with warnings"));
99
+ process.exit(0);
100
+ }
101
+ else {
102
+ console.log(chalk_1.default.green("\n✅ Health check passed"));
103
+ process.exit(0);
104
+ }
105
+ }
106
+ catch (error) {
107
+ console.log(chalk_1.default.red(`❌ Health check failed: ${error}`));
108
+ process.exit(1);
109
+ }
110
+ }
111
+ displayResults(report, options) {
112
+ console.log(chalk_1.default.blue("📊 Project Metrics:"));
113
+ console.log(` Package files: ${report.metrics.packageJsonCount}`);
114
+ console.log(` Node modules: ${report.metrics.nodeModulesCount}`);
115
+ console.log(` Lock files: ${report.metrics.lockFileCount}`);
116
+ console.log(` TypeScript configs: ${report.metrics.tsConfigCount}`);
117
+ console.log(` Build configs: ${report.metrics.buildConfigCount}`);
118
+ console.log(` Project depth: ${report.metrics.projectDepth}`);
119
+ // Next.js specific metrics
120
+ if (report.nextjsCompliant !== undefined) {
121
+ console.log(` Next.js App Router: ${report.nextjsCompliant ? chalk_1.default.green("✅ Compliant") : chalk_1.default.red("❌ Issues")}`);
122
+ }
123
+ if (report.shadcnCompliant !== undefined) {
124
+ console.log(` shadcn/ui Integration: ${report.shadcnCompliant ? chalk_1.default.green("✅ Compliant") : chalk_1.default.red("❌ Issues")}`);
125
+ }
126
+ console.log();
127
+ console.log(chalk_1.default.blue("🏥 Health Status:"));
128
+ if (report.isValid) {
129
+ console.log(chalk_1.default.green(" ✅ HEALTHY - No issues found"));
130
+ }
131
+ else {
132
+ console.log(chalk_1.default.red(` ❌ NEEDS ATTENTION - ${report.issues.length} issues found`));
133
+ }
134
+ if (report.issues.length > 0) {
135
+ console.log(chalk_1.default.blue("\n🚨 Issues Found:"));
136
+ const criticalIssues = report.issues.filter((issue) => issue.severity === "critical");
137
+ const highIssues = report.issues.filter((issue) => issue.severity === "high");
138
+ const mediumIssues = report.issues.filter((issue) => issue.severity === "medium");
139
+ const lowIssues = report.issues.filter((issue) => issue.severity === "low");
140
+ if (criticalIssues.length > 0) {
141
+ console.log(chalk_1.default.red("\n Critical Issues:"));
142
+ criticalIssues.forEach((issue) => {
143
+ console.log(chalk_1.default.red(` ❌ ${issue.message}`));
144
+ if (issue.file)
145
+ console.log(chalk_1.default.gray(` File: ${issue.file}`));
146
+ if (issue.fix)
147
+ console.log(chalk_1.default.gray(` Fix: ${issue.fix}`));
148
+ });
149
+ }
150
+ if (highIssues.length > 0) {
151
+ console.log(chalk_1.default.red("\n High Priority Issues:"));
152
+ highIssues.forEach((issue) => {
153
+ console.log(chalk_1.default.red(` ⚠️ ${issue.message}`));
154
+ if (issue.file)
155
+ console.log(chalk_1.default.gray(` File: ${issue.file}`));
156
+ if (issue.fix)
157
+ console.log(chalk_1.default.gray(` Fix: ${issue.fix}`));
158
+ });
159
+ }
160
+ if (mediumIssues.length > 0) {
161
+ console.log(chalk_1.default.yellow("\n Medium Priority Issues:"));
162
+ mediumIssues.forEach((issue) => {
163
+ console.log(chalk_1.default.yellow(` ⚠️ ${issue.message}`));
164
+ if (issue.file)
165
+ console.log(chalk_1.default.gray(` File: ${issue.file}`));
166
+ if (issue.fix)
167
+ console.log(chalk_1.default.gray(` Fix: ${issue.fix}`));
168
+ });
169
+ }
170
+ if (lowIssues.length > 0) {
171
+ console.log(chalk_1.default.blue("\n Low Priority Issues:"));
172
+ lowIssues.forEach((issue) => {
173
+ console.log(chalk_1.default.blue(` ℹ️ ${issue.message}`));
174
+ if (issue.file)
175
+ console.log(chalk_1.default.gray(` File: ${issue.file}`));
176
+ if (issue.fix)
177
+ console.log(chalk_1.default.gray(` Fix: ${issue.fix}`));
178
+ });
179
+ }
180
+ }
181
+ if (report.recommendations.length > 0) {
182
+ console.log(chalk_1.default.blue("\n💡 Recommendations:"));
183
+ report.recommendations.forEach((rec) => {
184
+ console.log(chalk_1.default.blue(` • ${rec}`));
185
+ });
186
+ }
187
+ console.log(chalk_1.default.blue(`\n🔧 Auto-fix available: ${report.autoFixable ? "Yes" : "No"}`));
188
+ }
189
+ async handleAutoFix(report, options) {
190
+ if (!report.autoFixable) {
191
+ console.log(chalk_1.default.yellow("\n⚠️ No auto-fixable issues found"));
192
+ return;
193
+ }
194
+ console.log(chalk_1.default.blue("\n🔧 Attempting to auto-fix issues..."));
195
+ try {
196
+ const fixResult = await this.validator.autoFix();
197
+ if (fixResult.fixed > 0) {
198
+ console.log(chalk_1.default.green(`✅ Successfully fixed ${fixResult.fixed} issues`));
199
+ }
200
+ if (fixResult.failed > 0) {
201
+ console.log(chalk_1.default.red(`❌ Failed to fix ${fixResult.failed} issues:`));
202
+ fixResult.errors.forEach((error) => {
203
+ console.log(chalk_1.default.red(` ${error}`));
204
+ });
205
+ }
206
+ if (fixResult.fixed === 0 && fixResult.failed === 0) {
207
+ console.log(chalk_1.default.yellow("ℹ️ No issues were auto-fixable"));
208
+ }
209
+ }
210
+ catch (error) {
211
+ console.log(chalk_1.default.red(`❌ Auto-fix failed: ${error}`));
212
+ }
213
+ }
214
+ async generateReport(report, options) {
215
+ try {
216
+ const reportContent = await this.validator.generateHealthReport();
217
+ if (options.output) {
218
+ const outputPath = path.resolve(options.output);
219
+ await fs.writeFile(outputPath, reportContent);
220
+ console.log(chalk_1.default.green(`\n📄 Health report saved to: ${outputPath}`));
221
+ }
222
+ else {
223
+ const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
224
+ const reportPath = path.join(process.cwd(), `health-report-${timestamp}.md`);
225
+ await fs.writeFile(reportPath, reportContent);
226
+ console.log(chalk_1.default.green(`\n📄 Health report saved to: ${reportPath}`));
227
+ }
228
+ }
229
+ catch (error) {
230
+ console.log(chalk_1.default.red(`❌ Failed to generate report: ${error}`));
231
+ }
232
+ }
233
+ }
234
+ exports.HealthCheckCommand = HealthCheckCommand;
235
+ /**
236
+ * Quick health check function for programmatic use
237
+ */
238
+ async function quickHealthCheck(projectRoot) {
239
+ try {
240
+ const validator = new ProjectStructureValidator_1.ProjectStructureValidator(projectRoot);
241
+ const report = await validator.validate();
242
+ return report.isValid;
243
+ }
244
+ catch (error) {
245
+ console.error(`Health check failed: ${error}`);
246
+ return false;
247
+ }
248
+ }
249
+ /**
250
+ * Health check with auto-fix
251
+ */
252
+ async function healthCheckWithFix(projectRoot) {
253
+ try {
254
+ const validator = new ProjectStructureValidator_1.ProjectStructureValidator(projectRoot);
255
+ const report = await validator.validate();
256
+ if (report.isValid) {
257
+ return { healthy: true, fixed: 0 };
258
+ }
259
+ if (report.autoFixable) {
260
+ const fixResult = await validator.autoFix();
261
+ const newReport = await validator.validate();
262
+ return { healthy: newReport.isValid, fixed: fixResult.fixed };
263
+ }
264
+ return { healthy: false, fixed: 0 };
265
+ }
266
+ catch (error) {
267
+ console.error(`Health check with fix failed: ${error}`);
268
+ return { healthy: false, fixed: 0 };
269
+ }
270
+ }
271
+ //# sourceMappingURL=health-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../src/commands/health-check.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mycontext-cli",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "MyContext CLI - AI-powered full-stack application generator with complete architecture generation, server actions, Next.js 15 App Router, and self-documenting components",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -0,0 +1,70 @@
1
+ export interface NextJSProjectOptions {
2
+ projectName: string;
3
+ projectPath: string;
4
+ withShadcn: boolean;
5
+ withTailwind: boolean;
6
+ withTypeScript: boolean;
7
+ withESLint: boolean;
8
+ withAppRouter: boolean;
9
+ withLayouts: boolean;
10
+ withComponents: boolean;
11
+ }
12
+ export interface GeneratedFile {
13
+ path: string;
14
+ content: string;
15
+ type: "file" | "directory";
16
+ }
17
+ export declare class NextJSProjectGenerator {
18
+ private projectRoot;
19
+ private options;
20
+ constructor(options: NextJSProjectOptions);
21
+ /**
22
+ * Generate complete Next.js project structure
23
+ */
24
+ generateProject(): Promise<GeneratedFile[]>;
25
+ /**
26
+ * Create basic project structure
27
+ */
28
+ private createBasicStructure;
29
+ /**
30
+ * Generate package.json
31
+ */
32
+ private generatePackageJson;
33
+ /**
34
+ * Generate Next.js configuration
35
+ */
36
+ private generateNextJSConfig;
37
+ /**
38
+ * Generate TypeScript configuration
39
+ */
40
+ private generateTypeScriptConfig;
41
+ /**
42
+ * Generate Tailwind CSS configuration
43
+ */
44
+ private generateTailwindConfig;
45
+ /**
46
+ * Generate App Router structure
47
+ */
48
+ private generateAppRouterStructure;
49
+ /**
50
+ * Generate shadcn/ui configuration
51
+ */
52
+ private generateShadcnConfig;
53
+ /**
54
+ * Generate component structure
55
+ */
56
+ private generateComponentStructure;
57
+ /**
58
+ * Generate layout structure
59
+ */
60
+ private generateLayoutStructure;
61
+ /**
62
+ * Generate utility files
63
+ */
64
+ private generateUtilityFiles;
65
+ /**
66
+ * Generate .gitignore content
67
+ */
68
+ private generateGitignoreContent;
69
+ }
70
+ //# sourceMappingURL=NextJSProjectGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NextJSProjectGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/NextJSProjectGenerator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,EAAE,oBAAoB;IAKzC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA6DjD;;OAEG;YACW,oBAAoB;IAwClC;;OAEG;YACW,mBAAmB;IAsDjC;;OAEG;YACW,oBAAoB;IAkClC;;OAEG;YACW,wBAAwB;IA6CtC;;OAEG;YACW,sBAAsB;IAyGpC;;OAEG;YACW,0BAA0B;IA0JxC;;OAEG;YACW,oBAAoB;IAmClC;;OAEG;YACW,0BAA0B;IAqFxC;;OAEG;YACW,uBAAuB;IA0ErC;;OAEG;YACW,oBAAoB;IA2ClC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CA0GjC"}