Lightweight, composable scaffolding to supercharge GitHub Copilot + Azure DevOps (AzDO) workflows: pull @Me work items, enrich with repository context, generate a research β plan β implement loop, manage PRDs & ADRs, and produce clean conventional commits - all inside Copilot Chat.
Use it asβis or cherryβpick only the folders you want.
- Hyper-Velocity Engineering (HVE) ADO Scaffold π
# Install PowerShell on macOS
brew install powershell
# Start a PowerShell session
pwshInstall HVE ADO Scaffold into your existing repository using the PowerShell script:
-
Download and run the installer:
# Download the installer script Invoke-WebRequest -Uri "https://raw.githubusercontent.com/agreaves-ms/hve-ado-scaffold/main/Install-HveAdoScaffold.ps1" -OutFile "Install-HveAdoScaffold.ps1" # Run the installer from your repository root .\Install-HveAdoScaffold.ps1
-
Start using the workflows:
- Open VS Code and try the prompts from
.github/prompts/in Copilot Chat
- Open VS Code and try the prompts from
Installation options:
# Install with prompts for existing files
.\Install-HveAdoScaffold.ps1
# Install to a specific directory
.\Install-HveAdoScaffold.ps1 -TargetPath "./my-project"
# Preview changes that installation would perform
.\Install-HveAdoScaffold.ps1 -WhatIf-
Clone the repo
- You can work directly in this scaffold or copy the pieces into your own repo.
-
VS Code setup
- This repo includes helpful workspace settings in
.vscode/settings.jsonthat wire Copilot Chat to read instruction files and prompts in this repo. - Recommended: add and copy over the MCP server config (
.vscode/mcp.json) for connecting Copilot Chat to external tools, such as AzDO.
- This repo includes helpful workspace settings in
-
Try the built-in prompts, instructions, and chatmodes
- Open Copilot Chat and run the prompts from
.github/prompts(details below) to fetch and summarize your AzDO work items.
- Open Copilot Chat and run the prompts from
Here are the key parts and why you'd want them:
.vscode/settings.json-
Enables Copilot Chat settings for this project and sets up auto-linting and auto-formatting, key parts to look at:
-
Model Context Protocol (MCP) servers extend Copilot Chat with external tool access. This scaffold includes a ready-to-use configuration for Azure DevOps integration.
.vscode/mcp.json includes:
-
π· Azure DevOps MCP Server (
@modelcontextprotocol/server-azure-devops)- Enables work item retrieval, querying, and management directly from Copilot Chat
- Required for the AzDO workflow prompts to function
- Supports custom WIQL queries and work item operations
- Refer to azure-devops-mcp troubleshooting guide for troubleshooting issues
-
π Microsoft Docs MCP Server (
@modelcontextprotocol/server-microsoft-docs)- Provides access to official Microsoft documentation and Azure docs
- Enables real-time documentation lookup during development
- Never commit
.vscode/mcp.jsonwith real credentials - Use environment variables or
inputsfor sensitive data like PATs
Located in .github/prompts/. Each prompt is an executable, opinionated workflow. Updated catalog (filenames now use consistent ado- / git- prefixes):
-
ado-get-my-work-items.prompt.md/ado-get-my-work-items- Retrieve & hydrate ALL @Me items (prioritized types first, optional fallback) with progressive JSON persistence to.copilot-tracking/workitems/YYYYMMDD-assigned-to-me.raw.jsonand strict field merge rules (no WIQL queries, no deprecated shortcuts).
-
ado-process-my-work-items-for-task-planning.prompt.md/ado-process-my-work-items-for-task-planning- Generates a resumable enriched handoff (*.handoff.md) from the latest raw JSON: selects a top recommendation (boost / force logic), adds repository context (files, hypotheses, risks) & seeds Task Researcher.
-
ado-update-wit-items.prompt.md/ado-update-wit-items- Executes ahandoff.md(Create/Update ordering, hierarchy, relationships) following planning + update instructions to create/update/link Epics β Features β Stories with resilient batching & structuredhandoff-logs.mdtracking.
-
/ado-get-build-info- Targeted or latest PR build metadata + focused log extraction into.copilot-tracking/pr/*-build-*-logs.md(error/warning segments, optional full logs, execution timeline, compliance checklist).
-
/git-commit-message- Generates a Conventional Commit message (staged changes only) per strict rules (type + <=4 change points, optional body, emoji footer).
-
/git-commit- Atomic stage β generate β commit workflow using only allowed git commands; prints authoritative message after committing.
-
/git-setup- Safe, verificationβfirst Git config assistant (identity, signing, diff/merge tooling) with confirm-before-change guidance.
Why these prompts? Together they implement: collect β contextualize β handoff β plan/research β implement β validate (build) β commit.
Located in .github/chatmodes/. Specialized persistent personas (filenames normalized; one new ADO-prefixed mode):
task-researcher.chatmode.md- Deep, evidence-driven research (.copilot-tracking/research/*.md) using a mandated research template & aggressive context recovery.task-planner.chatmode.md- Generates synchronizedplans/,details/, and implementation prompt triplet enabling progressive execution.prompt-builder.chatmode.md- Author / refactor prompts & instruction files with builder + tester roles.adr-creation.chatmode.md- Guided ADR flow (context, alternatives, decision) leveraging reusable ADR template.prd-builder.chatmode.md- Structured PRD authoring with resumable session state.ado-prd-to-wit.chatmode.md- Transforms PRD output into actionable WI planning artifacts consumed by update prompt.
Why chat modes? They stabilize multi-phase flows: each encapsulates domain rigor, artifact lifecycle, and compliance checklists reducing conversational drift.
Located in .github/instructions/ - these are loaded automatically (see VS Code settings) and layered with a global meta policy file (copilot-instructions.md). Key files:
- Root Meta:
copilot-instructions.md- Declares HIGHEST PRIORITY policies: breaking changes allowed, no unrequested tests/docs, minimal factual comments, proactive fixes, mandatory re-reads before edits.
- Commits:
commit-message.instructions.md- Conventional Commit syntax (types, scopes, body/footer rules, emoji footer contract). - Markdown:
markdown.instructions.md- Style guide aligned with.markdownlint.json(headings, spacing, code fences, lists, tables, links consistency). - Implementation Loop:
task-implementation.instructions.md- Progressive plan execution &.copilot-tracking/changes/*.mdlogging (Added / Modified / Removed + release summary gating). - ADO Planning:
ado-wit-planning.instructions.md- Canonical planning workspace (artifact-analysis, work-items, handoff, planning-log) + normalization & similarity matrix. - ADO Update Execution:
ado-update-wit-items.instructions.md- Handoff-driven create/update/link protocol + resilient sequencing & logging. - ADO Build Diagnostics:
ado-get-build-info.instructions.md- Deterministic build selection + error-focused segmented log artifact with execution timeline & compliance checklist. - Language Conventions:
csharp.instructions.md&csharp-tests.instructions.md- Coding + test architecture (SOLID, ordering, BDD XUnit patterns, base test reuse).
Layering Model: meta > domain (build / planning / update / implementation) > content-type (markdown / commit) > language (csharp + tests). Conflicts resolve by earliest file declaring HIGHEST PRIORITY segment. Always re-read relevant instruction files before edits (enforced by meta policy & prompt logic).
docs/solution-adr-library/adr-template-solutions.md- A practical ADR template with a YAML drafting guide to speed up architecture decisions.
- Works seamlessly with the
adr-creation.chatmode.mdfor guided ADR creation.
/ado-get-my-work-itemsβ Progressive raw + hydration JSON/ado-process-my-work-items-for-task-planningβ Enriched markdown handoff (top recommendation + seeds)task-researcherβ Evidence-driven research doc for chosen itemtask-plannerβ Plan + details + implementation prompt triplet- Implementation prompt (guided by task implementation instructions) β code changes +
.copilot-tracking/changes/* /git-commit-messageor/git-commitβ Conventional commit- (Optional)
/ado-get-build-infoβ Diagnose failing build for feedback loop
Adds repository context (candidate & top files, hypotheses, risks, relationships) + ready-to-research seed so research begins grounded (idempotent & resumable). Supports boost / force top selection strategies.
| Phase | Chat Mode / Prompt | Artifact(s) |
|---|---|---|
| Research | task-researcher | .copilot-tracking/research/*.md |
| Plan | task-planner | .copilot-tracking/plans/**, details/**, prompts/** |
| Implement | implementation prompt | .copilot-tracking/changes/*.md + code edits |
| Commit | git-commit / git-commit-message | Conventional commit message |
| Diagnose (optional) | ado-get-build-info | .copilot-tracking/pr/*-build-*-logs.md |
Use prd-builder for structured product specification prior to backlog seeding:
- Ambiguous idea β refinement Q&A.
- Produces
docs/prds/<name>.md+ session state under.copilot-tracking/prd-sessions/. - Populates goals, personas, FR/NFR, risks, metrics iteratively.
- Handoff to
ado-prd-to-witto synthesize WI plan artifacts. - Execute with
/ado-update-wit-itemsto realize backlog (Epics β Features β Stories).
adr-creation guides: context discovery β alternative evaluation β single decision β final ADR using reusable template (docs/solution-adr-library).
π€ Automated (Recommended):
Use the PowerShell installer script (see Quick start) - it handles all the file copying and directory structure automatically.
π Manual approach:
If you prefer to copy things manually into a different repository:
- Copy
.vscode/settings.jsonso Copilot Chat discovers your prompts/instructions. - Copy
.vscode/mcp.jsonso Copilot Chat has required external tools; keep secrets out of source control. - Copy
.github/instructions/,.github/prompts/, and.github/chatmodes/directories. - Copy
docs/solution-adr-library/for the ADR template.
Tip: You can start simple-use the prompts and instructions as-is-and grow over time.
| Command | Purpose | Primary Artifact |
|---|---|---|
/ado-get-my-work-items |
Retrieve & hydrate @Me items | *-assigned-to-me.raw.json |
/ado-process-my-work-items-for-task-planning |
Build enriched handoff | *-assigned-to-me.handoff.md |
/ado-update-wit-items |
Create/update/link WIs from handoff | handoff-logs.md |
/ado-get-build-info |
Build + log diagnostics | pr-*-build-*-logs.md |
/git-commit-message |
Generate commit message | (message only) |
/git-commit |
Stage + generate + commit | Git commit |
/git-setup |
Audit & propose git config | (none) |
| Mode | Focus | Output |
|---|---|---|
| task-researcher | Deep evidence research | research/*.md |
| task-planner | Actionable plan & details | plans/, details/, prompts/ |
| prompt-builder | Prompt / instruction authoring | Updated .github/{prompts,instructions} |
| adr-creation | Architecture decisions | ADR drafts/finals |
| prd-builder | Product requirements | docs/prds/*.md, session state |
| ado-prd-to-wit | PRD β backlog planning | WI planning artifacts |
| (implementation prompt) | Execute plan | .copilot-tracking/changes/*.md |
- Never commit real PATs, client secrets, or tokens.
- Keep
.vscode/mcp.jsoneither out of source control or templated with placeholders. - Validate prompt / chatmode edits for accidental secret inclusion before committing.
- Use environment variables for any local dev secrets referenced in examples.
Swap AzDO prompts with equivalents (e.g., GitHub Issues MCP server) by:
- Duplicating a prompt file.
- Replacing tool invocations to new server (
github_/jira_tools, etc.). - Updating field lists + output JSON schema comments.
- New prompt: add
*.prompt.mdunder.github/prompts/(follow existing structure, include frontmattermode:+description:). - New instructions: drop into
.github/instructions/or a subfolder; update settings if relocating. - New chat mode: create
*.chatmode.mdunder.github/chatmodes/withdescription,toolsarray, and clear role directives. - Run
/git-commit-messageto standardize the commit message.
Can I reorder or rename folders?
Yes - just keep the settings pointing to the right locations so Copilot can find your files. Update the chat.instructionsFilesLocations and chat.promptFilesLocations accordingly.
Do I have to use MCP? Yes for AzDO-centric prompts/chatmodes: they rely on Azure DevOps + Microsoft Docs MCP servers. Non-AzDO instruction files (markdown, commit, C#) work without MCP.
Will this work outside VS Code? The VS Code settings are editor-specific, but the prompts, instructions, and chatmodes are just Markdown files - you can adapt them to other editors or use them manually.
How do I add my own prompts or instructions?
Add a *.prompt.md to .github/prompts/, a *.instructions.md to .github/instructions/, or a *.chatmode.md to .github/chatmodes/. VS Code auto-discovers per workspace settings.
What if I don't use Azure DevOps? Replace ADO prompts with equivalents (e.g., GitHub Issues or Jira MCP servers) keeping artifact contracts (raw JSON β handoff β planning β implementation β commit) intact.