You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`--log-output-dir <path>` -- write log files to a specific directory (overrides `ADO_AW_LOG_DIR`)
17
19
18
-
## Commands
20
+
## Authoring commands
19
21
20
22
### `init`
21
23
22
-
Initialize a repository for AI-first agentic pipeline authoring.
24
+
Initialize a repository for AI-first agentic pipeline authoring. Creates `.github/agents/ado-aw.agent.md`, a Copilot dispatcher agent that routes to the create, update, and debug prompts.
23
25
24
26
```bash
25
27
ado-aw init [--path <path>] [--force]
26
28
```
27
29
28
30
Options:
29
31
30
-
-`--path <path>` -- target directory
31
-
-`--force` -- continue even when repository checks would normally block initialization
32
+
-`--path <path>` -- target directory (defaults to current directory)
33
+
-`--force` -- bypass the GitHub-remote guard (use when running inside a GitHub-hosted repository like `githubnext/ado-aw`)
32
34
33
35
### `compile [<path>]`
34
36
35
-
Compile markdown into Azure DevOps pipeline YAML. If you omit the path, `ado-aw` auto-discovers agentic pipeline sources in the current directory.
37
+
Compile a markdown agent file into Azure DevOps pipeline YAML. If you omit the path, `ado-aw` auto-discovers and recompiles all agentic pipeline sources in the current directory.
36
38
37
39
```bash
38
40
ado-aw compile [<path>] [--output <path>]
39
41
```
40
42
41
43
Options:
42
44
43
-
-`--output`, `-o <path>` -- write the generated YAML to a specific file or directory
44
-
-`--skip-integrity` -- debug-only option to skip the generated integrity check step
45
-
-`--debug-pipeline` -- debug-only option to include extra pipeline diagnostics
45
+
-`--output`, `-o <path>` -- write the generated YAML to a specific file or directory; if an existing directory is given, the filename is derived from the source (e.g. `agent.md` → `agent.lock.yml`)
-`--debug-pipeline` -- *(debug builds only)* include MCPG debug diagnostics in the generated pipeline
46
49
47
50
### `check <pipeline>`
48
51
49
-
Verify that a compiled pipeline still matches its source markdown.
52
+
Verify that a compiled pipeline still matches its source markdown. Useful as a CI gate to catch un-regenerated pipelines.
50
53
51
54
```bash
52
55
ado-aw check <pipeline>
53
56
```
54
57
58
+
The source markdown path is auto-detected from the `@ado-aw` header inside the compiled YAML.
59
+
60
+
## Pipeline lifecycle commands
61
+
62
+
These commands interact with Azure DevOps build definitions and require ADO API access. They infer the ADO organization and project from the local git remote by default; pass `--org` and `--project` to override.
63
+
64
+
For ADO authentication, the commands try the **Azure CLI** (`az` login) first and fall back to prompting for a PAT. You can also set `AZURE_DEVOPS_EXT_PAT` in your environment to skip the prompt.
65
+
66
+
### `secrets set <name> [<value>] [path]`
67
+
68
+
Set a pipeline variable (stored as `isSecret=true`) on every matched ADO definition.
69
+
70
+
```bash
71
+
ado-aw secrets set GITHUB_TOKEN [path]
72
+
```
73
+
74
+
Value resolution order: positional `<value>` argument → `--value-stdin` (one line from stdin) → interactive prompt with echo off.
75
+
76
+
Options:
77
+
78
+
-`--allow-override` -- set `allowOverride=true`; when omitted, `allowOverride` is preserved on existing variables and defaults to `false` for new ones
79
+
-`--value-stdin` -- read the value from a single line on stdin (mutually exclusive with the positional value)
80
+
-`--org <url>` -- Azure DevOps organization URL or bare org name
-`--dry-run` -- print the planned set without calling the ADO API
85
+
86
+
### `secrets list [path]`
87
+
88
+
List variable names and their `isSecret` / `allowOverride` flags on every matched definition. **Never prints values.**
89
+
90
+
Options:
91
+
92
+
-`--json` -- emit machine-readable JSON
93
+
-`--org`, `--project`, `--pat`, `--definition-ids` -- same as `secrets set`
94
+
95
+
### `secrets delete <name> [path]`
96
+
97
+
Delete a named variable from every matched definition. No-op when the variable is absent.
98
+
99
+
Options:
100
+
101
+
-`--org`, `--project`, `--pat`, `--definition-ids` -- same as `secrets set`
102
+
-`--dry-run` -- print the planned deletion without calling the ADO API
103
+
104
+
### `enable [path]`
105
+
106
+
Register an ADO build definition for each compiled pipeline discovered under `path` and ensure it is `enabled`. Matches existing definitions by YAML filename first, then by display name; creates a new definition when no match is found.
107
+
108
+
```bash
109
+
ado-aw enable [path] [options]
110
+
```
111
+
112
+
Options:
113
+
114
+
-`--org <url>` -- Azure DevOps organization URL or bare org name
115
+
-`--project <name>` -- Azure DevOps project name
116
+
-`--pat <pat>` -- PAT for ADO API authentication
117
+
-`--folder <ado-folder>` -- ADO folder for newly-created definitions (default: `\`); only applies on create
118
+
-`--default-branch <ref>` -- default branch for newly-created definitions (default: `refs/heads/main`)
119
+
-`--also-set-token` -- set `GITHUB_TOKEN` as a secret variable after creating new definitions
120
+
-`--token <value>` -- token value for `--also-set-token` (falls back to `$GITHUB_TOKEN`, then interactive prompt)
121
+
-`--dry-run` -- print the planned actions without calling the ADO API
122
+
123
+
<Asidetype="note">
124
+
`enable` requires the local git remote to be an Azure DevOps Git remote. GitHub-hosted source repos are not yet supported.
125
+
</Aside>
126
+
127
+
### `disable [path]`
128
+
129
+
Set `queueStatus` to `disabled` (or `paused`) on every matched ADO definition.
130
+
131
+
Options:
132
+
133
+
-`--paused` -- use `queueStatus: paused` instead of `disabled`; paused definitions still queue scheduled runs but hold the queue, while disabled definitions reject all queue requests
134
+
-`--org`, `--project`, `--pat` -- same as `enable`
135
+
-`--dry-run` -- print the planned transitions without calling the ADO API
136
+
137
+
### `remove [path]`
138
+
139
+
**Destructive.** Delete every matched ADO build definition. Bulk deletes (more than one match) require `--yes`; a single match on a tty prompts interactively.
140
+
141
+
Options:
142
+
143
+
-`--yes` -- required for bulk deletes and for any delete in a non-tty context
144
+
-`--org`, `--project`, `--pat` -- same as `enable`
145
+
-`--dry-run` -- print the planned deletions without calling the ADO API
146
+
147
+
### `list [path]`
148
+
149
+
List every matched ADO build definition along with its `queueStatus`, ADO folder, and latest-run summary.
150
+
151
+
Options:
152
+
153
+
-`--all` -- also include ADO definitions that do not match any local fixture
154
+
-`--json` -- emit machine-readable JSON
155
+
-`--org`, `--project`, `--pat` -- same as `enable`
156
+
157
+
### `status [path]`
158
+
159
+
Show a denser per-pipeline status block for every matched definition: name, ID, folder, `queueStatus`, latest-run summary, and a deep link. `--json` emits the same shape as `list --json`.
160
+
161
+
Options:
162
+
163
+
-`--json` -- emit machine-readable JSON
164
+
-`--org`, `--project`, `--pat` -- same as `enable`
165
+
166
+
### `run [path]`
167
+
168
+
Queue an ADO build for every matched definition. With `--wait`, polls each queued build to completion and exits with a non-zero code if any build failed.
169
+
170
+
```bash
171
+
ado-aw run [path] [--wait] [--parameters key=value]
172
+
```
173
+
174
+
Options:
175
+
176
+
-`--branch <ref>` -- source branch to queue (defaults to the definition's `defaultBranch`)
177
+
-`--parameters <k=v>` -- ADO `templateParameters` as `key=value` pairs; repeatable and/or comma-separated. Values must not contain commas — use one `--parameters` flag per pair when values contain commas.
178
+
-`--wait` -- poll each queued build to completion before exiting
179
+
-`--poll-interval <secs>` -- polling interval when `--wait` is set (default: `10`)
180
+
-`--timeout <secs>` -- maximum wait time when `--wait` is set (default: `1800`)
181
+
-`--org`, `--project`, `--pat` -- same as `enable`
182
+
-`--dry-run` -- print the planned queue body without calling the ADO API
183
+
184
+
## Internal / pipeline runtime commands
185
+
186
+
These commands are used by the compiled pipeline itself and are not typically called by users directly.
187
+
55
188
### `mcp <output_directory> <bounding_directory>`
56
189
57
-
Run SafeOutputs as a stdio MCP server.
190
+
Run SafeOutputs as a stdio MCP server (used by Stage 1).
-`--ado-project <name>` -- Azure DevOps project name override
96
229
-`--dry-run` -- validate inputs without making write calls
97
230
98
-
### `configure`
99
-
100
-
Detect agentic pipelines in a local repository and update the `GITHUB_TOKEN` pipeline variable on their Azure DevOps build definitions. The Copilot CLI engine needs this token to authenticate with GitHub.
101
-
102
-
For Azure DevOps API authentication, the command first tries the **Azure CLI** (`az` login session) and falls back to prompting for a PAT if unavailable.
103
-
104
-
```bash
105
-
ado-aw configure [options]
106
-
```
107
-
108
-
Options:
109
-
110
-
-`--token <token>` -- GitHub PAT value to apply (prompted if omitted). Must be a [fine-grained PAT](/ado-aw/setup/quick-start/#github-pat-permissions) with **Copilot Requests: Read** permission.
111
-
-`--org <url>` -- Azure DevOps organization URL
112
-
-`--project <name>` -- Azure DevOps project name
113
-
-`--pat <pat>` -- PAT used for Azure DevOps API authentication (fallback if Azure CLI is unavailable)
114
-
-`--path <path>` -- repository path to inspect
115
-
-`--dry-run` -- preview changes without applying them
116
-
-`--definition-ids <ids>` -- comma-separated definition IDs to update
117
-
118
231
## Common examples
119
232
120
233
```bash
@@ -126,4 +239,16 @@ ado-aw compile
126
239
127
240
# Verify a generated pipeline
128
241
ado-aw check agent.lock.yml
242
+
243
+
# Set GITHUB_TOKEN on all matched pipelines
244
+
ado-aw secrets set GITHUB_TOKEN
245
+
246
+
# Register pipelines with ADO and set their token in one step
247
+
ado-aw enable --also-set-token
248
+
249
+
# Check which pipelines are registered and their latest status
250
+
ado-aw status
251
+
252
+
# Queue all matched pipelines and wait for them to finish
0 commit comments