Skip to main content

Sync and search Azure DevOps work items and wiki pages for AI agents

Project description

ado-search

Sync and search Azure DevOps work items and wiki pages locally for AI agents.

Install

pip install ado-search

Or from source:

pip install git+https://github.com/HurleySk/ado-search.git

Quick Start

# Configure (requires az login first)
ado-search init --org https://dev.azure.com/yourorg --project YourProject

# Pull data
ado-search sync

# Search
ado-search search "login bug"
ado-search search "auth" --type Bug --state Active
ado-search search "setup guide" --format paths

How It Works

  1. Sync pulls work items and wiki pages from Azure DevOps
    • Tries OData analytics first (fetches all items in one call — fast)
    • Falls back to az devops CLI if analytics isn't available
  2. Data is stored as sorted JSONL files — git-friendly, diffable, one file per entity type
  3. A SQLite FTS5 index is derived from the JSONL and auto-rebuilt when stale
  4. Agents search the index, then use show to render full content — minimal context

Git-Friendly Storage

Sync produces two text files that are safe to commit, push, and pull:

  • work-items.jsonl — one JSON object per line, sorted by ID
  • wiki-pages.jsonl — one JSON object per line, sorted by path

The SQLite index (index.db) is .gitignored — it auto-rebuilds from JSONL on first search or show.

Commands

Command Description
ado-search init Configure organization, project, and auth
ado-search sync Pull latest data from Azure DevOps
ado-search search "query" Full-text search with filters
ado-search show <id> Display full content of an item

Configuration

Default sync includes Bug, User Story, Epic, and Feature work item types. To include Tasks or customize:

# .ado-search/config.toml
[sync]
work_item_types = ["Bug", "User Story", "Task", "Epic", "Feature"]
include_comments = false

Auth Methods

  • az-cli (default): Uses az devops commands. Requires az login.
  • az-powershell: Uses Azure PowerShell + REST. Requires Connect-AzAccount.
  • pat: Uses a Personal Access Token via REST. For cross-cloud or service account scenarios.

Set via ado-search init --auth-method <method> or in config.toml.

# PAT example (token can also be set via ADO_PAT env var)
ado-search init --org https://dev.azure.com/yourorg --project YourProject --auth-method pat --pat <token>

Search Formats

ado-search search "query"                          # compact (default)
ado-search search "query" --format detail           # with description snippets
ado-search search "query" --format json             # machine-readable
ado-search search "query" --format paths            # file paths only (for agent piping)
ado-search search "query" --type Bug --state Active # filtered

Prerequisites

  • Python 3.10+
  • Azure CLI with azure-devops extension (az extension add --name azure-devops)
  • az login completed

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ado_search-0.6.0.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ado_search-0.6.0-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file ado_search-0.6.0.tar.gz.

File metadata

  • Download URL: ado_search-0.6.0.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ado_search-0.6.0.tar.gz
Algorithm Hash digest
SHA256 09705edd9c80380f56ae95f359cc8b9f819bd9691e2a8e54fc56018661cd9ba9
MD5 74aba5cebe402509ea4733592f18ecaf
BLAKE2b-256 ebf92828bc8cdb4c46a50ba731a33bee4346f8e29993b3f711da0e09fa3fce61

See more details on using hashes here.

Provenance

The following attestation bundles were made for ado_search-0.6.0.tar.gz:

Publisher: publish.yml on HurleySk/ado-search

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ado_search-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ado_search-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ado_search-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a2765db94ccd1619e6e9a6dae8d7ae64387d275ec6202dd39105558ada6fe31d
MD5 77a179377057bc58b3bb36b4171c9463
BLAKE2b-256 8691958a76e1da34e395541a046e47a8201615bf305019864e9289fd91bca3ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ado_search-0.6.0-py3-none-any.whl:

Publisher: publish.yml on HurleySk/ado-search

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page