mycontext-cli 4.2.0 โ 4.2.2
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/README.md +128 -133
- package/dist/README.md +128 -133
- package/dist/cli.js +76 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.d.ts +18 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +53 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +99 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/core/brain/BrainClient.d.ts +2 -0
- package/dist/core/brain/BrainClient.d.ts.map +1 -1
- package/dist/core/brain/BrainClient.js +19 -0
- package/dist/core/brain/BrainClient.js.map +1 -1
- package/dist/doctor/DoctorEngine.d.ts +5 -0
- package/dist/doctor/DoctorEngine.d.ts.map +1 -0
- package/dist/doctor/DoctorEngine.js +491 -0
- package/dist/doctor/DoctorEngine.js.map +1 -0
- package/dist/doctor/api.d.ts +4 -0
- package/dist/doctor/api.d.ts.map +1 -0
- package/dist/doctor/api.js +19 -0
- package/dist/doctor/api.js.map +1 -0
- package/dist/doctor/rules/dead-code-rules.d.ts +3 -0
- package/dist/doctor/rules/dead-code-rules.d.ts.map +1 -0
- package/dist/doctor/rules/dead-code-rules.js +269 -0
- package/dist/doctor/rules/dead-code-rules.js.map +1 -0
- package/dist/doctor/rules/index.d.ts +11 -0
- package/dist/doctor/rules/index.d.ts.map +1 -0
- package/dist/doctor/rules/index.js +21 -0
- package/dist/doctor/rules/index.js.map +1 -0
- package/dist/doctor/rules/nextjs-rules.d.ts +3 -0
- package/dist/doctor/rules/nextjs-rules.d.ts.map +1 -0
- package/dist/doctor/rules/nextjs-rules.js +357 -0
- package/dist/doctor/rules/nextjs-rules.js.map +1 -0
- package/dist/doctor/rules/node-rules.d.ts +3 -0
- package/dist/doctor/rules/node-rules.d.ts.map +1 -0
- package/dist/doctor/rules/node-rules.js +290 -0
- package/dist/doctor/rules/node-rules.js.map +1 -0
- package/dist/doctor/rules/turbo-rules.d.ts +3 -0
- package/dist/doctor/rules/turbo-rules.d.ts.map +1 -0
- package/dist/doctor/rules/turbo-rules.js +215 -0
- package/dist/doctor/rules/turbo-rules.js.map +1 -0
- package/dist/doctor/types.d.ts +87 -0
- package/dist/doctor/types.d.ts.map +1 -0
- package/dist/doctor/types.js +6 -0
- package/dist/doctor/types.js.map +1 -0
- package/dist/package.json +4 -4
- package/dist/services/ContextSyncer.d.ts +40 -0
- package/dist/services/ContextSyncer.d.ts.map +1 -0
- package/dist/services/ContextSyncer.js +219 -0
- package/dist/services/ContextSyncer.js.map +1 -0
- package/dist/services/ProjectScanner.d.ts +74 -0
- package/dist/services/ProjectScanner.d.ts.map +1 -0
- package/dist/services/ProjectScanner.js +343 -0
- package/dist/services/ProjectScanner.js.map +1 -0
- package/dist/services/ScaffoldAgent.d.ts +35 -0
- package/dist/services/ScaffoldAgent.d.ts.map +1 -0
- package/dist/services/ScaffoldAgent.js +228 -0
- package/dist/services/ScaffoldAgent.js.map +1 -0
- package/dist/tui/PlanningMode.d.ts +42 -0
- package/dist/tui/PlanningMode.d.ts.map +1 -0
- package/dist/tui/PlanningMode.js +401 -0
- package/dist/tui/PlanningMode.js.map +1 -0
- package/dist/tui/TUIClient.d.ts +20 -0
- package/dist/tui/TUIClient.d.ts.map +1 -0
- package/dist/tui/TUIClient.js +50 -0
- package/dist/tui/TUIClient.js.map +1 -0
- package/dist/types/mega-context.d.ts +118 -0
- package/dist/types/mega-context.d.ts.map +1 -0
- package/dist/types/mega-context.js +3 -0
- package/dist/types/mega-context.js.map +1 -0
- package/dist/types/tui.d.ts +29 -0
- package/dist/types/tui.d.ts.map +1 -0
- package/dist/types/tui.js +8 -0
- package/dist/types/tui.js.map +1 -0
- package/dist/types/unified-context.d.ts +102 -0
- package/dist/types/unified-context.d.ts.map +1 -0
- package/dist/types/unified-context.js +50 -0
- package/dist/types/unified-context.js.map +1 -0
- package/dist/utils/FileGenerator.d.ts +5 -0
- package/dist/utils/FileGenerator.d.ts.map +1 -1
- package/dist/utils/FileGenerator.js +48 -0
- package/dist/utils/FileGenerator.js.map +1 -1
- package/dist/utils/deepMerge.d.ts +14 -0
- package/dist/utils/deepMerge.d.ts.map +1 -0
- package/dist/utils/deepMerge.js +87 -0
- package/dist/utils/deepMerge.js.map +1 -0
- package/dist/utils/fileSystem.d.ts.map +1 -1
- package/dist/utils/fileSystem.js +32 -4
- package/dist/utils/fileSystem.js.map +1 -1
- package/package.json +24 -22
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/types/tui.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,aAAa,EAAE;QACb,mBAAmB,EAAE,OAAO,CAAC;QAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAGD,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,MAAM,GACN,OAAO,GACP,SAAS,GACT,WAAW,GACX,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/types/tui.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Context โ Single Source of Truth
|
|
3
|
+
*
|
|
4
|
+
* Merges the best of MegaContext (typed, deterministic scaffolding)
|
|
5
|
+
* with Brain (narrative, registry, scan memory, checkpoints).
|
|
6
|
+
*
|
|
7
|
+
* context.json can contain ANY combination of these sections.
|
|
8
|
+
* PlanningMode and ContextSyncer work with whatever sections are present.
|
|
9
|
+
*/
|
|
10
|
+
import { ProjectConfig } from "./index";
|
|
11
|
+
import { MegaContext } from "./mega-context";
|
|
12
|
+
export interface BrainSection {
|
|
13
|
+
version?: string;
|
|
14
|
+
narrative?: string;
|
|
15
|
+
status?: string;
|
|
16
|
+
checkpoints?: Checkpoint[];
|
|
17
|
+
updates?: any[];
|
|
18
|
+
tasks?: any[];
|
|
19
|
+
artifacts?: Record<string, any>;
|
|
20
|
+
memory?: Record<string, any>;
|
|
21
|
+
registry?: ComponentRegistry;
|
|
22
|
+
}
|
|
23
|
+
export interface Checkpoint {
|
|
24
|
+
id: string;
|
|
25
|
+
label: string;
|
|
26
|
+
status: "complete" | "in-progress" | "planned";
|
|
27
|
+
}
|
|
28
|
+
export interface RegisteredComponent {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
path: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ComponentRegistry {
|
|
34
|
+
components: RegisteredComponent[];
|
|
35
|
+
}
|
|
36
|
+
export interface ArchitectureSection {
|
|
37
|
+
type?: string;
|
|
38
|
+
packages?: Record<string, PackageInfo>;
|
|
39
|
+
}
|
|
40
|
+
export interface PackageInfo {
|
|
41
|
+
name?: string;
|
|
42
|
+
version?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
entrypoint?: string;
|
|
45
|
+
techStack?: string[];
|
|
46
|
+
modules?: Record<string, any>;
|
|
47
|
+
exports?: string[];
|
|
48
|
+
}
|
|
49
|
+
export interface CapabilitiesSection {
|
|
50
|
+
[key: string]: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The context.json file can contain any mix of these sections.
|
|
54
|
+
* MegaContext fields are used for fresh scaffold projects.
|
|
55
|
+
* Brain fields are used for existing/scanned projects.
|
|
56
|
+
* Both can coexist.
|
|
57
|
+
*/
|
|
58
|
+
export interface UnifiedContext {
|
|
59
|
+
brain?: BrainSection;
|
|
60
|
+
architecture?: ArchitectureSection;
|
|
61
|
+
capabilities?: CapabilitiesSection;
|
|
62
|
+
project?: ProjectConfig & {
|
|
63
|
+
framework?: string;
|
|
64
|
+
backend?: string;
|
|
65
|
+
styling?: string;
|
|
66
|
+
type?: string;
|
|
67
|
+
techStack?: string[];
|
|
68
|
+
targetStack?: string[];
|
|
69
|
+
};
|
|
70
|
+
topLevelDesign?: MegaContext["topLevelDesign"];
|
|
71
|
+
auth?: MegaContext["auth"];
|
|
72
|
+
database?: MegaContext["database"];
|
|
73
|
+
routing?: MegaContext["routing"];
|
|
74
|
+
globalState?: MegaContext["globalState"];
|
|
75
|
+
experiments?: string[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Helper: Extract human-readable summary from any context shape
|
|
79
|
+
*/
|
|
80
|
+
export declare function getContextSummary(ctx: UnifiedContext): {
|
|
81
|
+
name: string;
|
|
82
|
+
description: string;
|
|
83
|
+
entities: string[];
|
|
84
|
+
routes: string[];
|
|
85
|
+
roles: string[];
|
|
86
|
+
components: RegisteredComponent[];
|
|
87
|
+
checkpoints: Checkpoint[];
|
|
88
|
+
capabilities: string[];
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Helper: Check if context has MegaContext fields (scaffold-ready)
|
|
92
|
+
*/
|
|
93
|
+
export declare function isMegaContext(ctx: UnifiedContext): ctx is UnifiedContext & {
|
|
94
|
+
database: any;
|
|
95
|
+
routing: any;
|
|
96
|
+
auth: any;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Helper: Check if context has Brain fields (scanned project)
|
|
100
|
+
*/
|
|
101
|
+
export declare function isBrainContext(ctx: UnifiedContext): boolean;
|
|
102
|
+
//# sourceMappingURL=unified-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-context.d.ts","sourceRoot":"","sources":["../../src/types/unified-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified Context โ Single Source of Truth
|
|
4
|
+
*
|
|
5
|
+
* Merges the best of MegaContext (typed, deterministic scaffolding)
|
|
6
|
+
* with Brain (narrative, registry, scan memory, checkpoints).
|
|
7
|
+
*
|
|
8
|
+
* context.json can contain ANY combination of these sections.
|
|
9
|
+
* PlanningMode and ContextSyncer work with whatever sections are present.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getContextSummary = getContextSummary;
|
|
13
|
+
exports.isMegaContext = isMegaContext;
|
|
14
|
+
exports.isBrainContext = isBrainContext;
|
|
15
|
+
/**
|
|
16
|
+
* Helper: Extract human-readable summary from any context shape
|
|
17
|
+
*/
|
|
18
|
+
function getContextSummary(ctx) {
|
|
19
|
+
return {
|
|
20
|
+
name: ctx.project?.name || ctx.brain?.narrative?.split(".")[0] || "Unknown",
|
|
21
|
+
description: ctx.project?.description || ctx.brain?.narrative || "",
|
|
22
|
+
entities: ctx.database?.entities
|
|
23
|
+
? Object.keys(ctx.database.entities)
|
|
24
|
+
: [],
|
|
25
|
+
routes: ctx.routing?.routes
|
|
26
|
+
? Object.keys(ctx.routing.routes)
|
|
27
|
+
: [],
|
|
28
|
+
roles: ctx.auth?.roles
|
|
29
|
+
? ctx.auth.roles.map((r) => r.name)
|
|
30
|
+
: [],
|
|
31
|
+
components: ctx.brain?.registry?.components || [],
|
|
32
|
+
checkpoints: ctx.brain?.checkpoints || [],
|
|
33
|
+
capabilities: ctx.capabilities
|
|
34
|
+
? Object.keys(ctx.capabilities)
|
|
35
|
+
: [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Helper: Check if context has MegaContext fields (scaffold-ready)
|
|
40
|
+
*/
|
|
41
|
+
function isMegaContext(ctx) {
|
|
42
|
+
return !!ctx.database?.entities && !!ctx.routing?.routes && !!ctx.auth?.roles;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Helper: Check if context has Brain fields (scanned project)
|
|
46
|
+
*/
|
|
47
|
+
function isBrainContext(ctx) {
|
|
48
|
+
return !!ctx.brain?.narrative || !!ctx.brain?.registry || !!ctx.architecture;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=unified-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-context.js","sourceRoot":"","sources":["../../src/types/unified-context.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAmGH,8CA4BC;AAKD,sCAEC;AAKD,wCAEC;AA7CD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,GAAmB;IAUnD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;QAC3E,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE;QACnE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpC,CAAC,CAAC,EAAE;QACN,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,EAAE;QACN,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK;YACpB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,EAAE;QACN,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,IAAI,EAAE;QACjD,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE;QACzC,YAAY,EAAE,GAAG,CAAC,YAAY;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YAC/B,CAAC,CAAC,EAAE;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,GAAmB;IAC/C,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAmB;IAChD,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;AAC/E,CAAC"}
|
|
@@ -2,7 +2,12 @@ import { AICore } from '../core/ai/AICore';
|
|
|
2
2
|
export declare class FileGenerator {
|
|
3
3
|
private aiCore;
|
|
4
4
|
private projectRoot;
|
|
5
|
+
private brainClient;
|
|
5
6
|
constructor(aiCore: AICore, projectRoot?: string);
|
|
7
|
+
/**
|
|
8
|
+
* Walk up directory tree to find the workspace root (contains .mycontext/)
|
|
9
|
+
*/
|
|
10
|
+
private findWorkspaceRoot;
|
|
6
11
|
generateFile(relativePath: string, prompt: string, context?: string): Promise<string>;
|
|
7
12
|
private needsUseClient;
|
|
8
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/FileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"FileGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/FileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAsB;IAO/D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAanB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoF3F,OAAO,CAAC,cAAc;CAiBvB"}
|
|
@@ -39,16 +39,59 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.FileGenerator = void 0;
|
|
40
40
|
const fs = __importStar(require("fs-extra"));
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
|
+
const BrainClient_1 = require("../core/brain/BrainClient");
|
|
42
43
|
const chalk_1 = __importDefault(require("chalk"));
|
|
43
44
|
class FileGenerator {
|
|
44
45
|
constructor(aiCore, projectRoot = process.cwd()) {
|
|
45
46
|
this.aiCore = aiCore;
|
|
46
47
|
this.projectRoot = projectRoot;
|
|
48
|
+
// Walk up to find workspace root (directory containing .mycontext/)
|
|
49
|
+
this.brainClient = BrainClient_1.BrainClient.getInstance(this.findWorkspaceRoot(projectRoot));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Walk up directory tree to find the workspace root (contains .mycontext/)
|
|
53
|
+
*/
|
|
54
|
+
findWorkspaceRoot(startDir) {
|
|
55
|
+
let dir = startDir;
|
|
56
|
+
for (let i = 0; i < 10; i++) { // max 10 levels up
|
|
57
|
+
if (fs.existsSync(path.join(dir, '.mycontext'))) {
|
|
58
|
+
return dir;
|
|
59
|
+
}
|
|
60
|
+
const parent = path.dirname(dir);
|
|
61
|
+
if (parent === dir)
|
|
62
|
+
break; // reached filesystem root
|
|
63
|
+
dir = parent;
|
|
64
|
+
}
|
|
65
|
+
return startDir; // fallback to project root
|
|
47
66
|
}
|
|
48
67
|
async generateFile(relativePath, prompt, context) {
|
|
49
68
|
const filePath = path.join(this.projectRoot, relativePath);
|
|
50
69
|
const exists = await fs.pathExists(filePath);
|
|
51
70
|
let fullPrompt = prompt;
|
|
71
|
+
// Phase 11: Lego Assembly - Search Registry
|
|
72
|
+
const registry = await this.brainClient.getRegistry();
|
|
73
|
+
const relevantPieces = registry.components.filter(c => {
|
|
74
|
+
const nameMatch = prompt.toLowerCase().includes(c.name.toLowerCase());
|
|
75
|
+
const descMatch = c.description.toLowerCase().split(' ').some(word => word.length > 3 && prompt.toLowerCase().includes(word.toLowerCase()));
|
|
76
|
+
return nameMatch || descMatch;
|
|
77
|
+
});
|
|
78
|
+
if (relevantPieces.length > 0) {
|
|
79
|
+
console.log(chalk_1.default.cyan(`๐งฉ Lego Pieces Found: ${relevantPieces.map(p => p.name).join(', ')}`));
|
|
80
|
+
let piecesContext = "\n\nRELEVANT LEGO PIECES (Reuse patterns/styles from these):\n";
|
|
81
|
+
for (const piece of relevantPieces) {
|
|
82
|
+
try {
|
|
83
|
+
// Find full path to piece (registry stores relative or absolute, we need to be careful)
|
|
84
|
+
// Assuming registry.path is relative to workspace root or project root.
|
|
85
|
+
// For now, let's try to read it.
|
|
86
|
+
const pieceContent = await fs.readFile(path.join(this.projectRoot, piece.path), 'utf-8');
|
|
87
|
+
piecesContext += `File: ${piece.path}\nContent:\n\`\`\`tsx\n${pieceContent}\n\`\`\`\n`;
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
// Ignore if file missing
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
fullPrompt += piecesContext;
|
|
94
|
+
}
|
|
52
95
|
if (exists) {
|
|
53
96
|
const existingContent = await fs.readFile(filePath, 'utf-8');
|
|
54
97
|
console.log(chalk_1.default.yellow(`๐ Updating existing file: ${relativePath}`));
|
|
@@ -63,6 +106,8 @@ class FileGenerator {
|
|
|
63
106
|
INSTRUCTIONS:
|
|
64
107
|
${prompt}
|
|
65
108
|
|
|
109
|
+
${relevantPieces.length > 0 ? 'REUSE PATTERNS FROM LEGO PIECES ABOVE.' : ''}
|
|
110
|
+
|
|
66
111
|
IMPORTANT: Return the FULL updated file content. Do not return a diff.
|
|
67
112
|
`;
|
|
68
113
|
}
|
|
@@ -83,6 +128,9 @@ class FileGenerator {
|
|
|
83
128
|
}
|
|
84
129
|
await fs.ensureDir(path.dirname(filePath));
|
|
85
130
|
await fs.writeFile(filePath, code);
|
|
131
|
+
// Phase 11: Auto-Register in Living DB
|
|
132
|
+
const fileName = path.basename(relativePath);
|
|
133
|
+
await this.brainClient.registerComponent(fileName, `Generated component for: ${prompt.substring(0, 100)}...`, relativePath);
|
|
86
134
|
return code;
|
|
87
135
|
}
|
|
88
136
|
needsUseClient(code) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileGenerator.js","sourceRoot":"","sources":["../../src/utils/FileGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAC/B,2CAA6B;AAE7B,kDAA0B;AAE1B,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"FileGenerator.js","sourceRoot":"","sources":["../../src/utils/FileGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep Merge Utility for MyContext
|
|
3
|
+
*
|
|
4
|
+
* Recursively merges objects. Arrays are concatenated (with dedup by 'name' or 'id').
|
|
5
|
+
* Used by ContextSyncer and PlanningMode to safely merge LLM suggestions into context.json.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Deep merge two objects. Source values override target values.
|
|
9
|
+
* - Objects: recursively merged
|
|
10
|
+
* - Arrays: concatenated, deduped by 'name' or 'id' field if objects
|
|
11
|
+
* - Primitives: source wins
|
|
12
|
+
*/
|
|
13
|
+
export declare function deepMerge<T extends Record<string, any>>(target: T, source: Partial<T>): T;
|
|
14
|
+
//# sourceMappingURL=deepMerge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/utils/deepMerge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAkCzF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Deep Merge Utility for MyContext
|
|
4
|
+
*
|
|
5
|
+
* Recursively merges objects. Arrays are concatenated (with dedup by 'name' or 'id').
|
|
6
|
+
* Used by ContextSyncer and PlanningMode to safely merge LLM suggestions into context.json.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.deepMerge = deepMerge;
|
|
10
|
+
/**
|
|
11
|
+
* Deep merge two objects. Source values override target values.
|
|
12
|
+
* - Objects: recursively merged
|
|
13
|
+
* - Arrays: concatenated, deduped by 'name' or 'id' field if objects
|
|
14
|
+
* - Primitives: source wins
|
|
15
|
+
*/
|
|
16
|
+
function deepMerge(target, source) {
|
|
17
|
+
if (!source || typeof source !== "object")
|
|
18
|
+
return target;
|
|
19
|
+
if (!target || typeof target !== "object")
|
|
20
|
+
return source;
|
|
21
|
+
const result = { ...target };
|
|
22
|
+
for (const key of Object.keys(source)) {
|
|
23
|
+
const targetVal = target[key];
|
|
24
|
+
const sourceVal = source[key];
|
|
25
|
+
if (sourceVal === undefined)
|
|
26
|
+
continue;
|
|
27
|
+
if (sourceVal === null) {
|
|
28
|
+
result[key] = null;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(targetVal) && Array.isArray(sourceVal)) {
|
|
32
|
+
// Merge arrays: concat + dedup by 'name' or 'id' if elements are objects
|
|
33
|
+
result[key] = mergeArrays(targetVal, sourceVal);
|
|
34
|
+
}
|
|
35
|
+
else if (typeof targetVal === "object" &&
|
|
36
|
+
!Array.isArray(targetVal) &&
|
|
37
|
+
typeof sourceVal === "object" &&
|
|
38
|
+
!Array.isArray(sourceVal)) {
|
|
39
|
+
// Recursively merge objects
|
|
40
|
+
result[key] = deepMerge(targetVal, sourceVal);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// Primitives: source wins
|
|
44
|
+
result[key] = sourceVal;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Merge two arrays. If elements are objects with 'name' or 'id' fields,
|
|
51
|
+
* dedup by that field (source wins on conflict).
|
|
52
|
+
*/
|
|
53
|
+
function mergeArrays(target, source) {
|
|
54
|
+
if (target.length === 0)
|
|
55
|
+
return [...source];
|
|
56
|
+
if (source.length === 0)
|
|
57
|
+
return [...target];
|
|
58
|
+
// Check if elements are objects with identity fields
|
|
59
|
+
const hasIdentity = (arr) => arr.length > 0 && typeof arr[0] === "object" && arr[0] !== null && ("name" in arr[0] || "id" in arr[0]);
|
|
60
|
+
if (hasIdentity(target) || hasIdentity(source)) {
|
|
61
|
+
const getKey = (item) => item.id || item.name || JSON.stringify(item);
|
|
62
|
+
const map = new Map();
|
|
63
|
+
for (const item of target) {
|
|
64
|
+
map.set(getKey(item), item);
|
|
65
|
+
}
|
|
66
|
+
for (const item of source) {
|
|
67
|
+
const key = getKey(item);
|
|
68
|
+
if (map.has(key)) {
|
|
69
|
+
// Merge existing items
|
|
70
|
+
const existing = map.get(key);
|
|
71
|
+
if (typeof existing === "object" && typeof item === "object") {
|
|
72
|
+
map.set(key, deepMerge(existing, item));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
map.set(key, item);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
map.set(key, item);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return Array.from(map.values());
|
|
83
|
+
}
|
|
84
|
+
// Primitives: concat and dedup
|
|
85
|
+
return [...new Set([...target, ...source])];
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=deepMerge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../src/utils/deepMerge.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,8BAkCC;AAxCD;;;;;GAKG;AACH,SAAgB,SAAS,CAAgC,MAAS,EAAE,MAAkB;IACpF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAW,CAAC;IAE9D,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAS,CAAC;IAEpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,SAAS,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACtC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,yEAAyE;YACzE,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;aAAM,IACL,OAAO,SAAS,KAAK,QAAQ;YAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACzB,OAAO,SAAS,KAAK,QAAQ;YAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EACzB,CAAC;YACD,4BAA4B;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,MAAa,EAAE,MAAa;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAE5C,qDAAqD;IACrD,MAAM,WAAW,GAAG,CAAC,GAAU,EAAE,EAAE,CACjC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1G,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,IAAS,EAAU,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAe,CAAC;QAEnC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,uBAAuB;gBACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,+BAA+B;IAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystem.d.ts","sourceRoot":"","sources":["../../src/utils/fileSystem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAEvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C;;OAEG;IACG,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IA0CzB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjE;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhD;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvD;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAa1E;;OAEG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAa9D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"fileSystem.d.ts","sourceRoot":"","sources":["../../src/utils/fileSystem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAEvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C;;OAEG;IACG,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IA0CzB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjE;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhD;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvD;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAa1E;;OAEG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAa9D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnE;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnD;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE;;;OAGG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW9D;;OAEG;IACG,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBjE"}
|
package/dist/utils/fileSystem.js
CHANGED
|
@@ -204,10 +204,38 @@ Any changes to code, architecture, or features MUST be synchronized with:
|
|
|
204
204
|
2. \`README.md\` (Human-facing orientation & usage)
|
|
205
205
|
|
|
206
206
|
[AI INSTRUCTION]:
|
|
207
|
-
- You are
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
|
|
207
|
+
- You are an orchestrator of the Living Brain.
|
|
208
|
+
- "Guessing" is prohibited. Align with the user's intent by clarifying requirements first.
|
|
209
|
+
- If you cannot directly edit these files, output structured JSON/Markdown snippets for the user to apply.
|
|
210
|
+
|
|
211
|
+
[PHILOSOPHY: DETERMINISTIC SCAFFOLDING]:
|
|
212
|
+
- **Next.js + InstantDB First**: We are built for Next.js full-stack projects using InstantDB as the backend.
|
|
213
|
+
- **Mega Context (100% Knowledge)**:
|
|
214
|
+
- Before ANY code is generated, the \`MegaContext\` (a comprehensive JSON state) must be 100% populated.
|
|
215
|
+
- This includes: \`Routes\`, \`Users/Permissions\`, \`Pages\`, \`Server Actions\`, \`Client Components\`, \`Database Schema\`.
|
|
216
|
+
- It does NOT matter if the user has to answer 100 questions. The goal is certainty.
|
|
217
|
+
- Once \`MegaContext\` is complete, the scaffolding script runs purely on facts, not hallucinations.
|
|
218
|
+
|
|
219
|
+
[AGENT TEAMS ARCHITECTURE]:
|
|
220
|
+
- The "Living Brain" (\`context.json\`) is the shared state ("Blackboard") that enables scalable Agent Teams.
|
|
221
|
+
- Agents do not message each other directly; they communicate by reading and writing to this shared state.
|
|
222
|
+
- ALWAYS check \`context.json\` for the latest state before acting. ALWAYS update \`context.json\` with your results.
|
|
223
|
+
|
|
224
|
+
[FRACTAL ARCHITECTURE]:
|
|
225
|
+
- **Recursive Decomposition (Top-Down)**: The \`ProblemSolver\` agent breaks large problems into smaller sub-problems until they reach a "Definite Behavior" or "Atomic UX Flow".
|
|
226
|
+
- STOP condition: The task is small enough to be executed with 100% confidence.
|
|
227
|
+
- **Nuance [UI]**: For user interfaces, a single ShadCN component or a logical group of them is considered atomic.
|
|
228
|
+
- **Atomic Assembly (Bottom-Up)**: The \`Builder\` agent constructs atomic components first, then assembles them into molecules.
|
|
229
|
+
|
|
230
|
+
[LEGO ASSEMBLY]:
|
|
231
|
+
- **Component Registry**: Every component generated is stored in the \`Living DB\` (part of \`context.json\` / \`MegaContext\`).
|
|
232
|
+
- **Semantic Retrieval**: Before generating a new component, agents search the registry for "Relevant Pieces".
|
|
233
|
+
- **Lego Prompting**: "Assemble these [Pieces] and add [New Behavior]". Ensure visual and logical consistency.
|
|
234
|
+
|
|
235
|
+
[TUI MODES]:
|
|
236
|
+
- **Planning Mode**: Chat with the user to build the \`MegaContext\`.
|
|
237
|
+
- **Agent Mode**: Execute tasks (file creation, command running) based on \`MegaContext\`.
|
|
238
|
+
- **Auto-Edit Mode**: Watch file changes or run specific refactors.
|
|
211
239
|
`;
|
|
212
240
|
}
|
|
213
241
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystem.js","sourceRoot":"","sources":["../../src/utils/fileSystem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAC7B,+BAAoC;AAGpC,MAAa,iBAAiB;IAA9B;QACmB,iBAAY,GAAG,YAAY,CAAC;QAC5B,eAAU,GAAG,YAAY,CAAC,CAAC,2CAA2C;
|
|
1
|
+
{"version":3,"file":"fileSystem.js","sourceRoot":"","sources":["../../src/utils/fileSystem.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mycontext-cli",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.2",
|
|
4
4
|
"description": "CLI tool for spec-driven development - Generate comprehensive context, visual screens, and scaffolding for AI-powered coding",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"mycontext-cli": "dist/cli.js",
|
|
8
8
|
"mycontext": "dist/cli.js"
|
|
9
9
|
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "npm run build:clean && npm run build:compile && npm run build:alias && npm run build:copy",
|
|
12
|
+
"build:clean": "rm -rf dist && ([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐งน Cleaned build directory')",
|
|
13
|
+
"build:compile": "([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐จ Compiling TypeScript...') && tsc --noEmitOnError false",
|
|
14
|
+
"build:alias": "([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐ Resolving path aliases...') && tsc-alias",
|
|
15
|
+
"build:copy": "([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐ Copying config files...') && cp -r src/config dist/ && cp -r src/templates dist/ && cp package.json dist/ && cp README.md dist/ && chmod +x dist/cli.js && ([ \"$npm_config_loglevel\" = \"silent\" ] || echo 'โ
Build complete')",
|
|
16
|
+
"dev": "ts-node src/cli.ts",
|
|
17
|
+
"start": "node dist/cli.js",
|
|
18
|
+
"watch": "tsc --watch --pretty",
|
|
19
|
+
"test": "jest --passWithNoTests",
|
|
20
|
+
"test:watch": "jest --watch --passWithNoTests",
|
|
21
|
+
"test:coverage": "jest --coverage --passWithNoTests",
|
|
22
|
+
"test:integration": "jest --testPathPattern=integration --passWithNoTests",
|
|
23
|
+
"test:unit": "jest --testPathPattern=unit --passWithNoTests",
|
|
24
|
+
"lint": "eslint src/**/*.ts --quiet",
|
|
25
|
+
"lint:fix": "eslint src/**/*.ts --fix --quiet",
|
|
26
|
+
"prepublishOnly": "echo 'Skipping tests and lint for now' && npm run build"
|
|
27
|
+
},
|
|
10
28
|
"keywords": [
|
|
11
29
|
"mycontext",
|
|
12
30
|
"mycontext-ai",
|
|
@@ -36,6 +54,7 @@
|
|
|
36
54
|
"@google/generative-ai": "^0.24.1",
|
|
37
55
|
"@huggingface/inference": "^4.11.1",
|
|
38
56
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
57
|
+
"@myycontext/core": "workspace:*",
|
|
39
58
|
"@playwright/test": "^1.58.2",
|
|
40
59
|
"@types/figlet": "^1.7.0",
|
|
41
60
|
"axios": "^1.6.0",
|
|
@@ -60,8 +79,7 @@
|
|
|
60
79
|
"sonner": "^2.0.7",
|
|
61
80
|
"unified": "^11.0.5",
|
|
62
81
|
"uuid": "^9.0.1",
|
|
63
|
-
"zod": "^3.25.76"
|
|
64
|
-
"@myycontext/core": "1.0.5"
|
|
82
|
+
"zod": "^3.25.76"
|
|
65
83
|
},
|
|
66
84
|
"devDependencies": {
|
|
67
85
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -80,28 +98,12 @@
|
|
|
80
98
|
"typescript": "^5.0.0"
|
|
81
99
|
},
|
|
82
100
|
"engines": {
|
|
83
|
-
"node": ">=18
|
|
101
|
+
"node": ">=18"
|
|
84
102
|
},
|
|
85
103
|
"files": [
|
|
86
104
|
"dist/",
|
|
87
105
|
"README.md",
|
|
88
106
|
"package.json"
|
|
89
107
|
],
|
|
90
|
-
"
|
|
91
|
-
|
|
92
|
-
"build:clean": "rm -rf dist && ([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐งน Cleaned build directory')",
|
|
93
|
-
"build:compile": "([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐จ Compiling TypeScript...') && tsc --noEmitOnError false",
|
|
94
|
-
"build:alias": "([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐ Resolving path aliases...') && tsc-alias",
|
|
95
|
-
"build:copy": "([ \"$npm_config_loglevel\" = \"silent\" ] || echo '๐ Copying config files...') && cp -r src/config dist/ && cp -r src/templates dist/ && cp package.json dist/ && cp README.md dist/ && ([ \"$npm_config_loglevel\" = \"silent\" ] || echo 'โ
Build complete')",
|
|
96
|
-
"dev": "ts-node src/cli.ts",
|
|
97
|
-
"start": "node dist/cli.js",
|
|
98
|
-
"watch": "tsc --watch --pretty",
|
|
99
|
-
"test": "jest --passWithNoTests",
|
|
100
|
-
"test:watch": "jest --watch --passWithNoTests",
|
|
101
|
-
"test:coverage": "jest --coverage --passWithNoTests",
|
|
102
|
-
"test:integration": "jest --testPathPattern=integration --passWithNoTests",
|
|
103
|
-
"test:unit": "jest --testPathPattern=unit --passWithNoTests",
|
|
104
|
-
"lint": "eslint src/**/*.ts --quiet",
|
|
105
|
-
"lint:fix": "eslint src/**/*.ts --fix --quiet"
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
+
"packageManager": "pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977"
|
|
109
|
+
}
|