Commands
ody init
Initialize ody in a project
Synopsis
ody initFlags
| Flag | Alias | Type | Default | Description |
|---|---|---|---|---|
--backend | -b | string | (prompt) | Agent backend to use (claude, opencode, codex) |
--maxIterations | -i | string | "0" | Max loop iterations. 0 means unlimited |
--model | -m | string | (prompt) | Model identifier for the backend |
--autoCommit | -c | boolean | false | Commit after each completed task |
--agent | -a | string | (prompt) | Agent profile/persona for the backend harness |
--notify | -n | string | (prompt) | Notification preference (false, all, individual) |
--dry-run | boolean | false | Print the configuration without saving it |
Behavior
When run without flags, ody init walks you through an interactive setup:
- Backend selection -- An autocomplete prompt lists backends detected on your system. Only backends with their CLI tool installed and on
$PATHare shown. - Model selection -- Optional text input to specify a model for the backend. Leave blank to use the backend's default.
- Agent profile -- Optional text input for the agent persona. Leave blank for the default (
build). - Validation commands -- Prompts whether you want to add shell commands the agent should run to validate its work (e.g.,
bun lint,bun test). You can add multiple commands one at a time. - Claude permissions -- If the selected backend is
claude, asks whether to skip Claude Code's permission checks. - Notifications -- Select when OS notifications should be sent: disabled, on full completion, or after each iteration.
The resulting configuration is saved to .ody/ody.json. If the .ody/ directory does not exist, it is created.
Examples
Interactive setup:
ody initNon-interactive with all flags:
ody init --backend claude --maxIterations 5 --model claude-sonnet-4-20250514 --autoCommitPreview what would be saved:
ody init --backend opencode --dry-runGenerated files
| File | Description |
|---|---|
.ody/ody.json | Project configuration |
See the Configuration guide for details on all config keys.