@intelligo-dev/cli 1.0.0-beta.13 → 1.0.0-beta.14

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 (171) hide show
  1. package/README.md +41 -2
  2. package/dist/bin.js +37 -0
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/add.d.ts +4 -0
  5. package/dist/commands/add.d.ts.map +1 -1
  6. package/dist/commands/add.js +9 -0
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/create-flow.d.ts +4 -1
  9. package/dist/commands/create-flow.d.ts.map +1 -1
  10. package/dist/commands/create-flow.js +63 -31
  11. package/dist/commands/create-flow.js.map +1 -1
  12. package/dist/commands/create.d.ts +8 -4
  13. package/dist/commands/create.d.ts.map +1 -1
  14. package/dist/commands/create.js +15 -7
  15. package/dist/commands/create.js.map +1 -1
  16. package/dist/commands/doctor.d.ts.map +1 -1
  17. package/dist/commands/doctor.js +21 -19
  18. package/dist/commands/doctor.js.map +1 -1
  19. package/dist/commands/migrate-check.d.ts +20 -1
  20. package/dist/commands/migrate-check.d.ts.map +1 -1
  21. package/dist/commands/migrate-check.js +35 -6
  22. package/dist/commands/migrate-check.js.map +1 -1
  23. package/dist/commands/migrate.d.ts.map +1 -1
  24. package/dist/commands/migrate.js +2 -8
  25. package/dist/commands/migrate.js.map +1 -1
  26. package/dist/commands/sync-messages.d.ts +37 -0
  27. package/dist/commands/sync-messages.d.ts.map +1 -0
  28. package/dist/commands/sync-messages.js +88 -0
  29. package/dist/commands/sync-messages.js.map +1 -0
  30. package/dist/commands/sync-scaffold.d.ts +36 -0
  31. package/dist/commands/sync-scaffold.d.ts.map +1 -0
  32. package/dist/commands/sync-scaffold.js +53 -0
  33. package/dist/commands/sync-scaffold.js.map +1 -0
  34. package/dist/commands/sync.d.ts +103 -0
  35. package/dist/commands/sync.d.ts.map +1 -0
  36. package/dist/commands/sync.js +361 -0
  37. package/dist/commands/sync.js.map +1 -0
  38. package/dist/commands/upgrade-check.d.ts.map +1 -1
  39. package/dist/commands/upgrade-check.js +4 -1
  40. package/dist/commands/upgrade-check.js.map +1 -1
  41. package/dist/manifest.d.ts +27 -0
  42. package/dist/manifest.d.ts.map +1 -1
  43. package/dist/manifest.js +30 -3
  44. package/dist/manifest.js.map +1 -1
  45. package/dist/module-exports.d.ts +63 -0
  46. package/dist/module-exports.d.ts.map +1 -0
  47. package/dist/module-exports.js +231 -0
  48. package/dist/module-exports.js.map +1 -0
  49. package/dist/registry-bundle.d.ts +43 -0
  50. package/dist/registry-bundle.d.ts.map +1 -0
  51. package/dist/registry-bundle.js +74 -0
  52. package/dist/registry-bundle.js.map +1 -0
  53. package/dist/registry-items.d.ts +41 -13
  54. package/dist/registry-items.d.ts.map +1 -1
  55. package/dist/registry-items.js +117 -33
  56. package/dist/registry-items.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/bin.ts +52 -0
  59. package/src/commands/add.ts +11 -0
  60. package/src/commands/create-flow.ts +82 -26
  61. package/src/commands/create.ts +17 -7
  62. package/src/commands/doctor.ts +27 -27
  63. package/src/commands/migrate-check.ts +51 -10
  64. package/src/commands/migrate.ts +2 -8
  65. package/src/commands/sync-messages.ts +114 -0
  66. package/src/commands/sync-scaffold.ts +83 -0
  67. package/src/commands/sync.ts +534 -0
  68. package/src/commands/upgrade-check.ts +4 -1
  69. package/src/manifest.ts +57 -3
  70. package/src/module-exports.ts +266 -0
  71. package/src/registry-bundle.ts +103 -0
  72. package/src/registry-items.ts +141 -36
  73. package/templates/app-scaffold/intelligo.ts.tpl +6 -47
  74. package/templates/manifest.json +19 -0
  75. package/templates/registry/ai-agent-activity.json +23 -0
  76. package/templates/registry/ai-agent-progress.json +21 -0
  77. package/templates/registry/ai-approval-card.json +27 -0
  78. package/templates/registry/ai-artifact.json +22 -0
  79. package/templates/registry/ai-branch.json +21 -0
  80. package/templates/registry/ai-citations.json +24 -0
  81. package/templates/registry/ai-code-block.json +23 -0
  82. package/templates/registry/ai-composer-menu.json +19 -0
  83. package/templates/registry/ai-file-diff.json +25 -0
  84. package/templates/registry/ai-image-generation.json +23 -0
  85. package/templates/registry/ai-markdown.json +23 -0
  86. package/templates/registry/ai-message-bubble.json +23 -0
  87. package/templates/registry/ai-message-scroller.json +22 -0
  88. package/templates/registry/ai-message.json +21 -0
  89. package/templates/registry/ai-motion.json +19 -0
  90. package/templates/registry/ai-prompt-input.json +28 -0
  91. package/templates/registry/ai-reasoning-text.json +22 -0
  92. package/templates/registry/ai-reasoning.json +22 -0
  93. package/templates/registry/ai-shimmer-text.json +19 -0
  94. package/templates/registry/ai-sidebar.json +25 -0
  95. package/templates/registry/ai-speech-input.json +21 -0
  96. package/templates/registry/ai-streaming-response.json +24 -0
  97. package/templates/registry/ai-suggestion.json +19 -0
  98. package/templates/registry/ai-todo-list.json +22 -0
  99. package/templates/registry/ai-tool-approval.json +26 -0
  100. package/templates/registry/ai-tool-result.json +25 -0
  101. package/templates/registry/alert-dialog.json +23 -0
  102. package/templates/registry/animated-list.json +21 -0
  103. package/templates/registry/app-shell.json +93 -0
  104. package/templates/registry/artifacts.json +82 -0
  105. package/templates/registry/attachment.json +22 -0
  106. package/templates/registry/auth-email-verification.json +39 -0
  107. package/templates/registry/auth-login.json +72 -0
  108. package/templates/registry/auth-password-reset.json +53 -0
  109. package/templates/registry/auth-signup.json +41 -0
  110. package/templates/registry/billing-settings.json +60 -0
  111. package/templates/registry/button.json +22 -0
  112. package/templates/registry/chat-eve.json +19 -0
  113. package/templates/registry/chat-panel.json +30 -0
  114. package/templates/registry/chat-share.json +42 -0
  115. package/templates/registry/chat-widget.json +34 -0
  116. package/templates/registry/chat.json +326 -0
  117. package/templates/registry/checkbox.json +22 -0
  118. package/templates/registry/checkout.json +40 -0
  119. package/templates/registry/collapsible.json +19 -0
  120. package/templates/registry/command.json +23 -0
  121. package/templates/registry/copy-button.json +21 -0
  122. package/templates/registry/dashboard.json +69 -0
  123. package/templates/registry/dialog.json +24 -0
  124. package/templates/registry/document-viewer.json +22 -0
  125. package/templates/registry/dropdown-menu.json +23 -0
  126. package/templates/registry/expandable-tabs.json +22 -0
  127. package/templates/registry/feature-gating.json +73 -0
  128. package/templates/registry/file-upload.json +24 -0
  129. package/templates/registry/hold-action-button.json +22 -0
  130. package/templates/registry/input-group.json +23 -0
  131. package/templates/registry/input.json +19 -0
  132. package/templates/registry/intelligo.json +187 -0
  133. package/templates/registry/invitation-accept.json +64 -0
  134. package/templates/registry/language-switcher.json +29 -0
  135. package/templates/registry/morphing-modal.json +24 -0
  136. package/templates/registry/notification-stack.json +24 -0
  137. package/templates/registry/notifications.json +87 -0
  138. package/templates/registry/onboarding.json +83 -0
  139. package/templates/registry/otp-input.json +22 -0
  140. package/templates/registry/page-header.json +15 -0
  141. package/templates/registry/payment-poll.json +52 -0
  142. package/templates/registry/popover-morph.json +22 -0
  143. package/templates/registry/popover.json +22 -0
  144. package/templates/registry/pricing.json +111 -0
  145. package/templates/registry/privacy-settings.json +65 -0
  146. package/templates/registry/profile-settings.json +68 -0
  147. package/templates/registry/progress.json +19 -0
  148. package/templates/registry/radio-group.json +22 -0
  149. package/templates/registry/registry.json +2945 -0
  150. package/templates/registry/route-error.json +65 -0
  151. package/templates/registry/select-morph.json +23 -0
  152. package/templates/registry/select.json +23 -0
  153. package/templates/registry/settings-shell.json +47 -0
  154. package/templates/registry/sheet.json +24 -0
  155. package/templates/registry/sidebar.json +28 -0
  156. package/templates/registry/smoke.json +34 -0
  157. package/templates/registry/spinner.json +16 -0
  158. package/templates/registry/stat-card.json +18 -0
  159. package/templates/registry/status-badge.json +18 -0
  160. package/templates/registry/switch.json +20 -0
  161. package/templates/registry/tabs.json +23 -0
  162. package/templates/registry/team-settings.json +97 -0
  163. package/templates/registry/textarea.json +16 -0
  164. package/templates/registry/tooltip.json +22 -0
  165. package/templates/registry/trial-banner.json +43 -0
  166. package/templates/registry/usage.json +84 -0
  167. package/templates/registry/workspace-settings.json +71 -0
  168. package/templates/registry-items.json +1 -1
  169. package/templates/registry-requires.json +26 -2
  170. package/templates/vitest/server-only.ts.tpl +7 -0
  171. package/templates/vitest/vitest.config.ts.tpl +37 -0
package/README.md CHANGED
@@ -23,13 +23,51 @@ to the new application, which is where `intelligo` comes from afterwards.
23
23
  ```bash
24
24
  pnpm dlx @intelligo-dev/cli@beta create my-app # a registry-ready Next.js app, plus the pages you pick
25
25
  pnpm dlx @intelligo-dev/cli@beta create my-app --items chat,billing-settings --yes # no questions
26
- intelligo add <feature> # generate consumer-owned source (admin-page, maintenance)
26
+ intelligo add <feature> # generate consumer-owned source (admin-page, maintenance, vitest)
27
27
  intelligo doctor # what is misconfigured, and why it matters
28
28
  intelligo migrate # apply the framework chain
29
29
  intelligo migrate --check [--json] # compare the chain with the database, change nothing
30
30
  intelligo upgrade --check # what a template upgrade would change
31
+ intelligo sync [items…] # install registry pages from this release, seams kept
32
+ intelligo sync --check # exit 1 when an installed page drifted from the registry
31
33
  ```
32
34
 
35
+ ## `sync`: installed pages stay the registry's
36
+
37
+ A page arrives as source, through `shadcn add`, and nothing stops it drifting
38
+ afterwards — an edit here, a release skipped there. `intelligo sync` installs
39
+ items from the registry bundled with this CLI, so the pages match the
40
+ `@intelligo-dev/*` packages of the same version, in dependency order. Files an
41
+ item ships once for you to own (`lib/*-config`, `lib/nav-config.ts`… — the
42
+ `seams` in the registry's `requires.json`) are put back after the install, and
43
+ message files are merged key by key with your copy winning. The result is
44
+ recorded in `intelligo.manifest.json`.
45
+
46
+ Name the items once — `intelligo sync intelligo app-shell chat …` — and
47
+ afterwards a bare `intelligo sync` updates them. It refuses to overwrite a file
48
+ you edited by hand unless you pass `--force`: move the change into a seam
49
+ first. `intelligo sync --check` installs nothing, lists every file that is
50
+ `missing`, `edited`, `outdated`, `messages-behind` or `locale-behind`, and
51
+ exits 1 on any — the gate to run in CI.
52
+
53
+ ### Other locales
54
+
55
+ The registry ships English (`messages/en/<item>.json`). When the app's
56
+ `i18n/routing.ts` lists more `locales`, `sync --check` compares each other
57
+ locale's copy of every shipped namespace — `messages/<locale>/<item>.json` —
58
+ with the app's English file on disk (the merged copy, your own keys
59
+ included) and reports a missing file or missing keys as `locale-behind`,
60
+ with the keys. `sync` never writes another locale: after it adds English
61
+ keys, translate them, and the check passes again.
62
+
63
+ `create` installs the pages you pick the same way: the dependencies first
64
+ (from the root of a parent pnpm workspace when the new app is one of its
65
+ members, so the workspace keeps one lockfile), then `intelligo sync` of the
66
+ design-system base and every item, one `shadcn add` each. Scaffold files an
67
+ item replaces — `app/globals.css`, the theme provider, `lib/utils.ts` — move
68
+ from the `app-scaffold` record to the registry's (the feature's `handedOver`
69
+ list), so `upgrade --check` does not report them as yours forever.
70
+
33
71
  ## Why `migrate` is not `drizzle-kit migrate`
34
72
 
35
73
  Drizzle applies migrations in journal-timestamp order and skips anything
@@ -47,7 +85,8 @@ baselined first.
47
85
  which an empty database and a stale one share. A deploy gate that must tell them
48
86
  apart reads `--json`: one object on stdout whose `state` is `up_to_date`,
49
87
  `pending`, `fresh` (empty database), `unmanaged`, `ahead` or `legacy`, beside
50
- `exitCode`, `chain`, `applied`, `pending`, `unknown`, `legacy` and `adoptable`.
88
+ `exitCode`, `chain`, `applied`, `pending`, `unknown`, `legacy`, `legacyMissing`
89
+ and `adoptable`.
51
90
 
52
91
  ## `add maintenance` and its schedule
53
92
 
package/dist/bin.js CHANGED
@@ -17,8 +17,11 @@ import { addFeature, formatAddResult, addExitCode, readCatalogue, } from "./comm
17
17
  import { exitCodeFor, formatResults, runChecks } from "./commands/doctor.js";
18
18
  import { formatMigrateCheck, formatMigrateCheckJson, migrateCheck, migrateCheckExitCode, } from "./commands/migrate-check.js";
19
19
  import { MIGRATIONS_TABLE_SQL, SCHEMA_PROBE_SQL, applyExitCode, applyMigrations, formatApplyResult, } from "./commands/migrate.js";
20
+ import { formatSyncReport, installedFrameworkVersion, selectItems, syncApply, syncCheck, syncCheckExitCode, } from "./commands/sync.js";
20
21
  import { formatUpgradeReport, upgradeCheck, upgradeCheckExitCode, } from "./commands/upgrade-check.js";
21
22
  import { loadAppEnv } from "./env-files.js";
23
+ import { resolveRegistryDir } from "./registry-bundle.js";
24
+ import { readRegistryCatalogue } from "./registry-items.js";
22
25
  import { MIGRATION_LOCATIONS, resolveMigrationsDir } from "./migrations-dir.js";
23
26
  /**
24
27
  * Templates ship with the CLI package.
@@ -50,6 +53,9 @@ function usage() {
50
53
  " fresh | ahead | unmanaged | legacy)",
51
54
  " add <feature> Generate consumer-owned source (--force to overwrite)",
52
55
  " upgrade --check Show what a template upgrade would change",
56
+ " sync [items…] Install registry pages from this release's registry,",
57
+ " keeping seams and merging messages (--force replaces",
58
+ " hand-edited files; --check only reports, exit 1 on drift)",
53
59
  "",
54
60
  ].join("\n");
55
61
  }
@@ -181,6 +187,37 @@ async function main() {
181
187
  console.log(formatUpgradeReport(report));
182
188
  return upgradeCheckExitCode(report);
183
189
  }
190
+ case "sync": {
191
+ const registryDir = resolveRegistryDir(TEMPLATES_DIR);
192
+ if (!registryDir) {
193
+ console.error("This CLI has no bundled registry — in the framework repository, run `pnpm registry:build` first.");
194
+ return 1;
195
+ }
196
+ const context = {
197
+ appRoot: process.cwd(),
198
+ registryDir,
199
+ requires: readRegistryCatalogue(TEMPLATES_DIR).requires,
200
+ frameworkVersion: FRAMEWORK_VERSION,
201
+ };
202
+ const installed = installedFrameworkVersion(context.appRoot);
203
+ if (installed && installed !== FRAMEWORK_VERSION) {
204
+ console.error(`! @intelligo-dev/core is ${installed} but this CLI carries the ${FRAMEWORK_VERSION} registry — ` +
205
+ "run the CLI of the same version (`pnpm exec intelligo`), or pages and packages will disagree.");
206
+ }
207
+ const selection = selectItems(rest.filter((a) => !a.startsWith("-")), context);
208
+ if (!selection.ok) {
209
+ console.error(selection.message);
210
+ return 1;
211
+ }
212
+ if (rest.includes("--check")) {
213
+ const report = syncCheck(selection.items, context);
214
+ console.log(formatSyncReport(report));
215
+ return syncCheckExitCode(report);
216
+ }
217
+ return syncApply(selection.items, context, {
218
+ force: rest.includes("--force"),
219
+ });
220
+ }
184
221
  case "help":
185
222
  console.log(usage());
186
223
  return 0;
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export type TemplateFeature = {
23
23
  deprecated?: string;
24
24
  files: TemplateFile[];
25
25
  cron?: TemplateCron;
26
+ /** What the developer still does by hand once the files are written. */
27
+ nextSteps?: string[];
26
28
  };
27
29
  export type TemplateCatalogue = Record<string, TemplateFeature>;
28
30
  export declare function readCatalogue(templatesDir: string): TemplateCatalogue;
@@ -43,6 +45,8 @@ export type AddResult = {
43
45
  cron?: TemplateCron & {
44
46
  status: "written" | "present" | "manual";
45
47
  };
48
+ /** The catalogue's steps left to the developer, printed after the files. */
49
+ nextSteps?: string[];
46
50
  };
47
51
  export type AddOptions = {
48
52
  appRoot: string;
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEhE,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAIrE;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kEAAkE;IAClE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC5C,MAAM,CAMR;AAmCD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,CA8E1E;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAmBpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAEhD"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEhE,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAIrE;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kEAAkE;IAClE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;IACnE,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC5C,MAAM,CAMR;AAmCD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,CAkF1E;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAsBpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAEhD"}
@@ -62,8 +62,14 @@ export function addFeature(feature, options) {
62
62
  };
63
63
  if (spec.deprecated)
64
64
  result.deprecated = spec.deprecated;
65
+ if (spec.nextSteps?.length)
66
+ result.nextSteps = spec.nextSteps;
65
67
  const recorded = [];
68
+ const handedOver = new Set(previous?.handedOver ?? []);
66
69
  for (const file of spec.files) {
70
+ // A registry item replaced it; `intelligo sync` keeps it now.
71
+ if (handedOver.has(file.target))
72
+ continue;
67
73
  const source = path.join(options.templatesDir, file.template);
68
74
  const target = path.join(options.appRoot, file.target);
69
75
  const contents = substitute(readFileSync(source, "utf8"), options.variables);
@@ -118,6 +124,9 @@ export function formatAddResult(r) {
118
124
  lines.push(" nothing to do");
119
125
  if (r.cron)
120
126
  lines.push(...cronNextSteps(r.cron));
127
+ if (r.nextSteps?.length) {
128
+ lines.push("", " Next:", ...r.nextSteps.map((step) => ` - ${step}`));
129
+ }
121
130
  return lines.join("\n");
122
131
  }
123
132
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,GAEd,MAAM,gBAAgB,CAAC;AAiBxB,MAAM,UAAU,aAAa,CAAC,YAAoB;IAChD,OAAO,IAAI,CAAC,KAAK,CACf,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAC1C,CAAC;AACzB,CAAC;AAmCD,MAAM,UAAU,UAAU,CACxB,QAAgB,EAChB,SAA6C;IAE7C,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACjD,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC;;;;;GAKG;AACH,SAAS,YAAY,CACnB,OAAe,EACf,IAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,uCAAuC;YAChD,KAAK,EAAE,CAAC,IAAI,CAAC;SACd,CAAC;QACF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAEnD,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;YACpD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAmB;IAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,iBAAiB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GACZ,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAChD,CAAC;IAEF,MAAM,MAAM,GAAc;QACxB,OAAO;QACP,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,EAAE;KACnB,CAAC;IACF,IAAI,IAAI,CAAC,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACzD,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9D,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,SAAS;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,UAAU,CACzB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,CAAC,SAAS,CAClB,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,2DAA2D;gBAC3D,+DAA+D;gBAC/D,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,gEAAgE;gBAChE,4DAA4D;gBAC5D,iDAAiD;gBACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,GAAG;YACZ,GAAG,IAAI,CAAC,IAAI;YACZ,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,aAAa,CACX,OAAO,CAAC,OAAO,EACf,aAAa,CACX,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,eAAe,EACpB,QAAQ,EACR,OAAO,CAAC,SAAS,CAClB,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAY;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc;QAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS;QAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,aAAa,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9E,IACE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAChC,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7B,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS;QAE5B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,IAAoC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,OAAO,aAAa,mDAAmD,EACvE,SAAS,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CACR,mFAAmF,EACnF,+EAA+E,EAC/E,iEAAiE,aAAa,QAAQ,EACtF,qEAAqE,EACrE,6EAA6E,IAAI,CAAC,IAAI,EAAE,CACzF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * The conversation around `createApp`: ask what the flags did not say,
3
3
  * scaffold, and install the chosen registry items once the developer
4
- * has approved the commands that do it.
4
+ * has approved the commands that do it. The items go in through
5
+ * `intelligo sync` — one `shadcn add` per item from the registry this
6
+ * CLI carries, recorded in the manifest — exactly as a later sync
7
+ * would put them back.
5
8
  *
6
9
  * Nothing runs on the developer's machine without their say-so. In a
7
10
  * terminal the commands are shown and confirmed; without one (CI, a
@@ -1 +1 @@
1
- {"version":3,"file":"create-flow.d.ts","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iCAAiC;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,6DAA6D;IAC7D,GAAG,EAAE,OAAO,CAAC;IACb,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuBrE;AAwBD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IACP,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,WAAW,EAAE,OAAO,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAwHjB"}
1
+ {"version":3,"file":"create-flow.d.ts","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA6BH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iCAAiC;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,6DAA6D;IAC7D,GAAG,EAAE,OAAO,CAAC;IACb,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuBrE;AAiED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IACP,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,WAAW,EAAE,OAAO,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAiIjB"}
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * The conversation around `createApp`: ask what the flags did not say,
3
3
  * scaffold, and install the chosen registry items once the developer
4
- * has approved the commands that do it.
4
+ * has approved the commands that do it. The items go in through
5
+ * `intelligo sync` — one `shadcn add` per item from the registry this
6
+ * CLI carries, recorded in the manifest — exactly as a later sync
7
+ * would put them back.
5
8
  *
6
9
  * Nothing runs on the developer's machine without their say-so. In a
7
10
  * terminal the commands are shown and confirmed; without one (CI, a
@@ -11,7 +14,9 @@ import { spawnSync } from "node:child_process";
11
14
  import path from "node:path";
12
15
  import * as p from "@clack/prompts";
13
16
  import { assertNotOccupied, createApp, deriveNames, formatCreateResult, formatNextSteps, isOccupied, } from "./create.js";
14
- import { detectPackageManager, formatCommand, hasLocalShadcn, installPlan, readRegistryCatalogue, shortDescription, withDependencies, } from "../registry-items.js";
17
+ import { syncApply } from "./sync.js";
18
+ import { resolveRegistryDir } from "../registry-bundle.js";
19
+ import { detectPackageManager, findWorkspaceRoot, formatCommand, installPlan, readRegistryCatalogue, shortDescription, withDependencies, } from "../registry-items.js";
15
20
  export function parseCreateFlags(args) {
16
21
  let target;
17
22
  let items;
@@ -54,6 +59,32 @@ function run(c, cwd) {
54
59
  });
55
60
  return result.status === 0;
56
61
  }
62
+ /**
63
+ * Run the plan: the dependency install, then the sync. Returns the
64
+ * commands still to run by hand — none when both succeeded.
65
+ */
66
+ async function installPages(plan, options) {
67
+ const { appRoot, interactive, show } = options;
68
+ const say = (line) => interactive ? p.log.step(line) : console.log(line);
69
+ const fail = (message) => interactive ? p.log.error(message) : console.error(message);
70
+ if (plan.install) {
71
+ say(`› ${show(plan.install)}`);
72
+ if (!run(plan.install, plan.install.cwd ?? appRoot)) {
73
+ fail(`\`${show(plan.install)}\` failed — the scaffold is in place; run the rest by hand.`);
74
+ return [plan.install, plan.sync];
75
+ }
76
+ }
77
+ say(`› ${show(plan.sync)}`);
78
+ const code = await syncApply(plan.items, options.syncContext, {
79
+ force: true,
80
+ log: say,
81
+ });
82
+ if (code !== 0) {
83
+ fail("The pages did not all install — the scaffold is in place; re-run the sync by hand.");
84
+ return [plan.sync];
85
+ }
86
+ return [];
87
+ }
57
88
  export async function runCreate(flags, context) {
58
89
  const { interactive } = context;
59
90
  const catalogue = readRegistryCatalogue(context.templatesDir);
@@ -127,45 +158,46 @@ export async function runCreate(flags, context) {
127
158
  p.log.success(`Scaffolded ${result.written.length} files in ${target}`);
128
159
  }
129
160
  // 4. The pages — only with approval.
130
- const plan = installPlan(items, { appRoot, packageManager });
131
- let approved = plan.length > 0 && flags.install && flags.yes;
132
- if (plan.length > 0 && flags.install && !flags.yes && interactive) {
133
- const needsInstall = !hasLocalShadcn(appRoot);
134
- p.note(plan.map(formatCommand).join("\n"), "Commands to run in " + target);
161
+ const workspaceRoot = findWorkspaceRoot(appRoot);
162
+ const plan = installPlan(items, { appRoot, packageManager, workspaceRoot });
163
+ const commands = plan
164
+ ? [...(plan.install ? [plan.install] : []), plan.sync]
165
+ : [];
166
+ const show = (c) => formatCommand(c, appRoot);
167
+ const registryDir = resolveRegistryDir(context.templatesDir);
168
+ if (plan && flags.install && !registryDir) {
169
+ console.error("This CLI has no bundled registry to install pages from — in the framework repository, run `pnpm registry:build` first.");
170
+ }
171
+ let approved = plan !== null && flags.install && flags.yes && !!registryDir;
172
+ if (plan && flags.install && registryDir && !flags.yes && interactive) {
173
+ p.note(commands.map(show).join("\n"), "Commands to run in " + target);
135
174
  const answer = await p.confirm({
136
- message: needsInstall
137
- ? `shadcn is not installed yet — install the dependencies (shadcn included) with ${packageManager} and add ${items.length} page(s)?`
175
+ message: plan.install
176
+ ? `shadcn is not installed yet — install the dependencies (shadcn included) with ${plan.install.command}${workspaceRoot ? " from the workspace root" : ""} and add ${items.length} page(s)?`
138
177
  : `Add ${items.length} page(s) with shadcn?`,
139
178
  });
140
179
  if (bail(answer, `The scaffold is in ${target}; nothing was installed.`))
141
180
  return 1;
142
181
  approved = answer;
143
182
  }
144
- let pending = [];
145
- if (approved) {
146
- for (const [i, command] of plan.entries()) {
147
- if (interactive)
148
- p.log.step(formatCommand(command));
149
- else
150
- console.log(`› ${formatCommand(command)}`);
151
- if (!run(command, appRoot)) {
152
- pending = plan.slice(i);
153
- const message = `\`${formatCommand(command)}\` failed — the scaffold is in place; run the rest by hand.`;
154
- if (interactive)
155
- p.log.error(message);
156
- else
157
- console.error(message);
158
- break;
159
- }
160
- }
161
- }
162
- else {
163
- pending = plan;
164
- }
183
+ const pending = approved && plan && registryDir
184
+ ? await installPages(plan, {
185
+ appRoot,
186
+ interactive,
187
+ show,
188
+ syncContext: {
189
+ appRoot,
190
+ registryDir,
191
+ requires: catalogue.requires,
192
+ frameworkVersion: context.frameworkVersion,
193
+ },
194
+ })
195
+ : commands;
165
196
  const next = {
166
- packageManager,
197
+ packageManager: workspaceRoot ? "pnpm" : packageManager,
167
198
  installed: approved && pending.length === 0,
168
199
  pending,
200
+ workspaceRoot,
169
201
  };
170
202
  if (interactive) {
171
203
  p.note(formatNextSteps(target, next), "Next");
@@ -1 +1 @@
1
- {"version":3,"file":"create-flow.js","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-flow.js","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,12 @@
9
9
  *
10
10
  * In a terminal it asks for the project name when none is given, then
11
11
  * which registry pages to install (`--items a,b` or `--all` answer that
12
- * without asking). The pages are installed by the shadcn CLI the scaffold
13
- * declares, after the dependencies — and only once you approve the exact
14
- * commands, or pass `--yes`. `--no-install` stops after the scaffold and
15
- * prints them instead.
12
+ * without asking). The pages are installed by `intelligo sync` — one
13
+ * `shadcn add` per item, from the registry this CLI carries — after the
14
+ * dependencies (from the root of a parent pnpm workspace when the app is
15
+ * a member of one), and only once you approve the exact commands, or
16
+ * pass `--yes`. `--no-install` stops after the scaffold and prints them
17
+ * instead.
16
18
  */
17
19
  import { type AddResult } from "./add.js";
18
20
  import { type Command, type PackageManager } from "../registry-items.js";
@@ -44,6 +46,8 @@ export type NextSteps = {
44
46
  installed: boolean;
45
47
  /** Install commands the developer declined, or that did not get to run. */
46
48
  pending?: Command[];
49
+ /** The parent pnpm workspace the app is a member of, installed from its root. */
50
+ workspaceRoot?: string | null;
47
51
  };
48
52
  export declare function formatNextSteps(target: string, next: NextSteps): string;
49
53
  export declare function formatCreateResult(target: string, r: AddResult, next?: NextSteps): string;
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG;IAC1B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAUA;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAOtD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAoB3D;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,cAAc,EAAE,cAAc,CAAC;IAC/B,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AASF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAYvE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,SAAS,EACZ,IAAI,GAAE,SAAwD,GAC7D,MAAM,CAWR"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG;IAC1B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAUA;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAOtD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAoB3D;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,cAAc,EAAE,cAAc,CAAC;IAC/B,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AASF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAkBvE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,SAAS,EACZ,IAAI,GAAE,SAAwD,GAC7D,MAAM,CAWR"}
@@ -9,10 +9,12 @@
9
9
  *
10
10
  * In a terminal it asks for the project name when none is given, then
11
11
  * which registry pages to install (`--items a,b` or `--all` answer that
12
- * without asking). The pages are installed by the shadcn CLI the scaffold
13
- * declares, after the dependencies — and only once you approve the exact
14
- * commands, or pass `--yes`. `--no-install` stops after the scaffold and
15
- * prints them instead.
12
+ * without asking). The pages are installed by `intelligo sync` — one
13
+ * `shadcn add` per item, from the registry this CLI carries — after the
14
+ * dependencies (from the root of a parent pnpm workspace when the app is
15
+ * a member of one), and only once you approve the exact commands, or
16
+ * pass `--yes`. `--no-install` stops after the scaffold and prints them
17
+ * instead.
16
18
  */
17
19
  import { existsSync, mkdirSync, readdirSync } from "node:fs";
18
20
  import path from "node:path";
@@ -67,14 +69,20 @@ function shellQuote(value) {
67
69
  }
68
70
  export function formatNextSteps(target, next) {
69
71
  const pm = next.packageManager;
72
+ const appRoot = path.resolve(target);
73
+ const install = {
74
+ command: pm,
75
+ args: ["install"],
76
+ cwd: next.workspaceRoot ?? appRoot,
77
+ };
70
78
  return [
71
- `cd ${shellQuote(path.relative(process.cwd(), path.resolve(target)) || ".")}`,
79
+ `cd ${shellQuote(path.relative(process.cwd(), appRoot) || ".")}`,
72
80
  "cp .env.example .env.local # then fill it in",
73
81
  ...(next.pending?.length
74
- ? next.pending.map(formatCommand)
82
+ ? next.pending.map((c) => formatCommand(c, appRoot))
75
83
  : next.installed
76
84
  ? []
77
- : [`${pm} install`]),
85
+ : [formatCommand(install, appRoot)]),
78
86
  `${pm === "npm" ? "npm run" : pm} dev`,
79
87
  ].join("\n");
80
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrC,CAAC;AAiCF,MAAM,MAAM,aAAa,GAAG;IAC1B,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,CAAC;AAyLF,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,WAAW,EAAE,CAmNpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAK5D;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAE1D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrC,CAAC;AAsBF,MAAM,MAAM,aAAa,GAAG;IAC1B,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,CAAC;AAyLF,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,WAAW,EAAE,CAwNpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAK5D;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAE1D"}
@@ -8,18 +8,9 @@ import { existsSync, readFileSync } from "node:fs";
8
8
  import { parseEnv } from "node:util";
9
9
  import { inspectMigrationChain, readMigrationChain } from "../migrations.js";
10
10
  import { readManifest } from "../manifest.js";
11
+ import { checkExports, hasObjectKey, reexportedSource, stripComments, } from "../module-exports.js";
11
12
  import { MODEL_CATALOGUE_LOCATIONS, readCatalogueModelIds, } from "../model-catalogue.js";
12
13
  import { MIGRATION_LOCATIONS, resolveMigrationsDir, } from "../migrations-dir.js";
13
- /**
14
- * Block and line comments removed, so a check cannot be satisfied — or
15
- * defeated — by prose. The composition root's own doc comment names
16
- * `registerModels` in several of the templates.
17
- */
18
- function stripComments(text) {
19
- return text
20
- .replace(/\/\*[\s\S]*?\*\//g, "")
21
- .replace(/(^|[^:])\/\/.*$/gm, "$1");
22
- }
23
14
  /**
24
15
  * templates/registry-requires.json is a build-time copy of
25
16
  * packages/registry/requires.json (scripts/sync-registry-requires.mjs),
@@ -254,13 +245,17 @@ export function runChecks(options = {}) {
254
245
  const requires = options.requires === undefined ? bundledRequires() : options.requires;
255
246
  if (requires) {
256
247
  const exists = (rel) => [".ts", ".tsx", ".js", ".jsx", ".json", ""].some((ext) => existsSync(path.join(root, rel + ext)));
257
- const plansSource = existsSync(path.join(root, "lib/plans.ts"))
258
- ? readFileSync(path.join(root, "lib/plans.ts"), "utf8")
259
- : null;
248
+ // lib/plans.ts and whatever it re-exports — a catalogue defined in
249
+ // a workspace package counts — comments stripped.
250
+ const plansFile = ["lib/plans.ts", "lib/plans.tsx"]
251
+ .map((rel) => path.join(root, rel))
252
+ .find((file) => existsSync(file));
253
+ const plans = plansFile ? reexportedSource(plansFile, root) : null;
260
254
  for (const [name, item] of Object.entries(requires.items)) {
261
255
  if (!existsSync(path.join(root, item.marker)))
262
256
  continue;
263
257
  const problems = [];
258
+ const notes = [];
264
259
  for (const dep of item.items ?? []) {
265
260
  const marker = requires.items[dep]?.marker;
266
261
  if (marker && !existsSync(path.join(root, marker))) {
@@ -277,21 +272,28 @@ export function runChecks(options = {}) {
277
272
  .find((p) => existsSync(p));
278
273
  if (!abs)
279
274
  continue; // reported above as a missing file
280
- const source = readFileSync(abs, "utf8");
281
- const missing = names.filter((n) => !new RegExp(`export\\s+(?:default\\s+)?(?:async\\s+)?(?:const|function\\*?|let|var|class)\\s+${n}\\b`).test(source) &&
282
- !new RegExp(`export\\s*\\{[^}]*\\b${n}\\b`).test(source));
275
+ const { missing, unresolved } = checkExports(abs, names, root);
283
276
  if (missing.length) {
284
277
  problems.push(`${file} must export ${missing.join(", ")}`);
285
278
  }
279
+ else if (unresolved.length) {
280
+ notes.push(`${file}: could not read ${unresolved.map((u) => `\`export * from "${u}"\``).join(", ")} — assumed to provide ${names.join(", ")}`);
281
+ }
286
282
  }
287
283
  for (const feature of item.features ?? []) {
288
- if (plansSource !== null &&
289
- !new RegExp(`\\b${feature}\\b\\s*:`).test(plansSource)) {
284
+ if (!plans || hasObjectKey(plans.text, feature))
285
+ continue;
286
+ if (plans.unresolved.length) {
287
+ notes.push(`the "${feature}" feature key is not in lib/plans.ts, and ${plans.unresolved.join(", ")} could not be read to confirm it`);
288
+ }
289
+ else {
290
290
  problems.push(`register the "${feature}" feature key in lib/plans.ts — an unregistered key is denied (403)`);
291
291
  }
292
292
  }
293
293
  results.push(problems.length === 0
294
- ? { name: `item:${name}`, status: "ok", detail: "requirements met" }
294
+ ? notes.length === 0
295
+ ? { name: `item:${name}`, status: "ok", detail: "requirements met" }
296
+ : { name: `item:${name}`, status: "warn", detail: notes.join("; ") }
295
297
  : {
296
298
  name: `item:${name}`,
297
299
  status: "error",