Tutorial / Start here
Set up a project
Run solomonar init to install the framework, Claude Code or Codex adapters, and the task registry in a new or existing Git repository, then make the first commit.
On this page
solomonar init installs the framework into one repository. It copies the rules, skills, and agent roles, writes small adapter files for your agent runtime, and creates the task registry. This page uses a new project called ledger; the same steps work in an existing repository.
Preview the plan
Start in an empty directory. --git-init creates the Git repository for you; inside an existing repository it is ignored.
mkdir ledger && cd ledger
solomonar init --git-init --runtime claude --runtime codex \
--objective "Shared expenses for small groups" --dry-run
--dry-run prints every file init would write and writes nothing:
Plan
git init -b main
create docs/solomonar/agents/adversarial-reviewer.md
create docs/solomonar/agents/correctness-reviewer.md
...
create .codex/agents/spec-reviewer.toml
create .solomonar/manifest.json
registry create refs/heads/workflow-state with an empty state.json
Would initialize solomonar 0.1.0 in /work/ledger
39 files created
Choose runtimes with --runtime claude, --runtime codex, both, or --runtime none. Without the flag, init selects each runtime whose executable it finds on your PATH.
Initialize
Run the same command with --yes instead of --dry-run. In a script or an agent's shell, init refuses to write without --yes.
solomonar init --git-init --runtime claude --runtime codex \
--objective "Shared expenses for small groups" --yes
Initialized solomonar 0.1.0 in /work/ledger
39 files created
registry refs/heads/workflow-state @ d769ccf0e2985d73a01b442fb0556fb8854de1fe
Next:
1. First commit required before task worktrees:
git add AGENTS.md CLAUDE.md .claude .agents .codex .solomonar docs && git commit -m "chore: initialize solomonar 0.1.0"
2. Start a top-level session in /work/ledger with your selected outcome:
Claude Code: /solomonar Explore the next useful flow.
Codex: $solomonar Explore the next useful flow.
Portable: Use the solomonar skill to explore the next useful flow.
warning: no remote "origin"; the registry stays local
The warning is expected in a new repository. Once you add an origin remote, the CLI publishes the registry there after each task update.
Make the first commit
Task worktrees branch from main, so main needs a commit. Run the command from step 1 of the output:
git add AGENTS.md CLAUDE.md .claude .agents .codex .solomonar docs
git commit -m "chore: initialize solomonar 0.1.0"
What init created
| Path | What it is |
|---|---|
AGENTS.md |
Instructions every agent session reads first. |
docs/README.md |
Your project's mission, objective, document index, and run and check commands. You own it. |
docs/solomonar/ |
The framework: rules, the four skills, and the six agent roles. |
CLAUDE.md, .claude/ |
Claude Code adapters: an @AGENTS.md import, skill stubs, and agent stubs. |
.agents/, .codex/ |
Codex adapters: skill stubs and agent definitions. |
.solomonar/manifest.json |
Your choices and the hashes of the files init manages. |
refs/heads/workflow-state |
The task registry: a Git branch with one state.json, never checked out. |
The adapter files are short stubs that point to docs/solomonar/. The real instructions live in one place, whatever runtime you use. The configuration reference lists every file and who owns it.
Open docs/README.md and fill in the mission and intended users. Agents read it at the start of each task.
In an existing repository
Run init from anywhere inside the repository; it writes at the worktree root. Your files are safe:
- An existing
AGENTS.mdis adopted: the framework section goes on top and your content moves under## Project notes. Pass--overwrite AGENTS.mdto replace it instead. - An existing
CLAUDE.mdis never changed. If it lacks an@AGENTS.mdline,inittells you to add one. - An existing
docs/README.mdis left alone. - Any other file that differs from what
initwould write stops the run with a conflict. Choose per file with--keep <path>or--overwrite <path>.
If the repository already has an application, agents discover its build and test commands from your scripts and manifests. You do not need to describe them up front.
Running init again
init is safe to repeat. With the same choices and unchanged files, it does nothing:
Already initialized with solomonar 0.1.0; nothing to do.
It never changes a recorded choice, such as the runtimes. Those will change through the planned runtime and extension commands. Extensions cannot be chosen at init yet; --ext none is the only accepted value today.
Next
The project is ready. Run your first task.