This guide walks you through installing and setting up MARR for the first time.
Install MARR globally:
npm install -g @virtualian/marr
Verify the installation:
marr --version
If you see a permission error (EACCES), you have three options:
npx @virtualian/marr init --user
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Restart terminal
nvm install node
npm install -g @virtualian/marr
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
npm install -g @virtualian/marr
MARR uses a two-layer configuration system. You need to set up both layers:
Run this once on each machine where you use MARR:
marr init --user
This creates:
~/.claude/marr/MARR-USER-CLAUDE.md — Your personal preferencesNavigate to your project and run:
marr init --project
This creates:
CLAUDE.md — Project root config (or updates existing).claude/marr/MARR-PROJECT-CLAUDE.md — Project AI agent configuration.claude/marr/standards/ — Project-specific standardsYou’ll be prompted to select which standards to install. Choose the ones relevant to your project.
For a brand new setup, you can do both at once:
marr init --all
After setup, validate that everything is configured correctly:
marr validate
This checks:
Once MARR is set up, AI agents (like Claude Code) will:
~/.claude/marr/MARR-USER-CLAUDE.md.claude/marr/MARR-PROJECT-CLAUDE.md.claude/marr/standards/ based on what task they’re doingThe agent reads standards on-demand based on trigger conditions. For example, when working with git, the workflow standard is triggered and read.