@metaobjectsdev/cli 0.9.0-rc.1 → 0.10.0

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 (52) hide show
  1. package/dist/src/commands/docs.d.ts +2 -0
  2. package/dist/src/commands/docs.d.ts.map +1 -0
  3. package/dist/src/commands/docs.js +395 -0
  4. package/dist/src/commands/docs.js.map +1 -0
  5. package/dist/src/commands/gen.d.ts.map +1 -1
  6. package/dist/src/commands/gen.js +41 -1
  7. package/dist/src/commands/gen.js.map +1 -1
  8. package/dist/src/commands/init.d.ts +6 -0
  9. package/dist/src/commands/init.d.ts.map +1 -1
  10. package/dist/src/commands/init.js +102 -29
  11. package/dist/src/commands/init.js.map +1 -1
  12. package/dist/src/commands/verify.d.ts.map +1 -1
  13. package/dist/src/commands/verify.js +69 -15
  14. package/dist/src/commands/verify.js.map +1 -1
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/index.js +20 -32
  17. package/dist/src/index.js.map +1 -1
  18. package/dist/src/lib/agent-context-staleness.d.ts +7 -0
  19. package/dist/src/lib/agent-context-staleness.d.ts.map +1 -0
  20. package/dist/src/lib/agent-context-staleness.js +26 -0
  21. package/dist/src/lib/agent-context-staleness.js.map +1 -0
  22. package/dist/src/lib/args.d.ts +14 -0
  23. package/dist/src/lib/args.d.ts.map +1 -1
  24. package/dist/src/lib/args.js +22 -0
  25. package/dist/src/lib/args.js.map +1 -1
  26. package/dist/src/lib/codegen-drift.d.ts +21 -0
  27. package/dist/src/lib/codegen-drift.d.ts.map +1 -0
  28. package/dist/src/lib/codegen-drift.js +142 -0
  29. package/dist/src/lib/codegen-drift.js.map +1 -0
  30. package/dist/src/lib/detect-stack.d.ts +7 -0
  31. package/dist/src/lib/detect-stack.d.ts.map +1 -0
  32. package/dist/src/lib/detect-stack.js +38 -0
  33. package/dist/src/lib/detect-stack.js.map +1 -0
  34. package/dist/src/lib/load-metaobjects-config.d.ts.map +1 -1
  35. package/dist/src/lib/load-metaobjects-config.js +8 -0
  36. package/dist/src/lib/load-metaobjects-config.js.map +1 -1
  37. package/dist/src/lib/version.d.ts +7 -0
  38. package/dist/src/lib/version.d.ts.map +1 -0
  39. package/dist/src/lib/version.js +30 -0
  40. package/dist/src/lib/version.js.map +1 -0
  41. package/package.json +56 -45
  42. package/src/commands/docs.ts +438 -0
  43. package/src/commands/gen.ts +44 -1
  44. package/src/commands/init.ts +106 -31
  45. package/src/commands/verify.ts +81 -15
  46. package/src/index.ts +20 -30
  47. package/src/lib/agent-context-staleness.ts +24 -0
  48. package/src/lib/args.ts +41 -0
  49. package/src/lib/codegen-drift.ts +173 -0
  50. package/src/lib/detect-stack.ts +41 -0
  51. package/src/lib/load-metaobjects-config.ts +8 -0
  52. package/src/lib/version.ts +27 -0
@@ -0,0 +1,2 @@
1
+ export declare function docsCommand(args: string[], cwd: string): Promise<number>;
2
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/commands/docs.ts"],"names":[],"mappings":"AAsJA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgQ9E"}
@@ -0,0 +1,395 @@
1
+ // `meta docs <metadata> --out <dir>` — STANDALONE neutral metadata docs.
2
+ //
3
+ // Emits one neutral page per entity (`<Entity>.md`) and one per
4
+ // `template.output` (`<Template>.md`) from metadata ALONE — no gen config, no
5
+ // codegen pipeline. It is the Tier-2 delivery (like `migrate`): runnable from
6
+ // the compiled `meta` binary.
7
+ //
8
+ // DRY: this command does NOT re-walk objects/templates. It builds the same
9
+ // GenContext the codegen runner builds for the `docsFile()` generator and
10
+ // calls that generator, then writes the returned files. The neutrality of the
11
+ // output is therefore guaranteed — it is byte-for-byte the same generator the
12
+ // `meta gen` pipeline runs (gated by the docs conformance fixture).
13
+ import { resolve as resolvePath } from "node:path";
14
+ import { mkdir, writeFile } from "node:fs/promises";
15
+ import { log } from "../lib/log.js";
16
+ import { loadMetaobjectsConfig } from "../lib/load-metaobjects-config.js";
17
+ import { loadMemory, DEFAULT_METADATA_DIR } from "@metaobjectsdev/sdk";
18
+ import { existsSync } from "node:fs";
19
+ import { join } from "node:path";
20
+ import { makeRenderContext, buildPkMap, buildRelationMap, resolveDocsConfig, apiLabel, } from "@metaobjectsdev/codegen-ts";
21
+ import { docsFile, apiDocsFile } from "@metaobjectsdev/codegen-ts/generators";
22
+ import { composeRegistry, coreProviders, renderCoreMetamodelDocs } from "@metaobjectsdev/metadata";
23
+ function parseLayout(v, flag) {
24
+ if (v === undefined)
25
+ throw new Error(`${flag} requires flat|package`);
26
+ if (v !== "flat" && v !== "package") {
27
+ throw new Error(`${flag} must be "flat" or "package" (got "${v}")`);
28
+ }
29
+ return v;
30
+ }
31
+ function parseDocsArgs(argv, cwd) {
32
+ let metadata;
33
+ let out;
34
+ let templates;
35
+ let layout;
36
+ let baseUrl;
37
+ let wantModel = false;
38
+ let wantApi = false;
39
+ let wantMetamodel = false;
40
+ let outProvided = false;
41
+ let layoutProvided = false;
42
+ for (let i = 0; i < argv.length; i++) {
43
+ const a = argv[i];
44
+ if (a === "--out" || a === "-o") {
45
+ const v = argv[++i];
46
+ if (v === undefined)
47
+ throw new Error(`${a} requires a directory argument`);
48
+ out = v;
49
+ outProvided = true;
50
+ }
51
+ else if (a.startsWith("--out=")) {
52
+ out = a.slice("--out=".length);
53
+ outProvided = true;
54
+ }
55
+ else if (a === "--layout") {
56
+ layout = parseLayout(argv[++i], a);
57
+ layoutProvided = true;
58
+ }
59
+ else if (a.startsWith("--layout=")) {
60
+ layout = parseLayout(a.slice("--layout=".length), "--layout");
61
+ layoutProvided = true;
62
+ }
63
+ else if (a === "--model") {
64
+ wantModel = true;
65
+ }
66
+ else if (a === "--api") {
67
+ wantApi = true;
68
+ }
69
+ else if (a === "--metamodel") {
70
+ wantMetamodel = true;
71
+ }
72
+ else if (a === "--base-url") {
73
+ const v = argv[++i];
74
+ if (v === undefined)
75
+ throw new Error(`${a} requires a URL argument`);
76
+ baseUrl = v;
77
+ }
78
+ else if (a.startsWith("--base-url=")) {
79
+ baseUrl = a.slice("--base-url=".length);
80
+ }
81
+ else if (a === "--templates") {
82
+ const v = argv[++i];
83
+ if (v === undefined)
84
+ throw new Error(`${a} requires a directory argument`);
85
+ templates = v;
86
+ }
87
+ else if (a.startsWith("--templates=")) {
88
+ templates = a.slice("--templates=".length);
89
+ }
90
+ else if (a.startsWith("-")) {
91
+ throw new Error(`unknown flag: ${a}`);
92
+ }
93
+ else if (metadata === undefined) {
94
+ metadata = a;
95
+ }
96
+ else {
97
+ throw new Error(`unexpected argument: ${a}`);
98
+ }
99
+ }
100
+ // --model and/or --api narrow the surfaces; both flags (or neither) leave the
101
+ // surfaces unset so the resolved `docs:` config decides (default both).
102
+ const surfaces = [];
103
+ if (wantModel)
104
+ surfaces.push("model");
105
+ if (wantApi)
106
+ surfaces.push("api");
107
+ return {
108
+ // `<metadata>` is the project root that contains metaobjects/; default cwd
109
+ // (mirrors how migrate/gen treat the working directory as the root).
110
+ metadata: metadata ?? cwd,
111
+ // Default out dir, resolved against the metadata root below. In --metamodel
112
+ // mode the renderer writes under <out>/metamodel/, default ./docs/metamodel.
113
+ out: out ?? (wantMetamodel ? "./docs/metamodel" : "./docs"),
114
+ // Default flat preserves today's single-package output (+ existing goldens).
115
+ layout: layout ?? "flat",
116
+ metamodel: wantMetamodel,
117
+ outProvided,
118
+ layoutProvided,
119
+ ...(surfaces.length > 0 ? { surfaces } : {}),
120
+ ...(baseUrl !== undefined ? { baseUrl } : {}),
121
+ ...(templates !== undefined ? { templates } : {}),
122
+ };
123
+ }
124
+ export async function docsCommand(args, cwd) {
125
+ let flags;
126
+ try {
127
+ flags = parseDocsArgs(args, cwd);
128
+ }
129
+ catch (err) {
130
+ log.error(`docs: ${err.message}`);
131
+ return 2;
132
+ }
133
+ // FR-033 S3 — `--metamodel`: document the BUILT-IN metamodel (type/subtype/
134
+ // attr vocabulary) from the strict registry. Unlike --model/--api this needs
135
+ // NEITHER a user's metadata NOR a config — there is nothing to load. It writes
136
+ // the renderer's files under <out>/metamodel/ (default ./docs/metamodel).
137
+ if (flags.metamodel) {
138
+ return metamodelDocsCommand(cwd, flags.out);
139
+ }
140
+ const metaRoot = resolvePath(cwd, flags.metadata);
141
+ // The project root used to resolve adopter `templates/` overrides; the
142
+ // framework defaults sit underneath via projectProvider's chain.
143
+ const projectRoot = flags.templates !== undefined
144
+ ? resolvePath(cwd, flags.templates)
145
+ : metaRoot;
146
+ // Best-effort load of metaobjects.config.ts to pick up consumer-supplied
147
+ // providers (e.g. a project's custom field/object subtypes). Unlike `gen`,
148
+ // docs does NOT require a config — the Tier-2 "metadata alone" promise must
149
+ // hold for config-less projects. If the config is absent or invalid, fall
150
+ // back to defaults; the loader still surfaces a stable unknown-subtype error
151
+ // if the metadata genuinely uses an unregistered type.
152
+ let loadedConfig;
153
+ let configProviders;
154
+ // hasConfig gates the api surface: api docs describe the GENERATED REST
155
+ // surface, which only exists when there is a (loadable) gen config. A config
156
+ // that EXISTS but fails to load degrades to model-only with a warning.
157
+ const hasConfig = existsSync(join(metaRoot, "metaobjects.config.ts"));
158
+ // The config lives alongside metaobjects/ at the metadata root (metaRoot);
159
+ // projectRoot only diverges when --templates overrides the template lookup.
160
+ // Only attempt the load when the file is actually present: absence is the
161
+ // expected config-less case (stay silent), but a config that EXISTS yet fails
162
+ // to load is surfaced as a warning rather than silently degrading to
163
+ // provider-less docs — otherwise a custom-type project would later fail with a
164
+ // cryptic unknown-subtype error instead of the real config error.
165
+ if (hasConfig) {
166
+ try {
167
+ loadedConfig = await loadMetaobjectsConfig(metaRoot);
168
+ configProviders = loadedConfig.providers;
169
+ }
170
+ catch (err) {
171
+ log.warn(`docs: metaobjects.config.ts failed to load (${err.message}); ` +
172
+ `generating docs without its providers`);
173
+ loadedConfig = undefined;
174
+ configProviders = undefined;
175
+ }
176
+ }
177
+ // Merge the config `docs:` block with CLI overrides over documented defaults.
178
+ // CLI --out/--layout only override when explicitly passed; surfaces/baseUrl
179
+ // override whenever present. The resolver supplies defaults (outDir ./docs,
180
+ // layout = fallback, surfaces = both) so config-less + flag-less runs are
181
+ // unchanged.
182
+ const cliOverrides = {
183
+ ...(flags.outProvided ? { outDir: flags.out } : {}),
184
+ ...(flags.layoutProvided ? { layout: flags.layout } : {}),
185
+ ...(flags.surfaces ? { surfaces: flags.surfaces } : {}),
186
+ ...(flags.baseUrl !== undefined ? { baseUrl: flags.baseUrl } : {}),
187
+ };
188
+ // Layout fallback chain: --layout (override, gated above) → docs.layout block →
189
+ // the project's top-level outputLayout → flat. So docs default to the SAME page
190
+ // placement as codegen when neither the docs block nor the CLI sets it.
191
+ const docsCfg = resolveDocsConfig(loadedConfig?.docs, cliOverrides, loadedConfig?.outputLayout ?? "flat");
192
+ const outDir = resolvePath(metaRoot, docsCfg.outDir);
193
+ // Load metadata standalone — same loader path as migrate/gen. Threads any
194
+ // consumer providers from the config so custom types resolve.
195
+ let root;
196
+ try {
197
+ root = await loadMemory(metaRoot, {
198
+ ...(configProviders !== undefined ? { providers: configProviders } : {}),
199
+ });
200
+ }
201
+ catch (err) {
202
+ const msg = err.message;
203
+ if (!existsSync(join(metaRoot, DEFAULT_METADATA_DIR))) {
204
+ log.error(`docs: no metaobjects/ found in ${metaRoot}; run 'meta init' to scaffold`);
205
+ }
206
+ else {
207
+ log.error(`docs: failed to load metadata: ${msg}`);
208
+ }
209
+ return 2;
210
+ }
211
+ // Build the same GenContext the codegen runner builds for docsFile(). The
212
+ // dialect only affects column-type hints on the entity page; "sqlite" is the
213
+ // neutral default (migrate's offline path uses the same fallback chain).
214
+ const renderContext = makeRenderContext({
215
+ dialect: "sqlite",
216
+ loadedRoot: root,
217
+ outDir,
218
+ dbImport: "",
219
+ pkMap: buildPkMap(root),
220
+ relationMap: buildRelationMap(root),
221
+ });
222
+ const ctx = {
223
+ entities: root.objects(),
224
+ loadedRoot: root,
225
+ matches: () => true,
226
+ config: {
227
+ outDir,
228
+ extStyle: "none",
229
+ dbImport: "",
230
+ dialect: "sqlite",
231
+ outputLayout: docsCfg.layout,
232
+ // api-docs reads this to decide whether to document the opt-in Hono CRUD
233
+ // surface. Aggregate it from the generator set exactly as the gen runner
234
+ // does (a generator opts in via emitsHonoRoutes), so `meta docs` auto-detects
235
+ // routesFileHono() rather than relying on a field users don't normally set.
236
+ includeHonoRoutes: loadedConfig?.includeHonoRoutes ??
237
+ (loadedConfig?.generators?.some((g) => typeof g !== "string" && g.emitsHonoRoutes === true) ??
238
+ false),
239
+ },
240
+ renderContext,
241
+ projectRoot,
242
+ warn: (msg) => log.warn(`docs: ${msg}`),
243
+ };
244
+ const emit = [];
245
+ let modelFiles = [];
246
+ // The declared api surfaces, each tagged with its human label (apiLabel maps
247
+ // the language key → label; never hardcode labels). The model page links one
248
+ // reference per declared surface — across ALL ports, not just the surfaces
249
+ // THIS command emits — so a polyglot model page points at every port's docs.
250
+ const labeled = docsCfg.apiSurfaces.map((s) => ({ ...s, label: apiLabel(s.lang) }));
251
+ // The api surface only materializes with a loadable gen config (there is
252
+ // nothing generated to document otherwise), so gate api emit + cross-linking
253
+ // on that. When false, the model surface emits its historical standalone form.
254
+ const apiSelected = docsCfg.surfaces.includes("api") && loadedConfig !== undefined;
255
+ // MODEL surface — the neutral metadata pages (<Entity>.md / <Template>.md +
256
+ // README.md). Keep the render-error handling tight around docsFile() only.
257
+ if (docsCfg.surfaces.includes("model")) {
258
+ // When api is selected, link EVERY declared surface from the model page (so a
259
+ // polyglot model page references each port's api docs). `labeled` already
260
+ // carries {label, subDir, baseUrl?} (docsFile ignores the extra `lang`), so
261
+ // pass it straight through. Otherwise no api refs.
262
+ const modelOpts = apiSelected ? { apiSurfaces: labeled } : {};
263
+ try {
264
+ modelFiles = await docsFile(modelOpts).generate(ctx);
265
+ }
266
+ catch (err) {
267
+ const msg = err.message;
268
+ // Duplicate output path (silent-overwrite backstop): the generator already
269
+ // names both colliding FQNs + the path and starts with "docs:". Surface it
270
+ // verbatim as a clean non-zero exit (no double prefix, no stack trace).
271
+ if (msg.startsWith("docs: duplicate output path")) {
272
+ log.error(msg);
273
+ return 1;
274
+ }
275
+ // The framework templates resolve from disk; inside the compiled `meta`
276
+ // binary they live on a virtual fs the provider cannot read. Surface that
277
+ // as an actionable message rather than a cryptic render failure.
278
+ if (/entity-page|template-page|failed rendering|ENOENT|not found/i.test(msg)) {
279
+ log.error(`docs: failed to render — templates not found. ` +
280
+ `Run 'meta docs' from an installed package layout (with on-disk ` +
281
+ `templates/), not the standalone binary, OR drop your own ` +
282
+ `templates/docs/entity-page.md.mustache + template-page.md.mustache. (${msg})`);
283
+ }
284
+ else {
285
+ log.error(`docs: ${msg}`);
286
+ }
287
+ return 1;
288
+ }
289
+ emit.push(...modelFiles);
290
+ }
291
+ // API surface — the SDK reference for the GENERATED REST surface, side by side
292
+ // under each surface's subDir. THIS command only OWNS the surfaces it can
293
+ // generate — i.e. its own port (lang "ts"). Surfaces owned by other ports are
294
+ // linked (above) but produced by running that port's docs command; we just log
295
+ // a pointer. Only meaningful with a loadable gen config, so skip when absent.
296
+ let apiFiles = [];
297
+ if (docsCfg.surfaces.includes("api")) {
298
+ if (loadedConfig !== undefined) {
299
+ try {
300
+ // Emit every surface THIS port owns (loop so it generalizes beyond the
301
+ // single ts surface owned today).
302
+ for (const s of labeled.filter((s) => s.lang === "ts")) {
303
+ apiFiles.push(...(await apiDocsFile({
304
+ subDir: s.subDir,
305
+ modelSurface: docsCfg.surfaces.includes("model"),
306
+ }).generate(ctx)));
307
+ }
308
+ }
309
+ catch (err) {
310
+ const msg = err.message;
311
+ if (msg.startsWith("docs: duplicate output path")) {
312
+ log.error(msg);
313
+ return 1;
314
+ }
315
+ log.error(`docs: ${msg}`);
316
+ return 1;
317
+ }
318
+ emit.push(...apiFiles);
319
+ // Surfaces owned by other ports: link only, with a pointer to where they
320
+ // get produced.
321
+ for (const s of labeled.filter((s) => s.lang !== "ts")) {
322
+ log.info(`meta docs: api surface '${s.lang}' (${s.subDir}) is produced by that port's docs command — run it to populate those pages.`);
323
+ }
324
+ }
325
+ else if (hasConfig) {
326
+ // Config present but failed to load — already warned above; don't claim an
327
+ // api surface we couldn't build.
328
+ log.info("meta docs: api surface skipped — metaobjects.config.ts failed to load.");
329
+ }
330
+ else {
331
+ log.info("meta docs: api surface skipped — no metaobjects.config.ts (nothing generated to document).");
332
+ }
333
+ }
334
+ try {
335
+ await mkdir(outDir, { recursive: true });
336
+ for (const f of emit) {
337
+ const path = resolvePath(outDir, f.path);
338
+ await mkdir(resolvePath(path, ".."), { recursive: true });
339
+ await writeFile(path, f.content, "utf8");
340
+ }
341
+ }
342
+ catch (err) {
343
+ log.error(`docs: failed to write pages: ${err.message}`);
344
+ return 1;
345
+ }
346
+ // Summary: docsFile() emits ONE overview/index page (README.md) plus one page
347
+ // per entity and one per template.output. The entity count is the matched
348
+ // object count; the remaining non-overview model pages are template pages.
349
+ const entityCount = root.objects().filter(ctx.matches).length;
350
+ const modelOverview = modelFiles.filter((f) => f.path === "README.md").length;
351
+ const modelTemplates = modelFiles.length > 0
352
+ ? modelFiles.length - entityCount - modelOverview
353
+ : 0;
354
+ const modelSummary = docsCfg.surfaces.includes("model")
355
+ ? `${modelOverview} overview + ${entityCount} entity page(s) + ${modelTemplates} template page(s)`
356
+ : "model surface skipped";
357
+ const apiSummary = apiFiles.length > 0
358
+ ? `${apiFiles.length} api page(s)`
359
+ : "no api pages";
360
+ log.info(`meta docs — wrote ${modelSummary}; ${apiSummary} → ${outDir}`);
361
+ return 0;
362
+ }
363
+ /**
364
+ * FR-033 S3 — emit the metamodel reference docs (INDEX.md + per-type pages +
365
+ * providers.md) from the BUILT-IN strict registry. No metadata, no config:
366
+ * `composeRegistry(coreProviders)` IS the source. Files land under
367
+ * `<out>` (which defaults to `./docs/metamodel`), preserving the renderer's
368
+ * `types/<family>.md` subtree.
369
+ */
370
+ async function metamodelDocsCommand(cwd, out) {
371
+ const outDir = resolvePath(cwd, out);
372
+ let docs;
373
+ try {
374
+ docs = renderCoreMetamodelDocs(composeRegistry(coreProviders));
375
+ }
376
+ catch (err) {
377
+ log.error(`docs: failed to render metamodel docs: ${err.message}`);
378
+ return 1;
379
+ }
380
+ try {
381
+ await mkdir(outDir, { recursive: true });
382
+ for (const [rel, content] of docs) {
383
+ const path = resolvePath(outDir, rel);
384
+ await mkdir(resolvePath(path, ".."), { recursive: true });
385
+ await writeFile(path, content, "utf8");
386
+ }
387
+ }
388
+ catch (err) {
389
+ log.error(`docs: failed to write metamodel pages: ${err.message}`);
390
+ return 1;
391
+ }
392
+ log.info(`meta docs --metamodel — wrote ${docs.size} page(s) → ${outDir}`);
393
+ return 0;
394
+ }
395
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../src/commands/docs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"AAuBA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0F7E"}
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"AAwBA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmG7E"}
@@ -5,8 +5,9 @@ import { resolveGenConfig } from "../lib/config.js";
5
5
  import { loadMetaobjectsConfig } from "../lib/load-metaobjects-config.js";
6
6
  import { formatGenResult } from "../lib/output.js";
7
7
  import { log } from "../lib/log.js";
8
+ import { warnIfAgentContextStale } from "../lib/agent-context-staleness.js";
8
9
  import { loadMemory, DEFAULT_METADATA_DIR } from "@metaobjectsdev/sdk";
9
- import { runGen } from "@metaobjectsdev/codegen-ts";
10
+ import { runGen, listGenerators } from "@metaobjectsdev/codegen-ts";
10
11
  function mapStatus(s) {
11
12
  switch (s) {
12
13
  case "new":
@@ -27,6 +28,13 @@ export async function genCommand(args, cwd) {
27
28
  log.error(err.message);
28
29
  return 2;
29
30
  }
31
+ // ADR-0021 D3 — `meta gen --list`: print the stable-name generator registry
32
+ // and exit 0 WITHOUT running codegen (no config/metadata required).
33
+ if (flags.list) {
34
+ return listGeneratorsCommand();
35
+ }
36
+ // Advisory: nudge to refresh the .claude/skills docs if they predate this CLI.
37
+ warnIfAgentContextStale(cwd);
30
38
  const projectRoot = cwd;
31
39
  const cliConfig = resolveGenConfig(flags);
32
40
  let forgeConfig;
@@ -106,4 +114,36 @@ export async function genCommand(args, cwd) {
106
114
  const hasFailure = files.some((f) => f.status === "conflict" || f.status === "refused");
107
115
  return hasFailure ? 1 : 0;
108
116
  }
117
+ /**
118
+ * `meta gen --list` — print the stable-name generator registry (ADR-0021 D3).
119
+ *
120
+ * Generators are grouped by tier: the recommended native `meta gen` suite
121
+ * first, then neutral artifacts (owned by `meta docs` per D1). Each line is
122
+ * `<stable-name> — <description>` plus an options summary and, for neutral
123
+ * entries, a note pointing at the canonical door. Exits 0; no codegen runs.
124
+ */
125
+ function listGeneratorsCommand() {
126
+ const entries = listGenerators();
127
+ const native = entries.filter((e) => e.tier === "native");
128
+ const neutral = entries.filter((e) => e.tier === "neutral");
129
+ const width = Math.max(...entries.map((e) => e.name.length));
130
+ const lines = [];
131
+ lines.push("Available generators (select by stable name):");
132
+ lines.push("");
133
+ lines.push("Native (recommended `meta gen` suite):");
134
+ for (const e of native) {
135
+ lines.push(` ${e.name.padEnd(width)} — ${e.description}`);
136
+ if (e.options)
137
+ lines.push(` ${" ".repeat(width)} options: ${e.options}`);
138
+ }
139
+ lines.push("");
140
+ lines.push("Neutral (owned by `meta docs`; not part of the native suite):");
141
+ for (const e of neutral) {
142
+ lines.push(` ${e.name.padEnd(width)} — ${e.description}`);
143
+ if (e.note)
144
+ lines.push(` ${" ".repeat(width)} ${e.note}`);
145
+ }
146
+ log.info(lines.join("\n"));
147
+ return 0;
148
+ }
109
149
  //# sourceMappingURL=gen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAyC,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGpE,SAAS,SAAS,CAAC,CAAc;IAC/B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,WAAW,CAAC,CAAC,OAAO,KAAK,CAAC;QAC/B,KAAK,QAAQ,CAAC,CAAI,OAAO,QAAQ,CAAC;QAClC,KAAK,UAAU,CAAC,CAAE,OAAO,UAAU,CAAC;QACpC,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS,CAAC,CAAG,OAAO,WAAW,CAAC;QACrC,KAAK,SAAS,CAAC,CAAG,OAAO,SAAS,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAc,EAAE,GAAW;IAC1D,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IACnC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAE5D,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED,+EAA+E;IAC/E,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE;YACvC,GAAG,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;QACnC,kEAAkE;QAClE,kEAAkE;QAClE,wEAAwE;QACxE,iEAAiE;QACjE,uEAAuE;QACvE,8CAA8C;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,KAAK,CAAC,4BAA4B,WAAW,+BAA+B,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;YACnB,QAAQ;YACR,WAAW;YACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,eAAgB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAEjD,0EAA0E;IAC1E,6EAA6E;IAC7E,yCAAyC;IACzC,MAAM,KAAK,GAAmB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,EAAE;KACT,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CACnC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,MAAM,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAChC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,KAAK;QACL,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;QAC1E,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,QAAQ,EAAE,EAAE;KACb,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAEtC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjB,uEAAuE;IACvE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aAClD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CACN,2BAA2B,MAAM,CAAC,SAAS,CAAC,MAAM,gBAAgB;YAChE,uDAAuD,IAAI,EAAE,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACxF,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -5,6 +5,12 @@ export interface InitOptions {
5
5
  printOnly?: boolean;
6
6
  refreshDocs?: boolean;
7
7
  d1?: boolean;
8
+ servers?: string[];
9
+ clients?: string[];
10
+ noSkills?: boolean;
11
+ wireRoot?: boolean;
12
+ /** Scaffold ONLY the agent-context (always-on + skills + root wiring), skipping the metaobjects/ project scaffold — for dropping context into an existing/polyglot repo. */
13
+ docsOnly?: boolean;
8
14
  }
9
15
  export interface InitResult {
10
16
  created: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AA6DA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA4BD,wBAAsB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA4HjE;AAoBD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAoBD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiC9E"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAuEA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4KAA4K;IAC5K,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAsED,wBAAsB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkIjE;AAoBD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAoBD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C9E"}