abxpkg
Purpose
abxpkg is the binary/package provider library and CLI for resolving, installing, updating, running, and inspecting runtime dependencies.
Shared Rules
- Keep this repo on branch
main.
- Use
uv and uv run for Python commands.
- Do not use system
python, direct .venv/bin/python, or pip commands.
- Use real CLI commands, real providers, real installs, real subprocesses, real package metadata, and real files.
- Do not mock, monkeypatch, fake, simulate, skip, xfail, or weaken tests.
- Verify binary paths, versions, provider state, installed metadata, env output, filesystem contents, and side effects.
- Read
README.md for the full provider, CLI, Python API, config, and release surface.
Development Setup
uv sync
uv run abxpkg --help
uv run abxpkg version
User-Facing Setup
uv tool install abxpkg
abxpkg version
Basic Usage
uv run abxpkg load wget
uv run abxpkg install yt-dlp
uv run abxpkg run wget --version
uv run abxpkg env yt-dlp
uv run abxpkg search chromium
uv run abx yt-dlp --help
Verification
uv run pytest tests/test_chromewebstoreprovider.py -q
Provider-specific logic belongs in provider classes. Shared provider infrastructure should stay provider-agnostic.
1---2name: abxpkg3description: Use this when working on binary/package provider resolution, installs, updates, CLI execution, env activation, provider cache, and provider tests.4---56# abxpkg78## Purpose910`abxpkg` is the binary/package provider library and CLI for resolving, installing, updating, running, and inspecting runtime dependencies.1112## Shared Rules1314- Keep this repo on branch `main`.15- Use `uv` and `uv run` for Python commands.16- Do not use system `python`, direct `.venv/bin/python`, or `pip` commands.17- Use real CLI commands, real providers, real installs, real subprocesses, real package metadata, and real files.18- Do not mock, monkeypatch, fake, simulate, skip, xfail, or weaken tests.19- Verify binary paths, versions, provider state, installed metadata, env output, filesystem contents, and side effects.20- Read `README.md` for the full provider, CLI, Python API, config, and release surface.2122## Development Setup2324```bash25uv sync26uv run abxpkg --help27uv run abxpkg version28```2930## User-Facing Setup3132```bash33uv tool install abxpkg34abxpkg version35```3637## Basic Usage3839<!-- pytest.mark.live_required -->40```bash41uv run abxpkg load wget42uv run abxpkg install yt-dlp43uv run abxpkg run wget --version44uv run abxpkg env yt-dlp45uv run abxpkg search chromium46uv run abx yt-dlp --help47```4849## Verification5051<!-- pytest.mark.live_required -->52```bash53uv run pytest tests/test_chromewebstoreprovider.py -q54```5556Provider-specific logic belongs in provider classes. Shared provider infrastructure should stay provider-agnostic.