You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3a43b74
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: agent-context/skills/metaobjects-codegen/references/typescript-docs.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ generate, docs included). Each factory is an ordinary entry in `generators`, fro
21
21
|`docsFile()`|`docs`| the neutral model surface — one page per entity and per template (`<Entity>.md`, `<Template>.md`), plus an overview with the whole-model ER diagram. Options: `apiSurfaces`, `templates`. |
22
22
|`apiDocsFile()`|`api-docs`| the api reference — `api/<Entity>.md`, `api/README.md`, `api/AGENT-API.md`: the concrete imports, signatures, payload field shapes and runnable examples for THIS project's generated code. Options: `subDir` (default `api`), `modelBaseUrl`. |
23
23
|`requirementsFile()`|`requirements`| the declared `requirement.*` ledger, each entry headed by its dotted path and `title`. Writes nothing for a model with no `requirement.*` node. |
24
-
|`agentDocsFile()`|`agent-docs`|`agent/schema.md`, `agent/ui.md` (only when the run also lists a client-tier generator, OR the config sets `includeUiTier: true` — the escape hatch for a docs-only config whose UI is generated by a separate config; skipping it with a UI surface in the model prints an advisory naming `includeUiTier`) and `agent/requirements.md` — the three `agent/` pages the always-on pointer reads before touching a tier. |
24
+
|`agentDocsFile()`|`agent-docs`|`agent/schema.md`, `agent/ui.md` (only when the run also lists a client-tier generator, OR the config sets `includeUiTier: true` — the escape hatch for a docs-only config whose UI is generated by a separate config; skipping it with a UI surface in the model and `includeUiTier` unset prints an advisory naming `includeUiTier`; `includeUiTier: false` says there is no UI anywhere and skips it without one) and `agent/requirements.md` — the three `agent/` pages the always-on pointer reads before touching a tier. |
25
25
|`metamodelDocsFile()`|`metamodel-docs`| the built-in vocabulary reference, under `metamodel/` (was `meta docs --metamodel`). |
26
26
|`docsSiteFile()`|`docs-site`| an HTML site under `site/` (was `meta docs --site`). Option: `prompts`. `meta eject docs-site` copies its templates and assets to `codegen/docs-site/` (was `meta docs --scaffold-site`). |
|`docs.layout`, `--layout`|`targets.docs.outputLayout` (falls back to the top-level `outputLayout`, as 1.0 did) |
148
-
|`docs.surfaces`, `--model` / `--api` / `--requirements` / `--agent`| which factories you list: `docsFile()`, `apiDocsFile()`, `requirementsFile()`, `agentDocsFile()`. `--agent` wrote all three agent pages unconditionally; `agentDocsFile()` writes `agent/ui.md` only when the run also lists a client UI generator (a form, a hook, a grid or its columns) or the config sets `includeUiTier: true` — see "Things that are different in 1.1.0" |
148
+
|`docs.surfaces`, `--model` / `--api` / `--requirements` / `--agent`| which factories you list: `docsFile()`, `apiDocsFile()`, `requirementsFile()`, `agentDocsFile()`. `--agent` wrote all three agent pages unconditionally; `agentDocsFile()` writes `agent/ui.md` only when the run also lists a client UI generator (a form, a hook, a grid or its columns) or the config sets `includeUiTier: true`; with `includeUiTier` unset it warns when it skips the page, and `includeUiTier: false` (no UI anywhere) skips it quietly — see "Things that are different in 1.1.0" |
149
149
|`docs.apiSurfaces`|`docsFile({ apiSurfaces })`, same shape. Leave it out when the only api pages are this project's own: the model pages then link to whatever `apiDocsFile()` writes to the same target |
150
150
| the `subDir` of the `ts` entry in `docs.apiSurfaces` (default `api`) |`apiDocsFile({ subDir })`, same default |
151
151
|`docs.baseUrl`, `--base-url`| none: 1.0 read it nowhere. To link each api page to model pages hosted elsewhere, use `apiDocsFile({ modelBaseUrl })`|
@@ -178,8 +178,10 @@ them only if you ran those flags.
178
178
whether a UI is emitted is a generator fact, not a metadata one. A **docs-only** config
179
179
— one whose own `generators` lists no UI generator because a separate config generates
180
180
the UI — never sees that generator, so set `includeUiTier: true` to write the page
181
-
anyway. When the model has a UI surface but the page is skipped, `meta gen` prints an
182
-
advisory naming `includeUiTier: true` rather than exiting silently.
181
+
anyway. When the model has a UI surface, the page is skipped and the config leaves
182
+
`includeUiTier` unset, `meta gen` prints an advisory naming `includeUiTier: true` rather
183
+
than exiting silently. A project with no UI anywhere (a server-only backend) sets
184
+
`includeUiTier: false`, which skips the page without the advisory.
183
185
184
186
**Scripts and CI.** Replace `meta docs` with `meta gen`, and `meta verify --docs` with
185
187
`meta verify --codegen`. To write only the documentation, name the docs entries:
Copy file name to clipboardExpand all lines: fixtures/agent-context-conformance/ts-react-tanstack/expected/.claude/skills/metaobjects-codegen/references/typescript-docs.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ generate, docs included). Each factory is an ordinary entry in `generators`, fro
21
21
|`docsFile()`|`docs`| the neutral model surface — one page per entity and per template (`<Entity>.md`, `<Template>.md`), plus an overview with the whole-model ER diagram. Options: `apiSurfaces`, `templates`. |
22
22
|`apiDocsFile()`|`api-docs`| the api reference — `api/<Entity>.md`, `api/README.md`, `api/AGENT-API.md`: the concrete imports, signatures, payload field shapes and runnable examples for THIS project's generated code. Options: `subDir` (default `api`), `modelBaseUrl`. |
23
23
|`requirementsFile()`|`requirements`| the declared `requirement.*` ledger, each entry headed by its dotted path and `title`. Writes nothing for a model with no `requirement.*` node. |
24
-
|`agentDocsFile()`|`agent-docs`|`agent/schema.md`, `agent/ui.md` (only when the run also lists a client-tier generator, OR the config sets `includeUiTier: true` — the escape hatch for a docs-only config whose UI is generated by a separate config; skipping it with a UI surface in the model prints an advisory naming `includeUiTier`) and `agent/requirements.md` — the three `agent/` pages the always-on pointer reads before touching a tier. |
24
+
|`agentDocsFile()`|`agent-docs`|`agent/schema.md`, `agent/ui.md` (only when the run also lists a client-tier generator, OR the config sets `includeUiTier: true` — the escape hatch for a docs-only config whose UI is generated by a separate config; skipping it with a UI surface in the model and `includeUiTier` unset prints an advisory naming `includeUiTier`; `includeUiTier: false` says there is no UI anywhere and skips it without one) and `agent/requirements.md` — the three `agent/` pages the always-on pointer reads before touching a tier. |
25
25
|`metamodelDocsFile()`|`metamodel-docs`| the built-in vocabulary reference, under `metamodel/` (was `meta docs --metamodel`). |
26
26
|`docsSiteFile()`|`docs-site`| an HTML site under `site/` (was `meta docs --site`). Option: `prompts`. `meta eject docs-site` copies its templates and assets to `codegen/docs-site/` (was `meta docs --scaffold-site`). |
Copy file name to clipboardExpand all lines: fixtures/agent-context-conformance/ts-requirements/expected/.claude/skills/metaobjects-codegen/references/typescript-docs.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ generate, docs included). Each factory is an ordinary entry in `generators`, fro
21
21
|`docsFile()`|`docs`| the neutral model surface — one page per entity and per template (`<Entity>.md`, `<Template>.md`), plus an overview with the whole-model ER diagram. Options: `apiSurfaces`, `templates`. |
22
22
|`apiDocsFile()`|`api-docs`| the api reference — `api/<Entity>.md`, `api/README.md`, `api/AGENT-API.md`: the concrete imports, signatures, payload field shapes and runnable examples for THIS project's generated code. Options: `subDir` (default `api`), `modelBaseUrl`. |
23
23
|`requirementsFile()`|`requirements`| the declared `requirement.*` ledger, each entry headed by its dotted path and `title`. Writes nothing for a model with no `requirement.*` node. |
24
-
|`agentDocsFile()`|`agent-docs`|`agent/schema.md`, `agent/ui.md` (only when the run also lists a client-tier generator, OR the config sets `includeUiTier: true` — the escape hatch for a docs-only config whose UI is generated by a separate config; skipping it with a UI surface in the model prints an advisory naming `includeUiTier`) and `agent/requirements.md` — the three `agent/` pages the always-on pointer reads before touching a tier. |
24
+
|`agentDocsFile()`|`agent-docs`|`agent/schema.md`, `agent/ui.md` (only when the run also lists a client-tier generator, OR the config sets `includeUiTier: true` — the escape hatch for a docs-only config whose UI is generated by a separate config; skipping it with a UI surface in the model and `includeUiTier` unset prints an advisory naming `includeUiTier`; `includeUiTier: false` says there is no UI anywhere and skips it without one) and `agent/requirements.md` — the three `agent/` pages the always-on pointer reads before touching a tier. |
25
25
|`metamodelDocsFile()`|`metamodel-docs`| the built-in vocabulary reference, under `metamodel/` (was `meta docs --metamodel`). |
26
26
|`docsSiteFile()`|`docs-site`| an HTML site under `site/` (was `meta docs --site`). Option: `prompts`. `meta eject docs-site` copies its templates and assets to `codegen/docs-site/` (was `meta docs --scaffold-site`). |
Copy file name to clipboardExpand all lines: server/typescript/packages/codegen-ts/src/generators/agent-docs-file.ts
+8-6Lines changed: 8 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -314,14 +314,16 @@ export const agentDocsFile = function agentDocsFile(opts?: AgentDocsFileOpts): G
314
314
if(ui!==""){
315
315
if(ctx.config.includeUiTier===true){
316
316
files.push({path: `${dir}/ui.md`,content: ui});
317
-
}else{
317
+
}elseif(ctx.config.includeUiTierExplicit!==true){
318
318
// The model HAS a UI surface (renderAgentUiPage returned content) but this
319
-
// run has no client UI generator and no `includeUiTier: true` override, so the
320
-
// page is skipped. Before this, that was silent: `meta gen` exited 0 and listed
321
-
// only the pages it wrote, and a docs-only project (its own config generates no
322
-
// UI; a SEPARATE config does) lost `agent/ui.md` with no signal at all.
319
+
// run has no client UI generator and the config left `includeUiTier` unset, so
320
+
// the page is skipped. Before this, that was silent: `meta gen` exited 0 and
321
+
// listed only the pages it wrote, and a docs-only project (its own config
322
+
// generates no UI; a SEPARATE config does) lost `agent/ui.md` with no signal at
323
+
// all. An explicit `includeUiTier: false` says there is no UI anywhere, so a
324
+
// server-only project has a way to say so and is not advised on every run.
323
325
ctx.warn(
324
-
`${dir}/ui.md not written: no client UI generator in this run; set includeUiTier: true if another config generates the UI.`,
326
+
`${dir}/ui.md not written: no client UI generator in this run; set includeUiTier: true if another config generates the UI, or includeUiTier: false if there is no UI.`,
Copy file name to clipboardExpand all lines: server/typescript/packages/codegen-ts/src/reference/agent-docs.ts
+8-6Lines changed: 8 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -325,14 +325,16 @@ export const agentDocsFile = function agentDocsFile(opts?: AgentDocsFileOpts): G
325
325
if(ui!==""){
326
326
if(ctx.config.includeUiTier===true){
327
327
files.push({path: `${dir}/ui.md`,content: ui});
328
-
}else{
328
+
}elseif(ctx.config.includeUiTierExplicit!==true){
329
329
// The model HAS a UI surface (renderAgentUiPage returned content) but this
330
-
// run has no client UI generator and no `includeUiTier: true` override, so the
331
-
// page is skipped. Before this, that was silent: `meta gen` exited 0 and listed
332
-
// only the pages it wrote, and a docs-only project (its own config generates no
333
-
// UI; a SEPARATE config does) lost `agent/ui.md` with no signal at all.
330
+
// run has no client UI generator and the config left `includeUiTier` unset, so
331
+
// the page is skipped. Before this, that was silent: `meta gen` exited 0 and
332
+
// listed only the pages it wrote, and a docs-only project (its own config
333
+
// generates no UI; a SEPARATE config does) lost `agent/ui.md` with no signal at
334
+
// all. An explicit `includeUiTier: false` says there is no UI anywhere, so a
335
+
// server-only project has a way to say so and is not advised on every run.
334
336
ctx.warn(
335
-
`${dir}/ui.md not written: no client UI generator in this run; set includeUiTier: true if another config generates the UI.`,
337
+
`${dir}/ui.md not written: no client UI generator in this run; set includeUiTier: true if another config generates the UI, or includeUiTier: false if there is no UI.`,
0 commit comments