Standalone CLI for Object UI — scaffold, develop, build, lint, test and validate JSON/YAML schema-driven applications.
npm install -g @object-ui/cli
# or one-shot:
npx @object-ui/cli dev app.jsonObjectUI is a protocol-agnostic rendering engine (Rule #1). Its CLI is a
self-contained frontend toolchain — like vite, next, or astro — and is
not distributed as a plugin of any meta-CLI.
If you want to aggregate it under another host CLI (e.g. an os umbrella),
write a thin wrapper in that host's repo that shells out to objectui. Don't
re-shape this package to its conventions.
Create a new Object UI application with a sample schema.
objectui init my-app
objectui init my-app --template form
objectui init . --template dashboardOptions
-t, --template <template>—simple,form, ordashboard(default:dashboard)
Start a development server with hot reload. Opens the browser automatically.
objectui dev app.json
objectui dev my-schema.json --port 8080
objectui dev --no-openOptions
-p, --port <port>— default3000-h, --host <host>— defaultlocalhost--no-open— do not open browser
dev, serve and build locate the project the same way: a pages/ directory
beside the schema argument means file-system routing (with that file as the app
config), otherwise a pages/ directory in the current directory, otherwise the
named file is rendered on its own. So objectui build my-app/app.json from above
my-app/ builds the same routes objectui dev my-app/app.json serves.
Build the application for production.
objectui build app.json
objectui build --out-dir build
objectui build --cleanOptions
-o, --out-dir <dir>— defaultdist--clean— clean output directory before build
Serve the production build locally.
objectui start
objectui start --port 8080 --dir buildOptions
-p, --port <port>— default3000-h, --host <host>— default0.0.0.0-d, --dir <dir>— defaultdist
Legacy alias of dev (kept for older scripts).
Lint the generated application code via ESLint.
objectui lint --fixRun the application's tests via Vitest.
objectui test --watch
objectui test --coverage
objectui test --uiGenerate new resources (resource/object, page, plugin).
Add a new component renderer to your project.
Validate a schema file against the ObjectUI specification.
A failure is reported at the document root and then narrowed to the union arm
your type selected — the 1.1-style entries under a numbered issue are that
arm's own diagnosis, at the real path of the node that failed. When no component
type matches, the report names the nearest few of the accepted values instead of
listing all of them. See the
docs for worked output.
Utility commands — see objectui --help.
objectui init my-dashboard --template dashboard
cd my-dashboard
objectui dev app.jsonimport { serve, init } from '@object-ui/cli';
await serve('app.json', { port: '3000', host: 'localhost' });
await init('my-app', { template: 'dashboard' });MIT — see LICENSE.