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.
Files changed (44) hide show
  1. package/README.md +37 -4
  2. package/dist/commands/doctor.d.ts.map +1 -1
  3. package/dist/commands/doctor.js +2 -0
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/init.d.ts +4 -0
  6. package/dist/commands/init.d.ts.map +1 -1
  7. package/dist/commands/init.js +96 -16
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/doctor/DoctorEngine.d.ts.map +1 -1
  10. package/dist/doctor/DoctorEngine.js +5 -65
  11. package/dist/doctor/DoctorEngine.js.map +1 -1
  12. package/dist/doctor/rules/cli-rules.d.ts +3 -0
  13. package/dist/doctor/rules/cli-rules.d.ts.map +1 -0
  14. package/dist/doctor/rules/cli-rules.js +57 -0
  15. package/dist/doctor/rules/cli-rules.js.map +1 -0
  16. package/dist/doctor/rules/drift-rules.d.ts +3 -0
  17. package/dist/doctor/rules/drift-rules.d.ts.map +1 -0
  18. package/dist/doctor/rules/drift-rules.js +69 -0
  19. package/dist/doctor/rules/drift-rules.js.map +1 -0
  20. package/dist/doctor/rules/i18n-rules.d.ts +3 -0
  21. package/dist/doctor/rules/i18n-rules.d.ts.map +1 -0
  22. package/dist/doctor/rules/i18n-rules.js +183 -0
  23. package/dist/doctor/rules/i18n-rules.js.map +1 -0
  24. package/dist/doctor/rules/index.d.ts.map +1 -1
  25. package/dist/doctor/rules/index.js +6 -0
  26. package/dist/doctor/rules/index.js.map +1 -1
  27. package/dist/doctor/types.d.ts +3 -1
  28. package/dist/doctor/types.d.ts.map +1 -1
  29. package/dist/services/ProjectScanner.d.ts +1 -0
  30. package/dist/services/ProjectScanner.d.ts.map +1 -1
  31. package/dist/services/ProjectScanner.js +31 -5
  32. package/dist/services/ProjectScanner.js.map +1 -1
  33. package/dist/types/index.d.ts +19 -0
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/index.js.map +1 -1
  36. package/dist/utils/fileSystem.d.ts +2 -2
  37. package/dist/utils/fileSystem.d.ts.map +1 -1
  38. package/dist/utils/fileSystem.js +26 -4
  39. package/dist/utils/fileSystem.js.map +1 -1
  40. package/dist/utils/workspace.d.ts +17 -0
  41. package/dist/utils/workspace.d.ts.map +1 -0
  42. package/dist/utils/workspace.js +154 -0
  43. package/dist/utils/workspace.js.map +1 -0
  44. 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 --spec-only # Context files only, no framework setup
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;IA0B1B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBpE"}
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"}
@@ -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;AA9CD,sCA8CC"}
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"}
@@ -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;AAQ1C,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;CACpB;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;IAiPnF;;OAEG;YACW,oBAAoB;YA4HpB,iBAAiB;YA8DjB,sBAAsB;IAkCpC;;OAEG;YACW,gBAAgB;IA+B9B,OAAO,CAAC,kBAAkB;YAKZ,oBAAoB;IAqElC,OAAO,CAAC,aAAa;IAqCrB;;OAEG;YACW,qBAAqB;IAUnC,OAAO,CAAC,eAAe;CAoBxB"}
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"}
@@ -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 config = await this.fs.initializeProject(finalProjectName, description, currentDir, true);
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;AAKjB,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAmDtE;AA8KD,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"}
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
- workspaces = await detectWorkspaces(absRoot, pkg);
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
  }