@pruddiman/dispatch 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  AI agent orchestration CLI — parse work items from GitHub Issues, Azure DevOps, or local markdown files, dispatch each unit of work to a coding agent (OpenCode, GitHub Copilot, Claude Code, or OpenAI Codex), and commit results with conventional commits.
4
4
 
5
+ > **Note:** **Claude Code** (`--provider claude`) and **OpenAI Codex** (`--provider codex`) are largely untested. Expect rough edges and potential failures when using these providers.
6
+
5
7
  ## What it does
6
8
 
7
9
  Dispatch closes the gap between issue trackers and AI coding agents. It:
@@ -76,26 +78,9 @@ export OPENAI_API_KEY=sk-...
76
78
 
77
79
  Default model: `o4-mini`. Available models: `o4-mini`, `o3-mini`, `codex-mini-latest`.
78
80
 
79
- ### Issue tracker (choose based on your repo)
80
-
81
- **GitHub** (`--source github`):
82
-
83
- ```sh
84
- # Install the GitHub CLI
85
- # https://cli.github.com/
86
-
87
- gh auth login
88
- ```
89
-
90
- **Azure DevOps** (`--source azdevops`):
91
-
92
- ```sh
93
- # Install the Azure CLI
94
- # https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
81
+ ### Issue tracker
95
82
 
96
- az login
97
- az extension add --name azure-devops
98
- ```
83
+ **GitHub** (`--source github`), **Azure DevOps** (`--source azdevops`): No external CLI tools required — Dispatch authenticates directly via browser-based OAuth device flow. See [Authentication](#authentication) below.
99
84
 
100
85
  **Local markdown** (`--source md`): No external tools or authentication required.
101
86
 
@@ -135,15 +120,43 @@ dispatch --provider copilot
135
120
 
136
121
  # Generate specs from issues (before dispatching)
137
122
  dispatch --spec 42,43
123
+
124
+ # Generate a spec from an inline text description
125
+ dispatch --spec "add dark mode toggle to settings page"
126
+
127
+ # Regenerate all existing specs
128
+ dispatch --respec
129
+
130
+ # Group issues into a single feature branch and PR
131
+ dispatch --feature my-feature
132
+
133
+ # Run tests and fix failures via AI
134
+ dispatch --fix-tests
138
135
  ```
139
136
 
137
+ ## Authentication
138
+
139
+ Dispatch authenticates with GitHub and Azure DevOps using the **OAuth device flow** — no external CLI tools (`gh`, `az`) are required.
140
+
141
+ On first use (or when a cached token is missing/expired), Dispatch will:
142
+
143
+ 1. Display a **one-time code** and open your browser to the provider's verification page.
144
+ 2. You sign in and authorize Dispatch in the browser.
145
+ 3. The token is cached locally at **`~/.dispatch/auth.json`** for future runs.
146
+
147
+ Authentication is triggered automatically when you run `dispatch` with `--source github` or `--source azdevops`. No separate login step is needed.
148
+
149
+ **Re-authenticating:** Delete `~/.dispatch/auth.json` (or just the relevant platform key inside it) and run `dispatch` again to re-trigger the device flow.
150
+
140
151
  ## Pipeline modes
141
152
 
142
153
  | Mode | Flag | Description |
143
154
  |------|------|-------------|
144
155
  | **Dispatch** | *(default)* | Plan and execute tasks; manage full git lifecycle |
145
156
  | **Spec generation** | `--spec` | Convert issues into structured markdown spec files |
157
+ | **Respec** | `--respec` | Regenerate existing specs (all, by ID, or by glob) |
146
158
  | **Fix tests** | `--fix-tests` | Detect and auto-fix failing tests via AI |
159
+ | **Feature** | `--feature [name]` | Group issues into a single feature branch and PR |
147
160
 
148
161
  ## Task files
149
162
 
@@ -192,7 +205,14 @@ Config is stored at `.dispatch/config.json` (relative to the working directory w
192
205
  | `provider` | AI backend: `opencode` (default), `copilot`, `claude`, or `codex` |
193
206
  | `model` | Model to use when spawning agents (provider-specific format) |
194
207
  | `source` | Issue tracker: `github`, `azdevops`, or `md` |
195
- | `testTimeout` | Test execution timeout in seconds (default: 60) |
208
+ | `testTimeout` | Test execution timeout in minutes (default: 5, range: 1–120) |
209
+ | `planTimeout` | Planning timeout in minutes (default: 10, range: 1–120) |
210
+ | `concurrency` | Max parallel dispatches (range: 1–64) |
211
+ | `org` | Azure DevOps organization URL |
212
+ | `project` | Azure DevOps project name |
213
+ | `workItemType` | Azure DevOps work item type filter |
214
+ | `iteration` | Azure DevOps iteration path filter |
215
+ | `area` | Azure DevOps area path filter |
196
216
 
197
217
  ## Options reference
198
218
 
@@ -206,9 +226,14 @@ Config is stored at `.dispatch/config.json` (relative to the working directory w
206
226
  | `--dry-run` | `false` | List tasks without executing |
207
227
  | `--no-plan` | `false` | Skip planner phase, execute directly |
208
228
  | `--no-branch` | `false` | Skip branch/push/PR lifecycle |
209
- | `--concurrency <n>` | *(cpu/memory)* | Max parallel dispatches |
229
+ | `--no-worktree` | `false` | Skip git worktree isolation for parallel issues |
230
+ | `--feature [name]` | *(off)* | Group issues into a single feature branch and PR |
231
+ | `--force` | `false` | Ignore prior run state and re-run all tasks |
232
+ | `--concurrency <n>` | *(cpu/memory)* | Max parallel dispatches (max: 64) |
210
233
  | `--plan-timeout <min>` | `10` | Planning timeout in minutes |
211
- | `--plan-retries <n>` | `1` | Retries after planning timeout |
234
+ | `--retries <n>` | `2` | Retry attempts for all agents |
235
+ | `--plan-retries <n>` | *(from --retries)* | Retry attempts for the planner agent (overrides `--retries`) |
236
+ | `--test-timeout <min>` | `5` | Test timeout in minutes |
212
237
  | `--server-url <url>` | *(none)* | Connect to a running provider server |
213
238
  | `--cwd <dir>` | `process.cwd()` | Working directory |
214
239
  | `--verbose` | `false` | Show detailed debug output |
@@ -217,11 +242,18 @@ Config is stored at `.dispatch/config.json` (relative to the working directory w
217
242
 
218
243
  | Option | Description |
219
244
  |--------|-------------|
220
- | `--spec [values...]` | Issue numbers, glob pattern, or description. Activates spec mode. Pass no args to regenerate all existing specs. |
245
+ | `--spec <values...>` | Issue numbers, glob pattern, or inline text description. Activates spec mode. |
246
+ | `--respec [values...]` | Regenerate specs: issue numbers, glob, or omit to regenerate all existing specs. |
221
247
  | `--source <name>` | Datasource override (auto-detected if omitted) |
222
248
  | `--output-dir <dir>` | Output directory for spec files (default: `.dispatch/specs`) |
223
- | `--org <url>` | Azure DevOps organization URL (required for `azdevops`) |
224
- | `--project <name>` | Azure DevOps project name (required for `azdevops`) |
249
+ | `--org <url>` | Azure DevOps organization URL |
250
+ | `--project <name>` | Azure DevOps project name |
251
+
252
+ ### Fix tests mode
253
+
254
+ | Option | Description |
255
+ |--------|-------------|
256
+ | `--fix-tests [issue-ids...]` | Run tests and fix failures via AI. Optionally pass issue IDs to target specific branches in worktrees. |
225
257
 
226
258
  ## Datasource auto-detection
227
259
 
@@ -249,14 +281,21 @@ For local-only workflows, pass `--source md` explicitly.
249
281
  Full documentation is in the [`docs/`](docs/) directory:
250
282
 
251
283
  - [Architecture Overview](docs/architecture.md)
284
+ - [Agent System](docs/agent-system/overview.md)
252
285
  - [CLI & Orchestration](docs/cli-orchestration/overview.md)
253
286
  - [Datasource System](docs/datasource-system/overview.md)
254
- - [Provider System](docs/provider-system/provider-overview.md)
287
+ - [Provider System](docs/provider-system/overview.md)
255
288
  - [Task Parsing](docs/task-parsing/overview.md)
256
289
  - [Planning & Dispatch](docs/planning-and-dispatch/overview.md)
257
290
  - [Spec Generation](docs/spec-generation/overview.md)
291
+ - [Issue Fetching](docs/issue-fetching/overview.md)
292
+ - [Git & Worktree](docs/git-and-worktree/overview.md)
293
+ - [Prerequisites & Safety](docs/prereqs-and-safety/overview.md)
294
+ - [Shared Types](docs/shared-types/overview.md)
295
+ - [Shared Utilities](docs/shared-utilities/overview.md)
258
296
  - [Testing](docs/testing/overview.md)
259
297
  - [Windows](docs/windows.md)
298
+ - [Changelog](docs/changelog.md)
260
299
 
261
300
  ## License
262
301