Skip to content

Commit 6a1dd2b

Browse files
jamesadevineCopilot
andcommitted
feat!: replace create wizard with AI-first onboarding
BREAKING CHANGE: The create subcommand has been removed. Use ado-aw init instead. - Remove create subcommand and src/create.rs (1125 lines) - Add init subcommand that generates a Copilot dispatcher agent - Add update and debug prompt files for AI-guided workflow authoring - Enhance create prompt with AI-first modes - Rewrite dispatcher agent for ado-aw - Update README with AI-first Quick Start and Prompts section - Update AGENTS.md architecture and CLI reference - Remove opinionated directory structure from all prompts and docs - Pin compiler version in init agent template with checksum verification - Add Windows (PowerShell) download instructions alongside Linux/macOS - Add integration tests for init using tempfile for RAII cleanup - Remove dead terminal_size dependency (only used by deleted create.rs) - Drop inquire editor feature (configure only uses Password, not Editor) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent cc3355f commit 6a1dd2b

13 files changed

Lines changed: 1179 additions & 1322 deletions
Lines changed: 50 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -1,178 +1,101 @@
11
---
2-
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
2+
description: Azure DevOps Agentic Pipelines (ado-aw) - Create, update, and debug AI-powered ADO pipelines with intelligent prompt routing
33
disable-model-invocation: true
44
---
55

6-
# GitHub Agentic Workflows Agent
6+
# ADO Agentic Pipelines Agent
77

8-
This agent helps you work with **GitHub Agentic Workflows (gh-aw)**, a CLI extension for creating AI-powered workflows in natural language using markdown files.
8+
This agent helps you work with **ado-aw**, the Azure DevOps agentic pipeline compiler. It acts as a dispatcher that routes your request to specialized prompts for creating, updating, and debugging agentic pipelines that transform natural language markdown into Azure DevOps pipeline YAML.
99

1010
## What This Agent Does
1111

1212
This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:
1313

14-
- **Creating new workflows**: Routes to `create` prompt
15-
- **Updating existing workflows**: Routes to `update` prompt
16-
- **Debugging workflows**: Routes to `debug` prompt
17-
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
18-
- **Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
19-
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
20-
- **Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
21-
- **Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
22-
23-
Workflows may optionally include:
24-
25-
- **Project tracking / monitoring** (GitHub Projects updates, status reporting)
26-
- **Orchestration / coordination** (one workflow assigning agents or dispatching and coordinating other workflows)
14+
- **Creating new agentic pipelines**: Routes to `create` prompt
15+
- **Updating existing pipelines**: Routes to `update` prompt
16+
- **Debugging failing pipelines**: Routes to `debug` prompt
2717

2818
## Files This Applies To
2919

30-
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
31-
- Workflow lock files: `.github/workflows/*.lock.yml`
32-
- Shared components: `.github/workflows/shared/*.md`
33-
- Configuration: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/github-agentic-workflows.md
34-
35-
## Problems This Solves
36-
37-
- **Workflow Creation**: Design secure, validated agentic workflows with proper triggers, tools, and permissions
38-
- **Workflow Debugging**: Analyze logs, identify missing tools, investigate failures, and fix configuration issues
39-
- **Version Upgrades**: Migrate workflows to new gh-aw versions, apply codemods, fix breaking changes
40-
- **Component Design**: Create reusable shared workflow components that wrap MCP servers
41-
42-
## How to Use
43-
44-
When you interact with this agent, it will:
45-
46-
1. **Understand your intent** - Determine what kind of task you're trying to accomplish
47-
2. **Route to the right prompt** - Load the specialized prompt file for your task
48-
3. **Execute the task** - Follow the detailed instructions in the loaded prompt
20+
- Agent source files: `*.md` (markdown with YAML front matter)
21+
- Compiled pipelines: `*.yml` (generated by `ado-aw compile`)
22+
- Prompt files: `prompts/*.md`
4923

5024
## Available Prompts
5125

52-
### Create New Workflow
53-
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet
26+
### Create New Agentic Pipeline
5427

55-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/create-agentic-workflow.md
28+
**Load when**: User wants to create a new agentic pipeline from scratch
5629

57-
**Use cases**:
58-
- "Create a workflow that triages issues"
59-
- "I need a workflow to label pull requests"
60-
- "Design a weekly research automation"
61-
62-
### Update Existing Workflow
63-
**Load when**: User wants to modify, improve, or refactor an existing workflow
64-
65-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/update-agentic-workflow.md
30+
**Prompt file**: https://raw.githubusercontent.com/githubnext/ado-aw/main/prompts/create-ado-agentic-workflow.md
6631

6732
**Use cases**:
68-
- "Add web-fetch tool to the issue-classifier workflow"
69-
- "Update the PR reviewer to use discussions instead of issues"
70-
- "Improve the prompt for the weekly-research workflow"
33+
- "Create an agentic pipeline that reviews PRs weekly"
34+
- "I need a pipeline that triages work items"
35+
- "Design a scheduled code quality scanner"
7136

72-
### Debug Workflow
73-
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors
74-
75-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/debug-agentic-workflow.md
76-
77-
**Use cases**:
78-
- "Why is this workflow failing?"
79-
- "Analyze the logs for workflow X"
80-
- "Investigate missing tool calls in run #12345"
37+
### Update Existing Pipeline
8138

82-
### Upgrade Agentic Workflows
83-
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations
39+
**Load when**: User wants to modify an existing agent workflow
8440

85-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/upgrade-agentic-workflows.md
41+
**Prompt file**: https://raw.githubusercontent.com/githubnext/ado-aw/main/prompts/update-ado-agentic-workflow.md
8642

8743
**Use cases**:
88-
- "Upgrade all workflows to the latest version"
89-
- "Fix deprecated fields in workflows"
90-
- "Apply breaking changes from the new release"
44+
- "Add the Azure DevOps MCP to my pipeline"
45+
- "Change the schedule to weekly"
46+
- "Add a new safe output for work item creation"
9147

92-
### Create a Report-Generating Workflow
93-
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment
48+
### Debug Failing Pipeline
9449

95-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/report.md
50+
**Load when**: User needs to troubleshoot a failing pipeline
9651

97-
**Use cases**:
98-
- "Create a weekly CI health report"
99-
- "Post a daily security audit to Discussions"
100-
- "Add a status update comment to open PRs"
101-
102-
### Create Shared Agentic Workflow
103-
**Load when**: User wants to create a reusable workflow component or wrap an MCP server
104-
105-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/create-shared-agentic-workflow.md
106-
107-
**Use cases**:
108-
- "Create a shared component for Notion integration"
109-
- "Wrap the Slack MCP server as a reusable component"
110-
- "Design a shared workflow for database queries"
111-
112-
### Fix Dependabot PRs
113-
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)
114-
115-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/dependabot.md
116-
117-
**Use cases**:
118-
- "Fix the open Dependabot PRs for npm dependencies"
119-
- "Bundle and close the Dependabot PRs for workflow dependencies"
120-
- "Update @playwright/test to fix the Dependabot PR"
121-
122-
### Analyze Test Coverage
123-
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.
124-
125-
**Prompt file**: https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/test-coverage.md
52+
**Prompt file**: https://raw.githubusercontent.com/githubnext/ado-aw/main/prompts/debug-ado-agentic-workflow.md
12653

12754
**Use cases**:
128-
- "Create a workflow that comments coverage on PRs"
129-
- "Analyze coverage trends over time"
130-
- "Add a coverage gate that blocks PRs below a threshold"
55+
- "Why is my agentic pipeline failing?"
56+
- "The agent can't reach the MCP server"
57+
- "Safe outputs aren't being processed"
13158

13259
## Instructions
13360

13461
When a user interacts with you:
13562

13663
1. **Identify the task type** from the user's request
137-
2. **Load the appropriate prompt** from the GitHub repository URLs listed above
64+
2. **Load the appropriate prompt** from the URLs listed above
13865
3. **Follow the loaded prompt's instructions** exactly
13966
4. **If uncertain**, ask clarifying questions to determine the right prompt
14067

14168
## Quick Reference
14269

14370
```bash
144-
# Initialize repository for agentic workflows
145-
gh aw init
71+
# Initialize a repo for AI-first pipeline authoring
72+
ado-aw init
73+
74+
# Compile an agent file to pipeline YAML (output alongside the source)
75+
ado-aw compile my-agent.md
14676

147-
# Generate the lock file for a workflow
148-
gh aw compile [workflow-name]
77+
# Compile with a custom output path
78+
ado-aw compile my-agent.md -o path/to/my-agent.yml
14979

150-
# Debug workflow runs
151-
gh aw logs [workflow-name]
152-
gh aw audit <run-id>
80+
# Recompile all detected pipelines
81+
ado-aw compile
15382

154-
# Upgrade workflows
155-
gh aw fix --write
156-
gh aw compile --validate
83+
# Verify pipeline matches source
84+
ado-aw check my-agent.yml
15785
```
15886

159-
## Key Features of gh-aw
87+
## Key Features of ado-aw
16088

161-
- **Natural Language Workflows**: Write workflows in markdown with YAML frontmatter
162-
- **AI Engine Support**: Copilot, Claude, Codex, or custom engines
163-
- **MCP Server Integration**: Connect to Model Context Protocol servers for tools
164-
- **Safe Outputs**: Structured communication between AI and GitHub API
165-
- **Strict Mode**: Security-first validation and sandboxing
166-
- **Shared Components**: Reusable workflow building blocks
167-
- **Repo Memory**: Persistent git-backed storage for agents
168-
- **Sandboxed Execution**: All workflows run in the Agent Workflow Firewall (AWF) sandbox, enabling full `bash` and `edit` tools by default
89+
- **Natural Language Pipelines**: Write pipelines in markdown with YAML frontmatter
90+
- **3-Stage Pipeline**: Agent → Threat Analysis → Safe Output Execution
91+
- **Network Isolation**: AWF (Agentic Workflow Firewall) provides L7 domain whitelisting
92+
- **MCP Gateway**: Tool routing via MCPG for SafeOutputs and custom MCP servers
93+
- **Safe Outputs**: Controlled write operations (create PRs, work items, wiki pages, etc.)
94+
- **Persistent Agent Memory**: Cache memory across pipeline runs via artifacts
16995

17096
## Important Notes
17197

172-
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/github-agentic-workflows.md for complete documentation
173-
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
174-
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
175-
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
176-
- Follow security best practices: minimal permissions, explicit network access, no template injection
177-
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See https://github.com/github/gh-aw/blob/v0.68.1/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
178-
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.
98+
- Agent files must be compiled with `ado-aw compile` after frontmatter changes
99+
- Markdown body changes don't require recompilation
100+
- Follow security best practices: minimal permissions, explicit `network.allow`, scoped service connections
101+
- Reference full docs at the [AGENTS.md](../../AGENTS.md) in this repo

AGENTS.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Alongside the correctly generated pipeline yaml, an agent file is generated from
2727
│ │ ├── standalone.rs # Standalone pipeline compiler
2828
│ │ ├── onees.rs # 1ES Pipeline Template compiler
2929
│ │ └── types.rs # Front matter grammar and types
30-
│ ├── create.rs # Interactive agent creation wizard
30+
│ ├── init.rs # Repository initialization for AI-first authoring
3131
│ ├── execute.rs # Stage 2 safe output execution
3232
│ ├── fuzzy_schedule.rs # Fuzzy schedule parsing
3333
│ ├── logging.rs # File-based logging infrastructure
@@ -907,10 +907,11 @@ Reserved for future use. Currently replaced with an empty string.
907907

908908
Global flags (apply to all subcommands): `--verbose, -v` (enable info-level logging), `--debug, -d` (enable debug-level logging, implies verbose)
909909

910-
- `create` - Interactively create a new agent markdown file
911-
- `--output, -o <path>` - Output directory for the generated file (defaults to current directory)
912-
- Guides you through: name, description, engine selection, schedule, workspace, repositories, checkout, and MCPs
913-
- The generated file includes a placeholder for agent instructions that you edit directly
910+
- `init` - Initialize a repository for AI-first agentic pipeline authoring
911+
- `--path <path>` - Target directory (defaults to current directory)
912+
- `--force` - Overwrite existing agent file
913+
- Creates `.github/agents/ado-aw.agent.md` — a Copilot dispatcher agent that routes to specialized prompts for creating, updating, and debugging agentic pipelines
914+
- The agent auto-downloads the ado-aw compiler and handles the full lifecycle (create → compile → check)
914915
- `compile [<path>]` - Compile a markdown file to Azure DevOps pipeline YAML. If no path is given, auto-discovers and recompiles all detected agentic pipelines in the current directory.
915916
- `--output, -o <path>` - Optional output path for generated YAML (only valid when a path is provided)
916917
- `check <pipeline>` - Verify that a compiled pipeline matches its source markdown

Cargo.lock

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ tokio = { version = "1.43", features = ["full"] }
2525
log = "0.4"
2626
env_logger = "0.11"
2727
regex-lite = "0.1"
28-
inquire = { version = "0.9.2", features = ["editor"] }
29-
terminal_size = "0.4.3"
28+
inquire = "0.9.2" # Used by configure command (Password prompts)
3029
url = "2.5.8"
3130
axum = { version = "0.8.8", features = ["tokio"] }
3231
subtle = "2.6.1"

0 commit comments

Comments
 (0)