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.5.2.tar.gz (32.9 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.5.2-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ado_search-0.5.2.tar.gz
  • Upload date:
  • Size: 32.9 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.5.2.tar.gz
Algorithm Hash digest
SHA256 3147ebf3a0b783f39ca8b0806cdb1f2e14e27ec4fb053600c2cb7f96f7d6592c
MD5 7240583ed7d63ebaabfb3c6ca2ab5cff
BLAKE2b-256 34b69cc1beea369bef86c2de0a4f07646c34104907d4835ede689bf2745e296b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ado_search-0.5.2.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.5.2-py3-none-any.whl.

File metadata

  • Download URL: ado_search-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 26.9 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.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 28f103a8412a5aaa39ddf2f66e0ce72ad67203f57a812d99afc45981e307e4ea
MD5 8fc08fc448e34de458dbf16027780c4d
BLAKE2b-256 c7c39a7b55f36a65f9a210dce1a6658fe417fcf32a636c3bf053a171f2b17070

See more details on using hashes here.

Provenance

The following attestation bundles were made for ado_search-0.5.2-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