Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .docket.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,11 @@ change_types: [chore, docs, feat, fix, refactor, perf]
# no default: while it is absent, install touches no repository surface. Listing harnesses
# (claude, codex, cursor, opencode) installs the managed block in CLAUDE.md / AGENTS.md and, for
# cursor, .cursor/rules/docket-dispatch.mdc. Only .docket.yml or .docket.local.yml can opt a
# repository in; the installer ignores a value in the global config.
# repository in; the installer ignores a value in the global config. `docket repository init` asks
# for it (a checklist on a terminal, or `--harnesses claude,cursor` / `--harnesses none`),
# `docket repository configure-harnesses` changes it later and refreshes the instructions in the
# same run, and `docket repository check` warns `harnesses-unset` while it is not set.
# `agent_harnesses: []` records that no agents are used.
# scope: any layer
# agent_harnesses: [claude]

Expand Down
5 changes: 4 additions & 1 deletion docs/guide/where-the-metadata-lives.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,10 @@ All of these operate on the repository in your current directory (or the one `--
`docket` branch, pushes it, and attaches the `.docket/` worktree. It also writes the managed
`.gitignore` block (which ignores `.docket/`, `.worktrees/`, `.docket.local.yml`, and docket's
other machine-local files) and a starting `.docket.yml` test policy, and leaves those edits
unstaged for you to review and commit.
unstaged for you to review and commit. It also asks which coding agents get docket's instructions
(`--harnesses` answers up front).
- **`docket repository configure-harnesses`** — changes that choice any time, without a clean
checkout, and leaves the `.docket.yml` edit unstaged.
- **`docket repository migrate`** — only for a repository on the old single-branch layout, where
the planning records still live on the integration branch. It prints its plan and asks for
confirmation before changing anything (pass `--yes` to authorize it without the prompt). It then
Expand Down
4 changes: 3 additions & 1 deletion docs/reference/config-keys.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ Each key has one scope:
managed block in `CLAUDE.md` / `AGENTS.md` and, for Cursor, `.cursor/rules/docket-dispatch.mdc`.
It takes `claude`, `codex`, `cursor`, and `opencode`. While it is absent, `docket install` touches
no repository surface. Only `.docket.yml` or `.docket.local.yml` can opt a repository in; the
installer ignores a value in the global config.
installer ignores a value in the global config. `docket repository init` asks for it (or takes
`--harnesses <list>|none`), `docket repository configure-harnesses` changes it later and refreshes
the surfaces in the same run, and `docket repository check` warns `harnesses-unset` while it is unset.

**`agents`** pins apply per agent and per field; anything you leave out keeps its built-in value.
The built-in table is compiled into the binary, and `agents/harness-defaults.yml` ships the same
Expand Down
6 changes: 4 additions & 2 deletions docs/reference/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,11 @@ or from `--command "<cmd>"` when discovery cannot find the suite.

```sh
cd <target-repo>
docket repository init # a repository that has never used docket
docket repository init # a repository that has never used docket (--harnesses picks the agents up front)
docket repository migrate # a legacy single-branch repository (human-typed)
docket repository configure-tests # set the build and finalize test commands
docket repository configure-tests --command "sh ./test.sh" # set both gates to local with this command
docket repository configure-harnesses # choose which coding agents get docket's instructions
```

### Archived record
Expand Down Expand Up @@ -1889,7 +1890,8 @@ exactly those harnesses), or `[]` (retire every docket-owned repository surface)

**Used for:** opting a repository in to dispatch surfaces. Only `.docket.yml` or `.docket.local.yml`
can opt a repository in; the installer ignores a global value, and an unknown token is an error.
Re-run the install after changing it.
`docket repository init` asks for it; `docket repository configure-harnesses` changes it and
refreshes the surfaces; `docket repository check` warns `harnesses-unset` while it is unset.

```yaml
# .docket.yml (whole team) or .docket.local.yml (this clone)
Expand Down
22 changes: 20 additions & 2 deletions docs/release/upgrading-from-bash.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ On a Bash repository it exits with an error and lists some of these findings:
| `committed-ignore-invalid` | The docket block in `.gitignore` is the Bash version. | Replace the block, below. |
| `legacy-config-key-present` | `.docket.yml` still sets `metadata_branch`. | Remove the setting, below. |
| `test-config-missing` | No test command is set up for docket's build checks. | `docket repository configure-tests`, below. |
| `harnesses-unset` | No coding agents are chosen for this repository, so docket writes no instructions for them. | `docket repository configure-harnesses`, below. |
| `board-stale` | `BOARD.md` on the `docket` branch is in the Bash format. | `docket repository repair`, below. |
| `artifact-links-stale` | A change record's links block is in the Bash format. | `docket repository repair`, below. |

Expand Down Expand Up @@ -166,17 +167,30 @@ git push
```

Now set up the test command. `docket repository configure-tests` writes the test settings into
`.docket.yml`. Review them, then commit and push.
`.docket.yml`. Review them.

<!-- upgrade-step: configure-tests -->
```sh
docket repository configure-tests
```

Next, choose the coding agents docket writes instructions for. On a terminal,
`docket repository configure-harnesses` shows a checklist. The command below records "none yet",
because Bash docket's `CLAUDE.md` block would get in the way. After you remove that block (the last
step), run `docket repository configure-harnesses --harnesses claude` (or your agents) and commit
the result.

<!-- upgrade-step: configure-harnesses -->
```sh
docket repository configure-harnesses --harnesses none
```

Commit and push both settings in `.docket.yml`, the test command and the agents:

<!-- upgrade-step: commit-config -->
```sh
git add .docket.yml
git commit -m "Configure docket's test command"
git commit -m "Configure docket's test command and agents"
git push
```

Expand Down Expand Up @@ -221,6 +235,10 @@ git commit -am "Remove the Bash docket block from CLAUDE.md"
git push
```

Last, choose your coding agents, which the configure-harnesses step left as "none yet": run
`docket repository configure-harnesses --harnesses <agents>` (for example `claude`) and commit the
paths it lists.

## 6. Settings that changed

These are the Bash-era settings docket reports, in `.docket.yml` or in
Expand Down
Loading
Loading