Installation — Set Up SysMARA

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

  • system/entities/ — Domain objects with their fields, types, and relationships. These form the nodes of your system graph.
  • system/capabilities/ — Operations your system can perform, declared with inputs, outputs, preconditions, and postconditions.
  • system/policies/ — Business rules and invariants that must hold across the system, regardless of which capability triggers them.
  • system/modules/ — Boundary definitions that control which entities and capabilities belong to which module, and what cross-module dependencies are allowed.
  • system/flows/ — Multi-step operation sequences that cross module boundaries, with explicit ordering and error handling.
  • sysmara.config.yaml — Project configuration including spec paths, output targets, and compiler options.

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.