Command line¶
Commands¶
Projects
| Command | Description |
|---|---|
init |
Create a Dadrock dadr/ directory. |
demo |
Seed a new project with a named DADR example. |
preview |
Serve the local web review UI. |
config |
Print the resolved project layout. |
dir |
Print the project's dadr/ directory, even before it exists. |
Records
| Command | Description |
|---|---|
new |
Create a candidate decision record from the active candidate template. |
list |
List records, optionally filtered by lifecycle status, tag, or query. |
history |
Show a decision's versions as a graph, newest first, with the reason for each change and each version's text edits from Git. |
diff |
Compare two records: title, tags, and body without ## Supersedes. |
accept |
Accept a candidate decision, or several together with --with. |
reject |
Reject a candidate decision. |
supersede |
Link accepted successors to the records they supersede and move those records to the archive. |
status |
Inspect one record's lifecycle status or run lifecycle transitions. |
Validation
| Command | Description |
|---|---|
validate |
Run project validation, or target records, links, tags, or changes. |
tags |
Inspect DADR tag usage. |
Agents
| Command | Description |
|---|---|
agent |
Call a configured local ACP agent for candidate drafting. |
task |
Discover, inspect, and run Dadrock task packages. |
mcp |
Serve Dadrock MCP tools over stdio. |
Help
| Command | Description |
|---|---|
help |
Show top-level help or detailed metadata for one command. |
commands |
List command metadata for automation and command discovery. |
completions |
Generate a shell completion script. |
dadrock init¶
Create a Dadrock dadr/ directory.
Usage: dadrock init [DIRECTORY]
Arguments
<DIRECTORY>— Where to createdadr/: its parent directory, or a path ending indadr(defaults to the current directory)
dadrock demo¶
Seed a new project with a named DADR example.
Usage: dadrock demo [OPTIONS] [DIRECTORY]
Arguments
<DIRECTORY>— The directory to seed, which must be new or empty (defaults to the current directory)
Options
--json— Print the JSON envelope instead of text--example <EXAMPLE>— The example project to seed
Default value: lifecycle
Possible values: lifecycle, candidate-review, penguins, broken, conflicts, task-history
dadrock preview¶
Serve the local web review UI.
Usage: dadrock preview [OPTIONS] [DIRECTORY]
Arguments
<DIRECTORY>— The directory to find the project from (defaults to the current directory)
Options
--port <PORT>— The port to listen on; 0 picks a free one
Default value: 4004
* --host <HOST> — The address to listen on: only localhost, 127.0.0.1, and ::1 are accepted
Default value: 127.0.0.1
dadrock config¶
Print the resolved project layout.
Usage: dadrock config [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock dir¶
Print the project's dadr/ directory, even before it exists.
Usage: dadrock dir
dadrock new¶
Create a candidate decision record from the active candidate template.
Usage: dadrock new [OPTIONS] <TITLE>...
Arguments
<TITLE>— The record's title; the words join into one title. Options can come before or after it; put--before a title that starts with-
Options
--tag <TAG>— A tag for the record, without#; repeat for more--quiet— Print only the new record's id instead of the JSON envelope
dadrock list¶
List records, optionally filtered by lifecycle status, tag, or query.
Usage: dadrock list [OPTIONS]
Options
--status <STATUS>— Only records with this status;acceptedleaves out superseded records, andsupersededlists only them
Possible values: candidate, accepted, rejected, superseded
--tag <TAG>— Only records with this tag, in front matter or inline (the#is optional)--query <QUERY>— Only records matching a full id, an id prefix, or part of a filename or title--unique— Exit non-zero unless exactly one record matches
dadrock history¶
Show a decision's versions as a graph, newest first, with the reason for each change and each version's text edits from Git.
Usage: dadrock history [OPTIONS] <QUERY>...
Arguments
<QUERY>— Any version of the decision: full id, id prefix, filename, or title
Options
--patch— Print each change's diff under its link, and each text edit's diff under its version--json— Print the JSON envelope instead of text
dadrock diff¶
Compare two records: title, tags, and body without ## Supersedes.
Usage: dadrock diff [OPTIONS] <OLD> <NEW>
Arguments
<OLD>— The record to compare from: full id, id prefix, filename, or title<NEW>— The record to compare to
Options
--json— Print the JSON envelope instead of text
dadrock accept¶
Accept a candidate decision, or several together with --with.
Usage: dadrock accept [OPTIONS] <QUERY>...
Arguments
<QUERY>— The candidate to accept; the words join into one query
Options
--with <QUERY>— Another candidate to accept in the same operation, such as the other half of a split. Repeat for more
dadrock reject¶
Reject a candidate decision.
Usage: dadrock reject <QUERY>...
Arguments
<QUERY>— The candidate: full id, id prefix, filename, or title; the words join into one query
dadrock supersede¶
Link accepted successors to the records they supersede and move those records to the archive.
Usage: dadrock supersede [OPTIONS]
Options
--from <FROM>— An accepted record to supersede: full id, id prefix, filename, or title. Repeat for more--to <TO>— An accepted record that replaces it. Repeat for more; every--fromrecord gets every--torecord as a successor
dadrock status¶
Inspect one record's lifecycle status or run lifecycle transitions.
Usage: dadrock status [QUERY]... [COMMAND]
Subcommands
accept— Accept a candidate and move it to the ledger, or several together with --with.reject— Reject a candidate and move it to the archive.supersede— Link accepted successors to the records they supersede and move those records to the archive.
Arguments
<QUERY>— The record to inspect: full id, id prefix, filename, or title; the words join into one query
dadrock status accept¶
Accept a candidate and move it to the ledger, or several together with --with.
Usage: dadrock status accept [OPTIONS] <QUERY>...
Arguments
<QUERY>— The candidate to accept; the words join into one query
Options
--with <QUERY>— Another candidate to accept in the same operation, such as the other half of a split. Repeat for more
dadrock status reject¶
Reject a candidate and move it to the archive.
Usage: dadrock status reject <QUERY>...
Arguments
<QUERY>— The candidate: full id, id prefix, filename, or title; the words join into one query
dadrock status supersede¶
Link accepted successors to the records they supersede and move those records to the archive.
Usage: dadrock status supersede [OPTIONS]
Options
--from <FROM>— An accepted record to supersede: full id, id prefix, filename, or title. Repeat for more--to <TO>— An accepted record that replaces it. Repeat for more; every--fromrecord gets every--torecord as a successor
dadrock validate¶
Run project validation, or target records, links, tags, or changes.
Usage: dadrock validate [OPTIONS] [COMMAND]
Subcommands
records— Validate record front matter and structure.links— Report broken or ambiguous wikilinks and local Markdown links.tags— Report malformed YAML and inline tags.changes— Check accepted and rejected records against a Git revision: a changed id or status or a removed successor is an error; a title or body edit is a warning with the diff.
Options
--json— Print the project validation's JSON envelope instead of text
dadrock validate records¶
Validate record front matter and structure.
Usage: dadrock validate records [OPTIONS] [PATHS]...
Arguments
<PATHS>— Record files or directories to validate (defaults to every record in the project)
Options
--json— No effect: this command always prints the JSON envelope
dadrock validate links¶
Report broken or ambiguous wikilinks and local Markdown links.
Usage: dadrock validate links [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock validate tags¶
Report malformed YAML and inline tags.
Usage: dadrock validate tags [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock validate changes¶
Check accepted and rejected records against a Git revision: a changed id or status or a removed successor is an error; a title or body edit is a warning with the diff.
Usage: dadrock validate changes [OPTIONS]
Options
--base <BASE>— Git revision to compare with
Default value: HEAD
* --staged — Compare the index (staged changes) instead of the working tree
* --strict — Report title and body edits to accepted and rejected records as errors
* --json — Print the JSON envelope instead of text
dadrock tags¶
Inspect DADR tag usage.
Usage: dadrock tags <COMMAND>
Subcommands
list— List normalized YAML and inline tags.
dadrock tags list¶
List normalized YAML and inline tags.
Usage: dadrock tags list [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock agent¶
Call a configured local ACP agent for candidate drafting.
Usage: dadrock agent <COMMAND>
Subcommands
check— Check that a local ACP agent can start a Dadrock session.draft— Ask a local ACP agent to draft a candidate decision.skills— List available Dadrock agent skills and prompt packs.
dadrock agent check¶
Check that a local ACP agent can start a Dadrock session.
Usage: dadrock agent check [OPTIONS]
Options
--agent <AGENT>— The ACP agent program to start (defaults toDADROCK_ACP_AGENT, then an installed provider)--agent-arg <AGENT_ARGS>— An extra argument for the agent program; repeat for more--no-mcp— Start the agent without Dadrock's MCP tools
dadrock agent draft¶
Ask a local ACP agent to draft a candidate decision.
Usage: dadrock agent draft [OPTIONS] <PROMPT>...
Arguments
<PROMPT>— The decision to draft; the words join into one prompt
Options
--write— Save the draft as a new candidate record; without it, the draft is only printed--json— Print the JSON envelope instead of text--permission <PERMISSION>— How to answer the agent's tool permission requests
Default value: deny
Possible values:
- deny:
Deny every tool permission request
- allow-reads:
Approve read, search, and think tool requests once; deny the rest
- allow-once:
Approve every tool permission request once
- allow-always:
Approve every tool permission request for the session
--agent <AGENT>— The ACP agent program to start (defaults toDADROCK_ACP_AGENT, then an installed provider)--agent-arg <AGENT_ARGS>— An extra argument for the agent program; repeat for more--skill <SKILLS>[alias:prompt-pack] — An agent skill or prompt pack to include, by name or path; repeat for more--no-mcp— Start the agent without Dadrock's MCP tools
dadrock agent skills¶
List available Dadrock agent skills and prompt packs.
Usage: dadrock agent skills [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock task¶
Discover, inspect, and run Dadrock task packages.
Usage: dadrock task <COMMAND>
Subcommands
list— List built-in, user, and project task packages.show— Show one resolved task package.run— Run one resolved task package with a local ACP agent.runs— List persisted local task runs.result— Read a persisted task run result.
dadrock task list¶
List built-in, user, and project task packages.
Usage: dadrock task list [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock task show¶
Show one resolved task package.
Usage: dadrock task show [OPTIONS] <TASK_ID>
Arguments
<TASK_ID>— The task id, asdadrock task listprints it
Options
--json— Print the JSON envelope instead of text--raw— Print the task file exactly as written, front matter included
dadrock task run¶
Run one resolved task package with a local ACP agent.
Usage: dadrock task run [OPTIONS] <TASK_ID>
Arguments
<TASK_ID>— Task to run, by id (seedadrock task list)
Options
--input-json <JSON>— Task inputs as a JSON object, for tasks without friendly input flags--path <PATH>— File or directory to inspect (code-to-record)--context <CONTEXT>— Describe the decision to capture (context-to-record)--focus <FOCUS>— Topic to concentrate on (code-to-record, decisions-to-spec)--limit <LIMIT>— Maximum initial candidates (code-to-record defaults to 5)--instructions <INSTRUCTIONS>— What the agent should do, as task context (required by custom)--record <QUERY>— Record for the agent to work on, by id, short id, or title; repeatable--attach <PATH>— File or folder for the agent to read, as task context; repeatable--json— Print the run as a JSON command envelope--permission <PERMISSION>— How to answer the agent's tool permission requests
Default value: deny
Possible values:
- deny:
Deny every tool permission request
- allow-reads:
Approve read, search, and think tool requests once; deny the rest
- allow-once:
Approve every tool permission request once
- allow-always:
Approve every tool permission request for the session
--agent <PROGRAM>— ACP agent executable to run instead of the configured or detected one--agent-arg <ARG>— Extra argument for the ACP agent; repeatable--no-mcp— Do not attach Dadrock's MCP server to the agent session
dadrock task runs¶
List persisted local task runs.
Usage: dadrock task runs [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock task result¶
Read a persisted task run result.
Usage: dadrock task result [OPTIONS] <RUN_ID>
Arguments
<RUN_ID>— The run id, asdadrock task runsprints it
Options
--json— Print the whole JSON envelope instead of the result alone
dadrock mcp¶
Serve Dadrock MCP tools over stdio.
Usage: dadrock mcp <COMMAND>
Subcommands
serve— Serve Dadrock MCP tools over stdio.
dadrock mcp serve¶
Serve Dadrock MCP tools over stdio.
Usage: dadrock mcp serve [OPTIONS] [DIRECTORY]
Arguments
<DIRECTORY>— The directory to find the project from (defaults to the current directory)
Options
--read-only— Serve only the read tools, so no tool can create or change a record
dadrock help¶
Show top-level help or detailed metadata for one command.
Usage: dadrock help [TOPIC]...
Arguments
<TOPIC>— The command to describe, such asvalidate changes
dadrock commands¶
List command metadata for automation and command discovery.
Usage: dadrock commands [OPTIONS]
Options
--json— Print the JSON envelope instead of text
dadrock completions¶
Generate a shell completion script.
Usage: dadrock completions <SHELL>
Arguments
<SHELL>— The shell to generate the script for
Possible values: bash, zsh, fish