← All features

Install and operateAvailable in v0.3.0

Guided setup with oah init

Run oah init once in each project, a git repository with a remote. It asks once about each option, checks your tools and your Claude Code and Codex sign-ins, shows the complete plan, and changes files only after you confirm. Then it writes the config, rules block, wiki and templates and builds the first impact map.

When you need it

Setting up a harness by hand means many files, tools and sign-ins to get right, and a setup that silently changes your project is hard to trust.

How it works

  1. Inside your project, run oah init.
  2. It asks once about each option: tier agents, hooks, unlazy (the gate checker), the knowledge graph, the CI starter, the companion apps Orca and Aside, the TypeSafe Jev re-ranker and automatic skill updates.
  3. It checks every tool and installs only what you confirm, and checks your Claude Code and Codex sign-ins with their own status commands, showing the command to run when one is missing.
  4. After you confirm the complete plan, it writes .oah/config.toml, the rules block in AGENTS.md (imported by CLAUDE.md), the wiki in docs/wiki/, templates in .oah/templates/ and .gitignore entries for local secret files, then builds the first impact map.
  5. The last line is OAH_INIT_DONE, or OAH_INIT_INCOMPLETE with what is still to do. Commit what it wrote; from then on the installed rules tell your AI how to run the harness.

Example

Run once per project, in a git repository with a remote.

oah init

Requirements

  • oah installed, and a git repository with a remote.
  • Each question also has a flag, such as --with-unlazy or --without-ci, so you can answer without a prompt.

Limits and recovery

  • A second run writes only what is still missing; it never replaces your files without --force, and never the wiki's index or log.
  • Init does not add Python bytecode patterns to .gitignore; the worked example appends __pycache__/ and *.py[cod] before running gates.
  • For unlazy repairs, avoid --force: it does not replace an incompatible project copy and can reset .oah/config.toml to defaults.
  • In v0.3.0, init also asks once about tool updates after a finish.

Original documents

Related