CHART/DOCS/CLI

CLI reference

Four commands. Zero-config defaults.

Zero-config by default: src/ is the source directory, dist/ the output. Pass a source path and/or --out

to override.

Command What it does
marisjs init Scaffold a starter package.json with dev/build/serve scripts, a .gitignore that excludes .env, and a no-real-values .env.example.
marisjs dev Dev server with hot reload on file change (defaults: src/ → dist/, port 3000).
marisjs build Validate, compile, and prerender to static output (defaults: src/ → dist/).
marisjs validate ./src/App.tsx Check a single file against every rule in this spec.
Override example: marisjs build ./src --out dist is exactly what the defaults do - the explicit form exists for non-standard layouts and CI pipelines that need a custom output directory.

Your daily commands

After marisjs init, the daily loop is npm run dev, npm run build, and npm run serve - which runs @marisjs/adapter-node to preview the finished output at http://localhost:3000.

The compiler ships as a native binary in the marisjs package, so builds are fast and do not depend on TypeScript or Babel being installed in your project.

AI agents: the MCP server

The same validator is exposed as an MCP server (marisjs-mcp) so AI coding agents can check files against the spec directly. It is the same code as marisjs validate, with structured JSON output and a fix hint per error. See the MCP server docs for registration snippets.