A monorepo of World of Warcraft data CLIs built for AI agents. The warcraft wrapper routes and composes; each provider binary speaks the same JSON envelope, the same exit codes, and the same global output flags, so an agent can compose guides, reference content, rankings, logs, and local SimulationCraft analysis without learning a new output shape per source. See docs/foundation/PRODUCT_PRINCIPLES.md for what the repo will and will not do.
git clone https://github.com/aurokin/warcraft_cli && cd warcraft_cli
uv sync --all-extras # or: make install, or: pip install -e '.[dev,redis]'
make dev-deploy-no-link # refresh the checkout-local .venv for branch work
source .warcraft/worktree-env.shThe release workflow attaches a wheel to the GitHub release
after checks pass. Use the published asset URL with pipx install <wheel-url> or
uvx --from <wheel-url> warcraft doctor; v0.5.0 and earlier have no wheel.
| Command | Tier | Best for | Docs |
|---|---|---|---|
warcraft |
core | routing, discovery, cross-provider composition | docs/warcraft |
wowhead |
core | entities, guides, comments, talent calc | docs/wowhead |
warcraftlogs |
core | official log/report analysis (OAuth) | docs/warcraftlogs |
simc |
core | local SimulationCraft inspection and runs | docs/simc |
raiderio |
supported | character/guild profiles, Mythic+ analytics | docs/raiderio |
warcraft-wiki |
supported | reference, lore, API/event articles | docs/warcraft-wiki |
icy-veins |
supported | guides, local queries, calculator build imports | docs/icy-veins |
method |
supported | guide extraction and local guide query | docs/method |
lorrgs |
supported | top-parse cooldown timelines, comp rankings | docs/lorrgs |
raidbots |
experimental | public report consumption, SimC handoff | docs/raidbots |
blizzard |
supported (verified live for us/eu/kr/tw) | official profiles, PvP, collections and market snapshots | docs/blizzard-api |
curseforge |
experimental (verified live) | addon metadata and changelogs | docs/curseforge |
warcraft doctor # start here when the source is unclear; call a provider binary directly once you know it
warcraft --pretty resolve "thunderfury"
warcraft search "defias"
wowhead entity item 19019- docs/README.md (map) · docs/USAGE.md (workflows) · docs/reference/README.md (generated per-command flags)
- docs/foundation/ERROR_CONTRACT.md — envelope, exit codes, and the global flags (
--pretty,--compact,--fields,--fields-strict,--profile) that go before the subcommand - docs/ROADMAP.md · CHANGELOG.md
make check # lint, typecheck, import boundaries, complexity, dead code, fast tests + coverage floor
make test-e2e # end-to-end journeys against the real providers (network; docs/architecture/E2E_TESTING.md)
make reference # regenerate docs/reference/; make skills regenerates provider subskills