Agent Workflows
Every discovery surface has a machine-readable mode, and only a few commands accept dry runs. Use the command catalog to learn the surface instead of guessing from another framework.
Discover the command surface
1andurel commands --json
2andurel commands --markdown
3andurel commands --check
4andurel --agent --help
commands --json returns data.commands[]. Each entry includes when_to_use, when_not_to_use, prerequisites, examples, and meta fields such as mutating and supports_dry_run. --check validates that every command has complete metadata. --agent --help returns the catalog as JSON rather than human help.
1andurel commands --json --jq '.commands'
Inspect the project
1andurel inspect project --json
2andurel inspect domains --json
3andurel inspect handlers --json
4andurel inspect routes --json
5andurel inspect jobs --json
6andurel inspect migrations --json
7andurel patterns list --json
8andurel patterns show domain --json
inspect handlers prints each constructor's parameters and the routes its Register mounts. inspect routes nests the manifest under data.routes and includes host bindings and is_inertia. inspect domains reports each entity's table, fields, validation coverage, and whether its receiver is wired. All inspect commands and patterns are read-only.
Output modes
| Flag | Use |
|---|---|
--json |
Full {ok,data,summary,breadcrumbs} envelope |
--agent |
Structured output with human progress suppressed |
--jq '.field' |
Simple field-path selection from data |
--md |
Markdown where supported |
--quiet |
Suppress non-essential human output |
--verbose |
Emit verbose output |
Structured failures are stable:
1{
2 "ok": false,
3 "code": "usage_error",
4 "error": "unknown pattern \"bogus\"",
5 "hint": "Run andurel patterns to list the available pattern ids.",
6 "exit_code": 1
7}
Read hint and breadcrumbs before trying another command. --jq is not a full query language: it walks object fields only, so andurel inspect project --json --jq '.module' works but array indexing does not. --count and --ids-only work on list commands where listed in their help, for example andurel inspect routes --count and andurel inspect migrations --ids-only.
Preview mutations
Dry runs exist only where the command advertises them:
1andurel new orbit --dry-run --diff --json
2andurel upgrade --dry-run --diff --json
3andurel packages update --dry-run --json
Most commands that mutate do not have a dry-run mode. andurel generate has no dry run; it creates a migration file. The commands that stream an external process or need a TTY reject structured output: build, run, fmt, console, generate migration, db create, db drop, db nuke, db rebuild, and every db migrate command. db seed is the exception and accepts them, for example andurel db seed --list --json. Run the others plainly and inspect the database or working tree afterwards.
Destructive database commands (db drop, db nuke, db rebuild) prompt for confirmation. Pass --force for automation; it also permits protected system database names.
Follow the edit loop
1andurel inspect project --json
2andurel patterns show handler
3# write the handler, route, and runtime wiring
4andurel sync routes --json
5andurel verify --json
6andurel doctor --json
verify --json returns data.steps[] with a status per step. A failed run reports each violation with rule, file, line, message, and fix, and exits 9. Apply the fix and run it again. doctor --json is read-only and lists drift checks separately, including routes.ts, payloads.ts, templ, narsilc, and go vet.
Install the skill
1andurel skill install --harness opencode
2andurel skill show --json
--harness accepts codex, claude, pi, opencode, and crush (comma-separated or repeated). Pass at least one so installation never waits for an interactive selection.