mycontext-cli 4.2.21 → 4.2.22
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 +37 -4
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +96 -16
- package/dist/commands/init.js.map +1 -1
- package/dist/doctor/DoctorEngine.d.ts.map +1 -1
- package/dist/doctor/DoctorEngine.js +5 -65
- package/dist/doctor/DoctorEngine.js.map +1 -1
- package/dist/doctor/rules/cli-rules.d.ts +3 -0
- package/dist/doctor/rules/cli-rules.d.ts.map +1 -0
- package/dist/doctor/rules/cli-rules.js +57 -0
- package/dist/doctor/rules/cli-rules.js.map +1 -0
- package/dist/doctor/rules/drift-rules.d.ts +3 -0
- package/dist/doctor/rules/drift-rules.d.ts.map +1 -0
- package/dist/doctor/rules/drift-rules.js +69 -0
- package/dist/doctor/rules/drift-rules.js.map +1 -0
- package/dist/doctor/rules/i18n-rules.d.ts +3 -0
- package/dist/doctor/rules/i18n-rules.d.ts.map +1 -0
- package/dist/doctor/rules/i18n-rules.js +183 -0
- package/dist/doctor/rules/i18n-rules.js.map +1 -0
- package/dist/doctor/rules/index.d.ts.map +1 -1
- package/dist/doctor/rules/index.js +6 -0
- package/dist/doctor/rules/index.js.map +1 -1
- package/dist/doctor/types.d.ts +3 -1
- package/dist/doctor/types.d.ts.map +1 -1
- package/dist/services/ProjectScanner.d.ts +1 -0
- package/dist/services/ProjectScanner.d.ts.map +1 -1
- package/dist/services/ProjectScanner.js +31 -5
- package/dist/services/ProjectScanner.js.map +1 -1
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/fileSystem.d.ts +2 -2
- package/dist/utils/fileSystem.d.ts.map +1 -1
- package/dist/utils/fileSystem.js +26 -4
- package/dist/utils/fileSystem.js.map +1 -1
- package/dist/utils/workspace.d.ts +17 -0
- package/dist/utils/workspace.d.ts.map +1 -0
- package/dist/utils/workspace.js +154 -0
- package/dist/utils/workspace.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -77,7 +77,9 @@ mycontext build
|
|
|
77
77
|
| Concept | What it is |
|
|
78
78
|
|---|---|
|
|
79
79
|
| **Living Brain** | `.mycontext/context.json` — single source of truth for your project |
|
|
80
|
+
| **Deterministic Runtime** | MyContext ensures your code never drifts from your architectural spec |
|
|
80
81
|
| **PRD** | `.mycontext/01-prd.md` — your product requirements document |
|
|
82
|
+
| **UX Brain (i18n)** | Internationalization layer synchronized with the Living Brain |
|
|
81
83
|
| **Design Manifest** | AI-derived design system snapshot |
|
|
82
84
|
| **Sub-agents** | Specialised AI workers (CodeGen, QA, Architect, Security, …) |
|
|
83
85
|
| **FSR** | Feature Spec Record — structured description of a single feature |
|
|
@@ -94,13 +96,16 @@ Initialise a new MyContext project. Creates `.mycontext/` with your PRD template
|
|
|
94
96
|
|
|
95
97
|
```bash
|
|
96
98
|
mycontext init my-saas-app
|
|
97
|
-
mycontext init --framework nextjs # Next.js + shadcn/ui
|
|
99
|
+
mycontext init --framework nextjs # Next.js + shadcn/ui + i18n
|
|
98
100
|
mycontext init --framework instantdb # Next.js + InstantDB + shadcn (default)
|
|
99
|
-
mycontext init --framework other # MyContext files only
|
|
100
101
|
mycontext init --interactive # Guided 100%-complete spec wizard
|
|
101
|
-
mycontext init --
|
|
102
|
+
mycontext init --i18n # Enable internationalization wizard
|
|
103
|
+
mycontext init --scope apps/my-app # Scope context to a specific directory
|
|
104
|
+
mycontext init --ignore tests,docs # Ignore specific patterns during scan
|
|
102
105
|
```
|
|
103
106
|
|
|
107
|
+
In a monorepo, running `mycontext init` at the root will trigger an interactive workspace selector and context scoping wizard.
|
|
108
|
+
|
|
104
109
|
#### `mycontext setup`
|
|
105
110
|
|
|
106
111
|
Configure AI providers (Anthropic, OpenAI, xAI) and your development stack.
|
|
@@ -343,7 +348,17 @@ Run health checks across the project.
|
|
|
343
348
|
|
|
344
349
|
#### `mycontext doctor`
|
|
345
350
|
|
|
346
|
-
Full diagnostic check with auto-fix suggestions.
|
|
351
|
+
Full diagnostic check with auto-fix suggestions. Now includes deterministic checks for:
|
|
352
|
+
- **Structure Drift**: Ensures code exists for all features defined in the Brain.
|
|
353
|
+
- **i18n Coverage**: Detects hardcoded strings and missing dictionary keys.
|
|
354
|
+
- **Project Integrity**: Validates monorepo scoping and workspace boundaries.
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
mycontext doctor
|
|
358
|
+
mycontext doctor --scope apps/my-app # Limit checks to a specific scope
|
|
359
|
+
mycontext doctor --project my-pkg # Filter by workspace project name
|
|
360
|
+
mycontext doctor --fix # Apply all safe fixes
|
|
361
|
+
```
|
|
347
362
|
|
|
348
363
|
#### `mycontext sanitize`
|
|
349
364
|
|
|
@@ -396,6 +411,24 @@ mycontext help generate --verbose
|
|
|
396
411
|
|
|
397
412
|
---
|
|
398
413
|
|
|
414
|
+
## Monorepo Support
|
|
415
|
+
|
|
416
|
+
MyContext is designed for modern, multi-app monorepos. It intelligently handles workspace boundaries and shared packages.
|
|
417
|
+
|
|
418
|
+
### Smart Scoping
|
|
419
|
+
When you initialize MyContext for a specific application within a monorepo (e.g., `apps/admin`), it:
|
|
420
|
+
1. **Detects Dependencies**: Analyzes `package.json` to see which workspace packages (e.g., `packages/ui`) the app uses.
|
|
421
|
+
2. **Suggests Context**: Offers to include those related packages in the context scope automatically.
|
|
422
|
+
3. **Isolates Context**: Keeps the Living Brain focused on what matters for that specific service, while maintaining awareness of shared workspace rules.
|
|
423
|
+
|
|
424
|
+
### Workspace Detection
|
|
425
|
+
Supports:
|
|
426
|
+
- **pnpm**: Native `pnpm-workspace.yaml` parsing.
|
|
427
|
+
- **Turborepo**: Automatic `turbo.json` detection.
|
|
428
|
+
- **npm/yarn**: Standard `workspaces` field in `package.json`.
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
399
432
|
## Typical Workflow
|
|
400
433
|
|
|
401
434
|
### Starting a new project
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAC;AAErE,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAC;AAErE,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA4B1B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBpE"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -15,6 +15,7 @@ class DoctorCommand {
|
|
|
15
15
|
.option("--verbose", "Show file details per rule")
|
|
16
16
|
.option("--score", "Output only the score")
|
|
17
17
|
.option("--project <name>", "Select workspace project (monorepo)")
|
|
18
|
+
.option("--scope <path>", "Limit diagnostics to specific directory or package")
|
|
18
19
|
.option("--category <cat>", "Run only a specific category (nextjs|turbo|node|dead)")
|
|
19
20
|
.option("--dry-run", "Show what --fix would do without changing files")
|
|
20
21
|
.option("--prune", "Prune dead code (destructive)")
|
|
@@ -25,6 +26,7 @@ class DoctorCommand {
|
|
|
25
26
|
verbose: opts.verbose,
|
|
26
27
|
score: opts.score,
|
|
27
28
|
project: opts.project,
|
|
29
|
+
scope: opts.scope,
|
|
28
30
|
category: opts.category,
|
|
29
31
|
dryRun: opts.dryRun,
|
|
30
32
|
json: opts.json,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";;;;;;AAYA,kDAA0B;AAC1B,yDAAkE;AAGlE,MAAa,aAAa;IACxB,QAAQ,CAAC,OAAgB;QACvB,OAAO;aACJ,OAAO,CAAC,oBAAoB,CAAC;aAC7B,WAAW,CAAC,oCAAoC,CAAC;aACjD,MAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC;aAC9C,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC;aACjD,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;aAC1C,MAAM,CAAC,kBAAkB,EAAE,qCAAqC,CAAC;aACjE,MAAM,CAAC,kBAAkB,EAAE,uDAAuD,CAAC;aACnF,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC;aACtE,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;aAClD,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;aACtD,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,IAAS,EAAE,EAAE;YACzD,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,EAAE;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAsC;gBACrD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,OAAsB;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEnD,kBAAkB;YAClB,IAAA,4BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE/B,oDAAoD;YACpD,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";;;;;;AAYA,kDAA0B;AAC1B,yDAAkE;AAGlE,MAAa,aAAa;IACxB,QAAQ,CAAC,OAAgB;QACvB,OAAO;aACJ,OAAO,CAAC,oBAAoB,CAAC;aAC7B,WAAW,CAAC,oCAAoC,CAAC;aACjD,MAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC;aAC9C,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC;aACjD,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;aAC1C,MAAM,CAAC,kBAAkB,EAAE,qCAAqC,CAAC;aACjE,MAAM,CAAC,gBAAgB,EAAE,oDAAoD,CAAC;aAC9E,MAAM,CAAC,kBAAkB,EAAE,uDAAuD,CAAC;aACnF,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC;aACtE,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;aAClD,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;aACtD,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,IAAS,EAAE,EAAE;YACzD,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,EAAE;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAsC;gBACrD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,OAAsB;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEnD,kBAAkB;YAClB,IAAA,4BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE/B,oDAAoD;YACpD,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAhDD,sCAgDC"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -10,6 +10,9 @@ interface InitOptions extends CommandOptions {
|
|
|
10
10
|
analyze?: boolean;
|
|
11
11
|
existing?: boolean;
|
|
12
12
|
specOnly?: boolean;
|
|
13
|
+
scope?: string;
|
|
14
|
+
ignore?: string;
|
|
15
|
+
i18n?: boolean;
|
|
13
16
|
}
|
|
14
17
|
export declare class InitCommand {
|
|
15
18
|
private fs;
|
|
@@ -32,6 +35,7 @@ export declare class InitCommand {
|
|
|
32
35
|
* Create the initial design manifest as a Hard Gravity anchor
|
|
33
36
|
*/
|
|
34
37
|
private createInitialManifest;
|
|
38
|
+
askI18nConfig(options: InitOptions): Promise<any | undefined>;
|
|
35
39
|
private displayBranding;
|
|
36
40
|
}
|
|
37
41
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAS1C,UAAU,WAAY,SAAQ,cAAc;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,eAAe,CAA+B;IAEhD,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiSnF;;OAEG;YACW,oBAAoB;YAkIpB,iBAAiB;YAoEjB,sBAAsB;IAqCpC;;OAEG;YACW,gBAAgB;IAqC9B,OAAO,CAAC,kBAAkB;YAKZ,oBAAoB;IAqElC,OAAO,CAAC,aAAa;IAqCrB;;OAEG;YACW,qBAAqB;IAU7B,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAwCnE,OAAO,CAAC,eAAe;CAoBxB"}
|
package/dist/commands/init.js
CHANGED
|
@@ -49,6 +49,7 @@ const child_process_1 = require("child_process");
|
|
|
49
49
|
const fs = __importStar(require("fs-extra"));
|
|
50
50
|
const path = __importStar(require("path"));
|
|
51
51
|
const core_1 = require("@myycontext/core");
|
|
52
|
+
const workspace_1 = require("../utils/workspace");
|
|
52
53
|
class InitCommand {
|
|
53
54
|
constructor() {
|
|
54
55
|
this.fs = new fileSystem_1.FileSystemManager();
|
|
@@ -64,6 +65,46 @@ class InitCommand {
|
|
|
64
65
|
const hasNodeModules = await fs.pathExists(path.join(currentDir, "node_modules"));
|
|
65
66
|
const mycontextPath = path.join(currentDir, ".mycontext");
|
|
66
67
|
const hasMyContext = await fs.pathExists(mycontextPath);
|
|
68
|
+
const workspaceManager = new workspace_1.WorkspaceManager(currentDir);
|
|
69
|
+
const isMonorepo = await workspaceManager.isMonorepo();
|
|
70
|
+
let selectedScopes = options.scope ? options.scope.split(',').map(s => s.trim()) : undefined;
|
|
71
|
+
const ignorePatterns = options.ignore ? options.ignore.split(',').map(i => i.trim()) : undefined;
|
|
72
|
+
// Monorepo selection logic
|
|
73
|
+
if (isMonorepo && !selectedScopes && !options.yes) {
|
|
74
|
+
console.log(chalk_1.default.cyan("\n📦 Monorepo detected! Choose the scope for this context:"));
|
|
75
|
+
const workspaces = await workspaceManager.getWorkspaces();
|
|
76
|
+
const { scopeChoice } = await (0, prompts_1.default)({
|
|
77
|
+
type: "multiselect",
|
|
78
|
+
name: "scopeChoice",
|
|
79
|
+
message: "Select workspaces/directories to include (Space to select, Enter to confirm):",
|
|
80
|
+
choices: [
|
|
81
|
+
{ title: "Full Monorepo (Root)", value: "root", selected: true },
|
|
82
|
+
...workspaces.map(ws => ({
|
|
83
|
+
title: `${ws.name} (${ws.path})`,
|
|
84
|
+
value: ws.path
|
|
85
|
+
}))
|
|
86
|
+
],
|
|
87
|
+
hint: "- Root includes everything. Specific workspaces limit the scope."
|
|
88
|
+
});
|
|
89
|
+
if (scopeChoice && !scopeChoice.includes("root")) {
|
|
90
|
+
selectedScopes = scopeChoice;
|
|
91
|
+
// Smart Scoping: Suggest related packages
|
|
92
|
+
if (selectedScopes && selectedScopes.length === 1) {
|
|
93
|
+
const related = await workspaceManager.getRelatedPackages(path.join(currentDir, selectedScopes[0]));
|
|
94
|
+
if (related.length > 0) {
|
|
95
|
+
const { addRelated } = await (0, prompts_1.default)({
|
|
96
|
+
type: "confirm",
|
|
97
|
+
name: "addRelated",
|
|
98
|
+
message: `Found ${related.length} shared packages used by this app. Include them too?`,
|
|
99
|
+
initial: true
|
|
100
|
+
});
|
|
101
|
+
if (addRelated) {
|
|
102
|
+
selectedScopes.push(...related.map(r => r.path));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
67
108
|
// Handle project name resolution
|
|
68
109
|
let finalProjectName = projectName;
|
|
69
110
|
let useCurrentDir = projectName === "." || !projectName;
|
|
@@ -77,7 +118,7 @@ class InitCommand {
|
|
|
77
118
|
const { useExisting } = await (0, prompts_1.default)({
|
|
78
119
|
type: "confirm",
|
|
79
120
|
name: "useExisting",
|
|
80
|
-
message: chalk_1.default.yellow(`⚠️ Existing project detected (${finalProjectName}). Initialize MyContext here?`),
|
|
121
|
+
message: chalk_1.default.yellow(`⚠️ Existing project detected (${finalProjectName || "this directory"}). Initialize MyContext here?`),
|
|
81
122
|
initial: true
|
|
82
123
|
});
|
|
83
124
|
if (useExisting) {
|
|
@@ -92,14 +133,14 @@ class InitCommand {
|
|
|
92
133
|
initial: 0
|
|
93
134
|
});
|
|
94
135
|
spinner.start();
|
|
95
|
-
let description = options.description || `${finalProjectName} - AI-powered app`;
|
|
136
|
+
let description = options.description || `${finalProjectName || "app"} - AI-powered app`;
|
|
96
137
|
if (initMode === "scan") {
|
|
97
138
|
spinner.updateText("Scanning project structure...");
|
|
98
139
|
try {
|
|
99
140
|
const { ProjectScanner } = await Promise.resolve().then(() => __importStar(require("../services/ProjectScanner")));
|
|
100
141
|
const scanner = new ProjectScanner(currentDir);
|
|
101
142
|
const snapshot = await scanner.scan();
|
|
102
|
-
description = `Project: ${finalProjectName}\nStats: ${snapshot.stats.totalFiles} files.\nContext: ${options.description || ''}`;
|
|
143
|
+
description = `Project: ${finalProjectName || "unknown"}\nStats: ${snapshot.stats.totalFiles} files.\nContext: ${options.description || ''}`;
|
|
103
144
|
}
|
|
104
145
|
catch (e) {
|
|
105
146
|
// fallback
|
|
@@ -163,7 +204,8 @@ class InitCommand {
|
|
|
163
204
|
}
|
|
164
205
|
spinner.start();
|
|
165
206
|
}
|
|
166
|
-
const
|
|
207
|
+
const i18nConfig = await this.askI18nConfig(options);
|
|
208
|
+
const config = await this.fs.initializeProject(finalProjectName, description, currentDir, true, selectedScopes, ignorePatterns, i18nConfig);
|
|
167
209
|
await this.createInitialManifest(currentDir, finalProjectName, description);
|
|
168
210
|
spinner.success({ text: `Project "${finalProjectName}" initialized with context!` });
|
|
169
211
|
// Post-initialization environment setup
|
|
@@ -245,19 +287,20 @@ class InitCommand {
|
|
|
245
287
|
}
|
|
246
288
|
}
|
|
247
289
|
spinner.start();
|
|
290
|
+
const i18nConfig = await this.askI18nConfig(options);
|
|
248
291
|
if (options.specOnly) {
|
|
249
|
-
await this.initBasicProject(spinner, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir);
|
|
292
|
+
await this.initBasicProject(spinner, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
250
293
|
}
|
|
251
294
|
else {
|
|
252
295
|
const framework = options.framework || "nextjs";
|
|
253
296
|
if (framework === "instantdb") {
|
|
254
|
-
await this.initInstantDBProject(spinner, workingDir, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir);
|
|
297
|
+
await this.initInstantDBProject(spinner, workingDir, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
255
298
|
}
|
|
256
299
|
else if (framework === "landing") {
|
|
257
|
-
await this.initLandingPageProject(spinner, workingDir, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir);
|
|
300
|
+
await this.initLandingPageProject(spinner, workingDir, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
258
301
|
}
|
|
259
302
|
else {
|
|
260
|
-
await this.initNextJSProject(spinner, workingDir, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir);
|
|
303
|
+
await this.initNextJSProject(spinner, workingDir, projectPath, finalProjectName, { ...options, description: effectiveDescription }, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
261
304
|
}
|
|
262
305
|
}
|
|
263
306
|
// Generate initial premium landing page immediately
|
|
@@ -282,7 +325,7 @@ class InitCommand {
|
|
|
282
325
|
/**
|
|
283
326
|
* Initialize an InstantDB project with full setup
|
|
284
327
|
*/
|
|
285
|
-
async initInstantDBProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir) {
|
|
328
|
+
async initInstantDBProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig) {
|
|
286
329
|
// 0. Bootstrap Next.js project first
|
|
287
330
|
const hasPackageJson = await fs.pathExists(path.join(projectPath, "package.json"));
|
|
288
331
|
if (!hasPackageJson) {
|
|
@@ -366,7 +409,7 @@ class InitCommand {
|
|
|
366
409
|
await this.fs.copyInstantDBTemplates(projectPath);
|
|
367
410
|
// 5. Initialize MyContext directory structure and context
|
|
368
411
|
spinner.updateText("Initializing MyContext project files...");
|
|
369
|
-
const config = await this.fs.initializeProject(projectName, options.description || `${projectName} - AI-powered app`, workingDir, useCurrentDir);
|
|
412
|
+
const config = await this.fs.initializeProject(projectName, options.description || `${projectName} - AI-powered app`, workingDir, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
370
413
|
await this.createInitialManifest(projectPath, projectName, options.description || `${projectName} - AI-powered app`);
|
|
371
414
|
spinner.success({
|
|
372
415
|
text: `Project "${projectName}" initialized successfully with InstantDB!`,
|
|
@@ -376,7 +419,7 @@ class InitCommand {
|
|
|
376
419
|
// Show next steps
|
|
377
420
|
this.showNextSteps(config, "instantdb", useCurrentDir);
|
|
378
421
|
}
|
|
379
|
-
async initNextJSProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir) {
|
|
422
|
+
async initNextJSProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig) {
|
|
380
423
|
// 1. Check for Next.js presence, bootstrap if missing
|
|
381
424
|
const hasPackageJson = await fs.pathExists(path.join(projectPath, "package.json"));
|
|
382
425
|
if (!hasPackageJson) {
|
|
@@ -406,7 +449,7 @@ class InitCommand {
|
|
|
406
449
|
}
|
|
407
450
|
// 2. Initialize MyContext directory structure and context
|
|
408
451
|
spinner.updateText("Initializing MyContext project files...");
|
|
409
|
-
const config = await this.fs.initializeProject(projectName, options.description || `${projectName} - Next.js app`, workingDir, useCurrentDir);
|
|
452
|
+
const config = await this.fs.initializeProject(projectName, options.description || `${projectName} - Next.js app`, workingDir, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
410
453
|
await this.createInitialManifest(projectPath, projectName, options.description || `${projectName} - Next.js app`);
|
|
411
454
|
spinner.success({
|
|
412
455
|
text: `Project "${projectName}" initialized successfully with Next.js!`,
|
|
@@ -416,9 +459,9 @@ class InitCommand {
|
|
|
416
459
|
// Show next steps
|
|
417
460
|
this.showNextSteps(config, "nextjs", useCurrentDir);
|
|
418
461
|
}
|
|
419
|
-
async initLandingPageProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir) {
|
|
462
|
+
async initLandingPageProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig) {
|
|
420
463
|
// 1. Standard Next.js bootstrap
|
|
421
|
-
await this.initNextJSProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir);
|
|
464
|
+
await this.initNextJSProject(spinner, workingDir, projectPath, projectName, options, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
422
465
|
// 2. Specialized Landing Page scaffolding
|
|
423
466
|
spinner.updateText("Generating specialized landing page architecture...");
|
|
424
467
|
const { DeterministicScaffoldGenerator } = await Promise.resolve().then(() => __importStar(require("../generator/scaffold")));
|
|
@@ -440,9 +483,9 @@ class InitCommand {
|
|
|
440
483
|
/**
|
|
441
484
|
* Initialize a basic MyContext project (no framework)
|
|
442
485
|
*/
|
|
443
|
-
async initBasicProject(spinner, projectPath, projectName, options, useCurrentDir) {
|
|
486
|
+
async initBasicProject(spinner, projectPath, projectName, options, useCurrentDir, selectedScopes, ignorePatterns, i18nConfig) {
|
|
444
487
|
spinner.updateText("Initializing MyContext project files...");
|
|
445
|
-
const config = await this.fs.initializeProject(projectName, options.description || `${projectName} - AI-powered app`, process.cwd(), useCurrentDir);
|
|
488
|
+
const config = await this.fs.initializeProject(projectName, options.description || `${projectName} - AI-powered app`, process.cwd(), useCurrentDir, selectedScopes, ignorePatterns, i18nConfig);
|
|
446
489
|
await this.createInitialManifest(projectPath, projectName, options.description || `${projectName} - AI-powered app`);
|
|
447
490
|
spinner.success({
|
|
448
491
|
text: `Project "${projectName}" initialized successfully!`,
|
|
@@ -546,6 +589,43 @@ class InitCommand {
|
|
|
546
589
|
const manifest = manager.createDefaultManifest(projectName, description);
|
|
547
590
|
await manager.saveDesignManifest(manifest);
|
|
548
591
|
}
|
|
592
|
+
async askI18nConfig(options) {
|
|
593
|
+
if (options.yes)
|
|
594
|
+
return undefined;
|
|
595
|
+
const { enableI18n } = await (0, prompts_1.default)({
|
|
596
|
+
type: "confirm",
|
|
597
|
+
name: "enableI18n",
|
|
598
|
+
message: "🌍 Enable Internationalization (i18n) Context Layer?",
|
|
599
|
+
initial: true
|
|
600
|
+
});
|
|
601
|
+
if (!enableI18n)
|
|
602
|
+
return undefined;
|
|
603
|
+
const { defaultLocale, locales, dictionaryPath } = await (0, prompts_1.default)([
|
|
604
|
+
{
|
|
605
|
+
type: "text",
|
|
606
|
+
name: "defaultLocale",
|
|
607
|
+
message: "Default locale:",
|
|
608
|
+
initial: "en"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
type: "text",
|
|
612
|
+
name: "locales",
|
|
613
|
+
message: "Supported locales (comma-separated):",
|
|
614
|
+
initial: "en,sw,fr"
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
type: "text",
|
|
618
|
+
name: "dictionaryPath",
|
|
619
|
+
message: "Dictionary path:",
|
|
620
|
+
initial: "dictionaries"
|
|
621
|
+
}
|
|
622
|
+
]);
|
|
623
|
+
return {
|
|
624
|
+
defaultLocale,
|
|
625
|
+
locales: locales.split(",").map((l) => l.trim()),
|
|
626
|
+
dictionaryPath
|
|
627
|
+
};
|
|
628
|
+
}
|
|
549
629
|
displayBranding() {
|
|
550
630
|
try {
|
|
551
631
|
const logo = figlet_1.default.textSync("MyContext", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DoctorEngine.d.ts","sourceRoot":"","sources":["../../src/doctor/DoctorEngine.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,WAAW,EAIhB,KAAK,YAAY,EAIjB,KAAK,aAAa,EAEnB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"DoctorEngine.d.ts","sourceRoot":"","sources":["../../src/doctor/DoctorEngine.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,WAAW,EAIhB,KAAK,YAAY,EAIjB,KAAK,aAAa,EAEnB,MAAM,SAAS,CAAC;AAMjB,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDtE;AA+GD,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAwIvB;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI,CAmFrF"}
|
|
@@ -52,6 +52,7 @@ const fs = __importStar(require("fs-extra"));
|
|
|
52
52
|
const path = __importStar(require("path"));
|
|
53
53
|
const chalk_1 = __importDefault(require("chalk"));
|
|
54
54
|
const index_1 = require("./rules/index");
|
|
55
|
+
const workspace_1 = require("../utils/workspace");
|
|
55
56
|
// ─── Project Detection ────────────────────────────────────────────
|
|
56
57
|
async function detectProject(root) {
|
|
57
58
|
const absRoot = path.resolve(root);
|
|
@@ -85,7 +86,8 @@ async function detectProject(root) {
|
|
|
85
86
|
// Detect workspaces
|
|
86
87
|
let workspaces;
|
|
87
88
|
if (isMonorepo) {
|
|
88
|
-
|
|
89
|
+
const wm = new workspace_1.WorkspaceManager(absRoot);
|
|
90
|
+
workspaces = await wm.getWorkspaces();
|
|
89
91
|
}
|
|
90
92
|
return {
|
|
91
93
|
type,
|
|
@@ -112,69 +114,6 @@ async function detectPackageManager(root) {
|
|
|
112
114
|
return "npm";
|
|
113
115
|
return "unknown";
|
|
114
116
|
}
|
|
115
|
-
async function detectWorkspaces(root, pkg) {
|
|
116
|
-
const workspaces = [];
|
|
117
|
-
// Get workspace patterns from package.json or pnpm-workspace.yaml
|
|
118
|
-
let patterns = [];
|
|
119
|
-
if (pkg.workspaces) {
|
|
120
|
-
patterns = Array.isArray(pkg.workspaces) ? pkg.workspaces : pkg.workspaces.packages || [];
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
const pnpmWs = path.join(root, "pnpm-workspace.yaml");
|
|
124
|
-
if (await fs.pathExists(pnpmWs)) {
|
|
125
|
-
const content = await fs.readFile(pnpmWs, "utf8");
|
|
126
|
-
const match = content.match(/packages:\s*\n((?:\s+-\s+.+\n?)*)/);
|
|
127
|
-
if (match && match[1]) {
|
|
128
|
-
patterns = match[1].split("\n").map(l => l.replace(/^\s*-\s*['"]?/, "").replace(/['"]?\s*$/, "")).filter(Boolean);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// Resolve workspace directories
|
|
133
|
-
for (const pattern of patterns) {
|
|
134
|
-
const baseDir = pattern.replace(/\/?\*$/, "");
|
|
135
|
-
const wsDir = path.join(root, baseDir);
|
|
136
|
-
if (await fs.pathExists(wsDir)) {
|
|
137
|
-
try {
|
|
138
|
-
const entries = await fs.readdir(wsDir, { withFileTypes: true });
|
|
139
|
-
for (const entry of entries) {
|
|
140
|
-
if (!entry.isDirectory())
|
|
141
|
-
continue;
|
|
142
|
-
const wsPath = path.join(baseDir, entry.name);
|
|
143
|
-
const absPath = path.join(root, wsPath);
|
|
144
|
-
const wsPkgPath = path.join(absPath, "package.json");
|
|
145
|
-
const hasPackageJson = await fs.pathExists(wsPkgPath);
|
|
146
|
-
let wsType = "node";
|
|
147
|
-
if (hasPackageJson) {
|
|
148
|
-
try {
|
|
149
|
-
const wsPkg = await fs.readJson(wsPkgPath);
|
|
150
|
-
const wsDeps = { ...wsPkg.dependencies, ...wsPkg.devDependencies };
|
|
151
|
-
if (wsDeps?.next)
|
|
152
|
-
wsType = "nextjs";
|
|
153
|
-
}
|
|
154
|
-
catch { /* ignore */ }
|
|
155
|
-
}
|
|
156
|
-
let name = entry.name;
|
|
157
|
-
if (hasPackageJson) {
|
|
158
|
-
try {
|
|
159
|
-
const wsPkg = await fs.readJson(wsPkgPath);
|
|
160
|
-
name = wsPkg.name || entry.name;
|
|
161
|
-
}
|
|
162
|
-
catch { /* ignore */ }
|
|
163
|
-
}
|
|
164
|
-
workspaces.push({
|
|
165
|
-
name,
|
|
166
|
-
path: wsPath,
|
|
167
|
-
absolutePath: absPath,
|
|
168
|
-
type: wsType,
|
|
169
|
-
hasPackageJson,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
catch { /* ignore */ }
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
return workspaces;
|
|
177
|
-
}
|
|
178
117
|
// ─── Rule Context Factory ─────────────────────────────────────────
|
|
179
118
|
const IGNORE_DIRS = new Set([
|
|
180
119
|
"node_modules", ".next", ".git", "dist", "build", ".turbo",
|
|
@@ -432,7 +371,7 @@ function displayResult(result, options = {}) {
|
|
|
432
371
|
}
|
|
433
372
|
console.log();
|
|
434
373
|
// Group diagnostics by category
|
|
435
|
-
const categories = ["security", "nextjs", "turbo", "node", "dead"];
|
|
374
|
+
const categories = ["security", "nextjs", "turbo", "node", "dead", "i18n"];
|
|
436
375
|
for (const cat of categories) {
|
|
437
376
|
const catResults = ruleResults.filter(r => r.category === cat);
|
|
438
377
|
if (catResults.length === 0)
|
|
@@ -495,6 +434,7 @@ function formatCategory(cat) {
|
|
|
495
434
|
case "node": return "📦 Node.js / Structure";
|
|
496
435
|
case "dead": return "💀 Dead Code";
|
|
497
436
|
case "security": return "🛡️ Security";
|
|
437
|
+
case "i18n": return "🌍 Internationalization";
|
|
498
438
|
default: return cat;
|
|
499
439
|
}
|
|
500
440
|
}
|