Repository navigation
Commit c4a685c
authored
feat(cli): hand over every generator and drop the docs command (#439)
* feat(typescript): hand the template modules over on eject, and make requirements and agent-docs ejectable
`meta eject <name>` used to copy a thin generator that decided what to emit and called the
package to write it. It now also copies the transitive closure of the template modules the
generator calls into `codegen/templates/`, the way it already copies the HTTP adapter, and the
owned generator imports them from there. The engine (generator base, model walks, naming and
type-mapping tables, projection and report lowering) stays in the package; `ENGINE_MODULES`
lists it and the shared eject manifest's engine surface carries the same list.
`requirements` and `agent-docs` get reference templates, are listed in `docs.generators`,
and `meta docs` runs an owned copy in place of the packaged one. `meta gen` skips the packaged
factory of either, as it does for `docsFile()`.
Every one of the 24 ejectable generators is ejected alone into an empty project by a test
derived from the catalog: nothing it holds imports a packaged emit module, it typechecks as an
adopter's project does, and it writes what the packaged generator writes over six models. The
TypeScript entries are gone from the manifest's pending list.
The repository's own owned copies (the test-generators package and the examples) carry their
template modules, written by scripts/sync-owned-template-copies.ts and held by a test.
The release checklist's assess block now fails the deploy.
* feat(typescript)!: documentation is generators in `generators`; `meta docs` is removed
ADR-0034 Amendment 9, the TypeScript half. Every page of documentation is an entry in
`generators`, `meta gen` runs the list, `meta verify --codegen` checks it, and nothing is
written that the list does not declare.
- `meta docs` and `meta verify --docs` print the amendment's removal line and exit 2. A
config with a `docs` block fails `meta gen` and `meta verify --codegen` before writing
anything; `meta gen` with no metaobjects.config.ts fails with a pointer to the migration
section. `meta init` writes no docs block. A config that declares no generator writes
nothing, tool state included.
- Docs factories write to the `docs` target and are refused by name when it is missing.
New: `metamodelDocsFile()` (`metamodel-docs`, ejectable) and `docsSiteFile()`
(`docs-site`); `meta eject docs-site` copies the site theme. The site prints no date, so
its pages are checkable. The runner builds the model/api cross-link facts per target
(`ctx.docs`) from `emitsModelDocs` / `emitsApiDocs`, and the agent schema on request.
- `meta gen --generators <names>` narrows a run to declared entries and refuses others; a
narrowed run reads run-level facts from the whole list. `meta gen` now passes the routes
`expose` facts to the api reference, which it never did.
- `meta verify --codegen` does not check documentation the repository git-ignores, says how
many pages it skipped, and refuses a docs directory ignored whole (carried from
`verify --docs`).
- Owned generators and templates import the engine from the new
`@metaobjectsdev/codegen-ts/engine` entry; zodEnumExpr, the primary-key and TPH walks
moved into engine/template modules with forwarders where they were exported.
- Removed from the package root: DocsConfig, ResolvedDocsConfig, DocsSurface,
resolveDocsConfig. `apiDocsFile()` writes under `api/` by default.
- Docs: the TypeScript section of docs-are-generators.md, CHANGELOG breaking notice and
entries, ADR-0034 Amendment 9 TypeScript cells corrected, cli.md, ports/typescript.md,
own-your-codegen.md, and the shipped agent context for all five ports. AGENTS.md no
longer says 1.1.0 is released.
* no-mistakes(review): Route owned docs copies to docs target; fix probe inputs
* no-mistakes(review): Skip git-ignored docs dirs in verify; fix TS wiring row
* no-mistakes(review): Name AGENT-API.md relative to the docs target
* no-mistakes(review): Correct TypeScript package-only count and eject hand-over docs
* no-mistakes(review): Fix package-only list in AGENTS.md, comment, CHANGELOG count
* no-mistakes(review): Correct docs scope text; add agent schema drift test
* no-mistakes(review): Ask git about ignored docs pages from the project root1 parent 5230ec3 commit c4a685c
384 files changed
Lines changed: 23254 additions & 7939 deletions
File tree
- agent-context
- servers
- skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen
- references
- metaobjects-prompts/references
- templates
- docs
- features
- migrations
- llms
- ports
- examples
- advanced-modeling/codegen
- generators
- templates
- showcase
- codegen
- generators
- templates
- fixtures
- agent-context-conformance
- java-kotlin-react-tanstack/expected
- .claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen
- references
- .metaobjects
- java-react/expected
- .claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen
- references
- .metaobjects
- python/expected
- .claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen
- references
- .metaobjects
- ts-react-tanstack/expected
- .claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen
- references
- metaobjects-prompts/references
- .metaobjects
- ts-requirements/expected
- .claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen
- references
- metaobjects-prompts/references
- .metaobjects
- codegen-noop/reporting
- generator-registry-conformance
- metamodel-docs/expected
- types
- scripts
- site
- server/typescript/packages
- cli
- src
- commands
- lib
- test
- __snapshots__
- integration
- support
- unit
- codegen-ts-react
- src
- reference
- templates
- test
- codegen-ts-tanstack
- src
- reference
- templates
- test
- codegen-ts
- src
- cube
- generators
- projection
- reference
- render-engine
- templates
- test
- generators
- golden
- docs-site
- templates
- metadata
- src
- core/reporting
- metamodel-docs
- test
- sdk
- src
- agent-context
- test/agent-context
- test-generators
- src
- generators
- templates
- test
- site-reference
- types
- spec/decisions
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
92 | 94 | | |
93 | | - | |
| 95 | + | |
94 | 96 | | |
95 | 97 | | |
96 | 98 | | |
| |||
272 | 274 | | |
273 | 275 | | |
274 | 276 | | |
275 | | - | |
276 | | - | |
| 277 | + | |
| 278 | + | |
277 | 279 | | |
278 | 280 | | |
279 | 281 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
73 | 74 | | |
74 | 75 | | |
75 | 76 | | |
76 | | - | |
| 77 | + | |
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
86 | | - | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
87 | 88 | | |
88 | 89 | | |
89 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
170 | | - | |
| 170 | + | |
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| |||
0 commit comments