OMA is a standalone multi-agent runtime for terminal-first coding workflows. It provides a native CLI/TUI experience, an embedded agent hierarchy, durable workspace state under .oma/, and a large local tool surface.
- Turkish README: README.tr.md
- Schema: schemas/oma.schema.json
- Config template: templates/oma.jsonc
- Native app entrypoint:
apps/oma/src/main.ts - Shared CLI surface helpers:
packages/cli/src/ - Ink TUI surface:
packages/tui/src/ - Runtime kernel:
packages/kernel/src/ - Embedded agents:
src/agents/ - Embedded tools:
src/tools/ - Durable workspace state:
.oma/
| Command | Agent | Purpose |
|---|---|---|
/plan |
cto | Create an implementation-ready plan |
/implement |
cto | Execute an implementation-ready task |
/validate |
cto | Run the smallest sufficient validation scope |
/roadmap |
cto | Create or revise roadmap-scale plans |
/roadmap-status |
cto | Summarize current roadmap progress |
/roadmap-continue |
cto | Continue roadmap execution from current phase |
| Command | Agent | Purpose |
|---|---|---|
/review |
cto | Findings-first review of plan, diff, or workspace |
/status |
cto | Summarize current repo, plan, validation status |
/analyze |
cto | Repository, architecture, or target-area investigation |
| Command | Agent | Purpose |
|---|---|---|
/brainstorm |
brainstorm | Structured ideation and contradiction finding |
/prompt |
cto | Turn brainstorm output into a refined prompt artifact |
/loop |
cto | Execute roadmap items through plan → implement → validate |
bun installUse one of the canonical config paths:
~/.config/oma/oma.jsonc.oma/oma.jsonc
Start from the bundled template:
mkdir -p .oma
cp templates/oma.jsonc .oma/oma.jsoncbun run apps/oma/src/main.ts --help
bun run apps/oma/src/main.ts --version
bun run apps/oma/src/main.ts
bun run apps/oma/src/main.ts plan "Add a multiply function to src/math.ts"- No arguments launches the native Ink TUI.
- Slash commands such as
/plan,/implement, and/validatecan be run inside the TUI. - One-shot commands reuse the same command surface as the TUI.
When a one-shot command creates a new conversation, the CLI prints the session id:
[OMA] Session: <session-id>
You can continue a persisted session with:
bun run apps/oma/src/main.ts --session <session-id> implement
bun run apps/oma/src/main.ts --session <session-id> validateList the embedded agent hierarchy when needed:
bun run apps/oma/src/main.ts --agentsOMA reads JSONC config with this precedence:
~/.config/oma/oma.jsonc.oma/oma.jsonc
Project-local config overrides global config.
Key sections:
agentworkflowmemorygithubmcp.context7disabledToolscommandSurface
Minimal example:
OMA persists workspace state under .oma/:
- Plans:
.oma/plans/ - Roadmap:
.oma/roadmap/ - Prompts:
.oma/prompts/ - Background tasks:
.oma/tasks/ - Sessions:
.oma/sessions/
mise run build
mise run lint
mise run typecheck
mise run testOptional live E2E:
OMA_E2E=true bun test ./test/e2e/oma-workflow.e2e.ts
{ "$schema": "https://oma.local/schemas/oma.schema.json", "version": 2, "workflow": { "hookProfile": "standard", }, }