Installation

Prerequisites

SysMARA requires Node.js version 20.0.0 or higher. Verify your version before proceeding:

node --version
# Must be >= v20.0.0

If you need to manage multiple Node versions, nvm or fnm are recommended.

Install SysMARA

Install the core package as a dev dependency in your project:

npm install --save-dev @sysmara/core

This gives you the sysmara CLI binary and the spec runtime. The package has only two dependencies: yaml for spec parsing and zod for schema validation. No hidden dependency trees.

You can also install it globally if you prefer:

npm install -g @sysmara/core

Initialize a Project

Create the SysMARA directory structure in your project root:

npx sysmara init

This creates the following structure:

your-project/
  sysmara.config.yaml        # Project-level SysMARA configuration
  system/                   # All YAML spec files live here
    entities/               # Entity definitions
    capabilities/           # Capability specs
    policies/               # Business policies and invariants
    modules/                # Module boundary definitions
    flows/                  # Cross-module flow specs
  app/                      # Your application source code

What Each Directory Contains

Verify the Installation

Run the spec validator to confirm everything is wired correctly:

npx sysmara validate

On a fresh project with no specs yet, you should see a clean pass with zero errors and zero warnings. If you see schema errors, check that your sysmara.config.yaml points to the correct directories.

Verify the CLI

Confirm the CLI is accessible and check the available commands:

npx sysmara --help

You should see the full command list: init, add, validate, build, graph, compile, doctor, explain, impact, plan, and check boundaries. Every command supports the --json flag for machine-readable output, which is how AI agents consume SysMARA's output programmatically.

Next Steps

Your project is ready. Head to the Quick Start to build your first spec-driven system in five minutes.