Skip to content

Quickstart

Three commands

# 1. Run init in your repo (no install needed)
uvx harnessforge init --no-llm

# 2. See what got written
ls -A | grep -E '^(AGENTS|SOUL|TOOLS|MEMORY)\.md$|^SKILLS|^harness.config|^.harness'

# 3. Verify
uvx harnessforge verify --json

What init does

  1. Walks the repo and runs inspect_repo (deterministic, no LLM).
  2. Builds a HarnessProfile — your project's name, type, language, commands, forbidden paths.
  3. Picks a blueprint (rag-agent, support-agent, or workflow-agent) based on the inspection.
  4. Renders five IDE adapter files (.claude/CLAUDE.md, .cursor/rules, .continue/config.json, .windsurf/rules, AGENTS.md).
  5. Renders the blueprint's AGENTS.md, SOUL.md, TOOLS.md, MEMORY.md, scripts, and SKILLS.
  6. Writes a harness.config.json and .harness/manifest.json for safe re-runs.

Pick a specific blueprint

uvx harnessforge init --blueprint rag-agent
uvx harnessforge init --blueprint support-agent
uvx harnessforge init --blueprint workflow-agent

Use a specific LLM as the profiler

export ANTHROPIC_API_KEY=...
pip install 'harnessforge[anthropic]'
harness init                           # uses Claude to refine the profile

Or skip the LLM entirely:

harness init --no-llm                  # deterministic; no API key needed

Dry-run

harness init --dry-run                 # shows the plan; writes nothing

Re-render after editing the profile

# Edit .harness/profile.yaml by hand, then:
harness sync                           # re-renders adapter + blueprint files
harness sync --check                   # CI mode: exit 1 if anything drifted

Next