|
1 | 1 | # MetaObjects |
2 | 2 |
|
| 3 | +[](https://www.npmjs.com/package/@metaobjectsdev/cli) |
| 4 | +[](https://central.sonatype.com/artifact/com.metaobjects/metaobjects-metadata) |
| 5 | +[](https://pypi.org/project/metaobjects/) |
| 6 | +[](LICENSE) |
| 7 | + |
3 | 8 | A **cross-language metadata standard** for declaring typed entity models that |
4 | 9 | drive code generation, runtime metadata access, drift detection, and prompt |
5 | 10 | construction — across TypeScript, Java, Kotlin, C#, and Python. |
@@ -111,7 +116,7 @@ first-week wedge plan — and `meta init` picks up from there. |
111 | 116 | | Template-drift verify | Yes | Yes (`Verify.check`) | Yes (via Java) | Yes (`dotnet meta verify`) | Yes (`metaobjects.render.verify`) | |
112 | 117 | | YAML authoring (sigil-free → JSON) | Yes | Yes | Yes (via Java) | Yes | Yes | |
113 | 118 | | Runtime metadata (ObjectManager-style) | Yes (`runtime-ts`) | Yes (OMDB) | Yes (via Java OMDB + Exposed) | Roadmap | Yes (ObjectManager) | |
114 | | -| React / Angular UI client (browser) | Yes — React (`@metaobjectsdev/react` + `@metaobjectsdev/tanstack`) and Angular 18 (`@metaobjectsdev/angular`, published at `0.6.0`); both codegen + runtime | Consumes TS client via REST | Consumes TS client via REST | Consumes TS client via REST | Consumes TS client via REST | |
| 119 | +| React / Angular UI client (browser) | Yes — React (`@metaobjectsdev/react` + `@metaobjectsdev/tanstack`) and Angular 18 (`@metaobjectsdev/angular`, on its own `0.6.x` line — deliberately versioned separately from the lockstep `@metaobjectsdev/*` packages, since the Angular tier moves on its own cadence); both codegen + runtime | Consumes TS client via REST | Consumes TS client via REST | Consumes TS client via REST | Consumes TS client via REST | |
115 | 120 | | Cross-port REST routes for the client | Generated (`routesFile()` → Fastify) | Generated (`SpringControllerGenerator` → Spring `@RestController`, incl. filter/sort) | Generated (`KotlinSpringControllerGenerator` → Spring `@RestController`, incl. filter/sort) | Generated (`RoutesGenerator` → ASP.NET Minimal API) | Generated (`router_generator` → FastAPI `APIRouter`, incl. filter/sort) | |
116 | 121 |
|
117 | 122 | A "Yes" means the feature is covered by the shared conformance corpora at |
@@ -160,19 +165,33 @@ metaobjects/ |
160 | 165 | ├── README.md # you are here |
161 | 166 | ├── CLAUDE.md # project instructions for Claude |
162 | 167 | ├── spec/ # canonical metamodel docs, ADRs, roadmap |
163 | | -├── fixtures/ # cross-language conformance corpora |
164 | | -│ ├── conformance/ # metamodel (loader + serializer + navigation) |
| 168 | +├── fixtures/ # 19 cross-language conformance corpora — the oracle |
| 169 | +│ ├── conformance/ # metamodel (loader + serializer + navigation), 249 fixtures |
165 | 170 | │ ├── yaml-conformance/ # YAML authoring desugar |
166 | 171 | │ ├── render-conformance/ # FR-004 byte-identical render oracle |
167 | 172 | │ ├── verify-conformance/ # FR-004 template-drift gate |
168 | | -│ └── persistence-conformance/ # on-demand integration tests vs real Postgres |
| 173 | +│ ├── extract-conformance/ # FR-010 tolerant output parsing |
| 174 | +│ ├── api-contract-conformance/ # the REST wire contract, reference + generated lanes |
| 175 | +│ ├── persistence-conformance/ # on-demand integration tests vs real Postgres |
| 176 | +│ └── … # registry, validation, codegen, provider-composition, … |
| 177 | +│ # full matrix: docs/CONFORMANCE.md |
169 | 178 | ├── docs/ |
170 | 179 | │ ├── README.md # docs index |
171 | 180 | │ ├── features/ # feature reference (one file per metamodel feature) |
172 | 181 | │ ├── ports/ # per-port quickstarts |
173 | 182 | │ ├── recipes/ # deployment recipes (Cloudflare D1, …) |
| 183 | +│ ├── CONFORMANCE.md # corpus × port matrix + fixture→feature index |
174 | 184 | │ ├── superpowers/specs/ # design specs |
175 | 185 | │ └── RELEASING.md # npm publish procedure |
| 186 | +├── examples/ |
| 187 | +│ └── advanced-modeling/ # a worked, runnable non-toy model |
| 188 | +├── library/ # shipped standard-library metadata, opt-in per project |
| 189 | +│ └── ai/ # via `libraries: ["ai"]` (e.g. the LLM-call trace base) |
| 190 | +├── templates/ # canonical api/docs Mustache templates (the SSOT the |
| 191 | +│ # ports embed; byte-gated so copies cannot drift) |
| 192 | +├── agent-context/ # the shared source the per-port AI-assistant context |
| 193 | +│ # surfaces are generated from (AGENTS.md, skills, llms.txt) |
| 194 | +├── scripts/ # CI parity (`ci-local.sh`), codegen of embedded assets, one-offs |
176 | 195 | │ |
177 | 196 | ├── server/ # runs on a server |
178 | 197 | │ ├── typescript/ # the reference port |
|
0 commit comments