Skip to content

Latest commit

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..

README.md

MetaObjects — TypeScript

TypeScript implementation of the MetaObjects standard.

Packages

PackagePurpose
@metaobjectsdev/metadataLoader, registry, typed views
@metaobjectsdev/codegen-tsCode generation (TS targets)
@metaobjectsdev/codegen-ts-reactReact codegen (form-file generator)
@metaobjectsdev/codegen-ts-tanstackTanStack hooks + grid codegen
@metaobjectsdev/runtime-tsServer-side runtime (Node, Fastify integration)
@metaobjectsdev/runtime-web (under client/web/)Browser core: currency, filter-qs, fetcher types
@metaobjectsdev/react (under client/web/)React runtime: useEntityForm, <CurrencyInput>
@metaobjectsdev/tanstack (under client/web/)TanStack runtime: EntityFetcherProvider, <EntityGrid>
@metaobjectsdev/migrate-tsDatabase migration tooling
@metaobjectsdev/sdkProgrammatic SDK (memory, paths, workspace)
@metaobjectsdev/cliThe meta CLI binary (init, gen, migrate)
@metaobjectsdev/forgeAI-collaboration capabilities (agent-docs, future MCP)

Getting started

Bun workspace — the workspace root is the repository root (run bun install there, not here).

bun install # once, at the repo root
bun test# the server suite (from this directory)
bun run --filter '*' typecheck # whole workspace (from the repo root)

CLI

The CLI binary is meta:

meta init # scaffold a new project
meta gen # generate code from metadata
meta migrate # database migrations

Releasing

Publishing these packages to npm: see docs/RELEASING.md — the RC → smoke-test → promote procedure plus the must-know gotchas (publish with bun publish, rm bun.lock && bun install after every version bump, runtime imports must be dependencies).

Project layout in a consumer

my-project/
├── metaobjects/ # entity declarations (one file per domain)
│ ├── meta.common.json
│ ├── meta.commerce.json
│ └── ...
├── .metaobjects/ # tool state (gitignored: .gen-state/)
│ ├── config.json
│ └── .gen-state/
└── metaobjects.config.ts # generator wiring + per-target output