npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@jwayong/pi-azure-devops

v0.5.0

Published

Azure DevOps integration for Pi coding agent — work items, pipelines, repos, test plans, and more

Downloads

474

Readme

@jwayong/pi-azure-devops

Azure DevOps integration for Pi coding agent — work items, pipelines, repos, test plans, and more.

Install

pi install npm:@jwayong/pi-azure-devops

Or try without installing:

pi -e npm:@jwayong/pi-azure-devops

Features

  • 52 tools — work items, boards, sprints, repos, pull requests, pipelines, test plans, and more
  • Dual auth — PAT (ADO_PAT) or Azure CLI (az) with auto-detect
  • Dual config — environment variables or .pi/settings.json
  • Safety modelopen / confirm / readonly (default: confirm)
  • Mock mode — work offline with fixture data (ADO_MOCK=1)
  • Autocomplete#1234 work item ID completion
  • Skillado-workitems with WIQL, board, sprint, capacity, and pipeline reference
  • 13 prompt templates — triage, status reports, batch create, review history, sprint health, sprint planning, board review, PR review, PR creator, pipeline status, deploy, test status, test runner
  • ~870 tests — comprehensive coverage, all offline

What's Included

| Area | Tools | Read | Write | |------|-------|------|-------| | Work Items | CRUD, comments, links, revisions, WIQL queries | 6 | 4 | | Teams | List teams | 1 | — | | Boards | List boards, get/set board columns | 2 | 1 | | Sprints | List iterations, get/set sprint assignments | 2 | 1 | | Capacity | Get/set team member capacity | 1 | 1 | | Repos | List/get repos, list branches | 3 | — | | Pull Requests | List/get PRs, threads, commits, create/update, comment, vote | 4 | 4 | | Policies | List policies, get evaluations | 2 | — | | Pipelines | List/get pipelines, list/get runs, artifacts, logs, timeline, run/cancel/retry | 7 | 3 | | Test Plans | List/get plans, suites, cases, points, runs; create runs, update results | 8 | 2 | | Config | Doctor (health check) | 1 | — |

Quick Start

1. Set environment variables

export ADO_ORG_URL="https://dev.azure.com/myorg"
export ADO_PROJECT="MyProject"
export ADO_PAT="your-personal-access-token"

Or configure in .pi/settings.json:

{
  "ado": {
    "orgUrl": "https://dev.azure.com/myorg",
    "project": "MyProject",
    "authMethod": "pat",
    "safetyLevel": "confirm"
  }
}

2. Verify connection

> Use the ado_doctor tool to check my ADO configuration

3. Use it

> Query all active bugs assigned to me
> Create a user story titled "Implement login page" with description "..."
> Update work item #1234 state to Closed

4. Use prompt templates

Type / in the prompt editor to see available templates:

| Command | Description | |---------|-------------| | /ado-triage [filter] | Triage untriaged work items — suggest priority, area, iteration, assignee | | /ado-status-report [group-by] | Generate a status report grouped by state, assignee, iteration, or type | | /ado-create-batch <items> | Batch-create work items from a structured list | | /ado-review-history <id> | Review revision history with a chronological narrative | | /ado-sprint-health [team] | Sprint health check — status, capacity, burndown | | /ado-plan-sprint <sprint\|next> | Sprint planning — propose work assignment based on capacity | | /ado-board-review <board> [team] | Board review — analyze setup and suggest improvements | | /ado-pipeline-status [pipeline-id] | Pipeline health check — recent runs, failure analysis | | /ado-deploy <pipeline-id> [branch] | Deployment pipeline with pre-deploy safety checks | | /ado-test-status [run-id] | Test run status report — pass/fail rates, failure analysis | | /ado-test-runner [plan-id] | Create and manage a test run — select plan/suite, record results |

Examples:

/ado-triage AND [System.WorkItemType] = 'Bug'
/ado-status-report assignee
/ado-create-batch - Bug: Fix crash [priority:1]  - Task: Update docs
/ado-review-history 1234
/ado-sprint-health Engineering
/ado-plan-sprint next
/ado-board-review Stories Engineering

Authentication

| Method | Setup | Best for | |--------|-------|----------| | PAT | Set ADO_PAT env var | Personal use, CI | | Azure CLI | Run az login | Enterprise, Entra ID, managed identity |

Auto-detect: tries Azure CLI first, falls back to PAT.

Safety Levels

| Level | Behavior | |-------|----------| | open | No confirmation on mutations | | confirm (default) | User confirms before create/update/comment/link operations | | readonly | Mutation tools blocked entirely |

Set via ADO_SAFETY_LEVEL env var or ado.safetyLevel in settings.

Tools Reference

Read Tools

| Tool | Description | |------|-------------| | ado_doctor | Verify configuration, auth, and connection health | | ado_get_work_item | Get a single work item by ID | | ado_query_work_items | Search work items using WIQL queries | | ado_list_work_item_types | List valid work item types for the project | | ado_get_work_item_comments | Get comments/discussion on a work item | | ado_get_work_item_revisions | Get revision/change history for a work item | | ado_list_teams | List teams in the project | | ado_list_boards | List boards for a team | | ado_get_board | Get board detail with columns and state mappings | | ado_list_iterations | List sprints/iterations for a team | | ado_get_iteration_work_items | Get work items in a sprint | | ado_get_capacity | Get sprint capacity per member with totals | | ado_list_repos | List repositories in the project | | ado_get_repo | Get repository detail by ID or name | | ado_list_branches | List branches for a repository | | ado_list_pull_requests | List pull requests with optional filters | | ado_get_pull_request | Get pull request detail | | ado_get_pull_request_threads | Get comment threads on a pull request | | ado_get_pull_request_commits | Get commits in a pull request | | ado_list_policies | List policy configurations | | ado_get_policy_evaluations | Get policy evaluation status for a PR | | ado_list_pipelines | List YAML pipelines in the project | | ado_get_pipeline | Get pipeline detail by ID (YAML path, repo, folder) | | ado_list_runs | List pipeline runs with optional filters (pipeline, status, result, branch) | | ado_get_run | Get a single pipeline run detail | | ado_get_run_artifacts | Get artifacts produced by a pipeline run | | ado_get_run_logs | Get log entries for a pipeline run | | ado_get_run_timeline | Get stages/jobs/tasks timeline for a pipeline run | | ado_list_test_plans | List test plans in the project | | ado_get_test_plan | Get test plan detail by ID | | ado_list_test_suites | List test suites in a plan | | ado_get_test_suite | Get test suite detail by ID | | ado_list_test_cases | List test cases in a suite | | ado_list_test_points | List test points with execution status | | ado_list_test_runs | List test runs with optional filters | | ado_get_test_run | Get test run detail with statistics |

Write Tools (gated by safety level)

| Tool | Description | |------|-------------| | ado_create_work_item | Create a new work item (type, title, description, fields) | | ado_update_work_item | Update fields on an existing work item | | ado_add_work_item_comment | Add a comment to a work item | | ado_manage_work_item_links | Add or remove relation links between work items | | ado_set_board_columns | Reconfigure board columns | | ado_set_iteration | Add or remove iteration to/from team | | ado_set_capacity | Set sprint capacity for team members | | ado_create_pull_request | Create a new pull request | | ado_update_pull_request | Update title, description, or status of a PR | | ado_add_pull_request_comment | Add a comment to a PR thread | | ado_set_pull_request_vote | Set vote on a PR (approve, reject, etc.) | | ado_run_pipeline | Queue/trigger a pipeline run | | ado_cancel_run | Cancel an in-progress pipeline run | | ado_retry_run | Retry a failed pipeline run | | ado_create_test_run | Create a test run from plan + suites | | ado_update_test_results | Update test case outcomes in a run |

Prompt Templates

The package includes 13 prompt templates for common ADO workflows. They're automatically available after installing the package.

| Command | Description | Arguments | |---------|-------------|----------| | /ado-triage | Triage untriaged work items | Optional WIQL filter | | /ado-status-report | Generate a status report | state, assignee, iteration, or type | | /ado-create-batch | Batch-create work items | Bullet list of items | | /ado-review-history | Review revision history | Work item ID | | /ado-sprint-health | Sprint health check — burndown, capacity, at-risk items | Optional team name | | /ado-plan-sprint | Sprint planning with capacity-based assignment | Sprint name or next | | /ado-board-review | Board configuration analysis and suggestions | Board ID, optional team | | /ado-pr-review | Review a PR — threads, policies, changes summary | PR ID, optional repository ID | | /ado-pipeline-status | Pipeline health check — recent runs, failures, duration trends | Optional pipeline ID | | /ado-deploy | Run a deployment pipeline with pre-deploy safety checks | Pipeline ID, optional branch/params | | /ado-pr-creator | Create a PR — suggest title/description from branch context | Repository ID, source branch | | /ado-test-status | Test run status report — pass/fail rates, failure details | Optional run ID | | /ado-test-runner | Create and manage a test run — guided workflow | Optional plan ID |

Usage

Type /ado- in the prompt editor to see autocomplete suggestions. Each template expands into a step-by-step workflow that uses the ADO tools.

# Triage new bugs
/ado-triage AND [System.WorkItemType] = 'Bug'

# Status report grouped by assignee
/ado-status-report assignee

# Create multiple items at once
/ado-create-batch
- Bug: Fix payment timeout [priority:1, tags:payments;critical]
- Task: Write integration tests for checkout
- User Story: Add refund support

# Review what happened to work item #1234
/ado-review-history 1234

# Review pull request #42
/ado-pr-review 42

# Create a PR from feature branch
/ado-pr-creator repo-webapp feature/login

# Check pipeline health
/ado-pipeline-status 1

# Deploy with safety checks
/ado-deploy 2 release/v2

# Check test run status
/ado-test-status 501

# Create and manage a test run
/ado-test-runner 101

If you installed the package locally (e.g., pi -e ./), the templates are loaded from the prompts/ directory as declared in package.json.

Mock Mode

Work offline without ADO credentials:

ADO_MOCK=1 pi "Show me work item #101"

Or pass { mock: true } to any tool parameter.

Configuration Reference

Environment Variables

| Variable | Description | |----------|-------------| | ADO_ORG_URL | Organization URL | | ADO_PROJECT | Default project | | ADO_PAT | Personal Access Token | | ADO_AUTH_METHOD | pat, azure-cli, or auto (default: auto) | | ADO_SAFETY_LEVEL | open, confirm, or readonly (default: confirm) | | ADO_MOCK | Set to 1 to enable mock mode | | ADO_TEAM | Default team name (for boards/iterations/capacity) | | ADO_MAX_QUERY_RESULTS | Max query results (default: 100) |

Settings (ado key in .pi/settings.json)

| Key | Type | Default | Description | |-----|------|---------|-------------| | orgUrl | string | — | Organization URL | | project | string | — | Default project | | team | string | — | Default team name | | authMethod | string | "auto" | pat, azure-cli, or auto | | safetyLevel | string | "confirm" | open, confirm, or readonly | | defaultWorkItemType | string | "User Story" | Default type for create | | maxQueryResults | number | 100 | Max query results | | autocomplete | boolean | true | Enable #id completion |

Precedence: env vars → settings.json → defaults

Development

git clone https://github.com/jwayong/pi-azure-devops.git
cd pi-azure-devops
npm install
npm run build
npm test

# Test locally with pi
pi -e ./

Contributing

Contributions welcome! Please open an issue first to discuss what you'd like to change.

License

MIT