abx-dl · git:20260615.40c5e54 · 2026-06-15 · sha256 aa42c365837158eb

abx-dl git:20260615.40c5e54A

Immutable. This exact content is served forever at /api/v1/blob/aa42c365837158eb.

---
name: abx-dl
description: Use this when working on the standalone ArchiveBox downloader CLI, extractor orchestration, plugin execution, config, and output verification.
---

# abx-dl

## Purpose

`abx-dl` runs ArchiveBox plugin hooks against URLs without a full ArchiveBox collection.

## 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 hooks, real installs, real subprocesses, real files, and real URLs or `pytest-httpserver`.
- Do not mock, monkeypatch, fake, simulate, skip, xfail, or weaken tests.
- Verify `index.jsonl`, hook statuses, output files, config, and filesystem side effects.
- Read `README.md` for the full CLI, config, plugin, and release surface.

## Development Setup

```bash
uv sync
uv run abx-dl --help
uv run abx-dl plugins
```

## User-Facing Setup

<!--
```bash
cd "$(mktemp -d)"
exec >stdout.log
```
-->
<!--pytest-codeblocks:cont-->
```bash
uvx abx-dl dl 'https://example.com'
```

## Basic Usage

<!--
```bash
cd "$(mktemp -d)"
exec >stdout.log
```
-->
<!--pytest-codeblocks:cont-->
```bash
uv run abx-dl dl 'https://example.com'
uv run abx-dl dl --plugins=title,wget,screenshot,pdf 'https://example.com'
uv run abx-dl dl --output=html,json,txt,pdf,image 'https://example.com'
uv run abx-dl dl --dir ./downloads 'https://example.com'
uv run abx-dl install wget ytdlp chrome
uv run abx-dl config --get TIMEOUT
```

## Verification

<!--pytest.mark.skip(reason="pytest invocation")-->
```bash
uv run pytest tests/test_cli.py -q
uv run prek run --all-files
```

For live extractor checks:

```bash
cd "$(mktemp -d)"
exec >stdout.log
uv run --project /path/to/abx-dl abx-dl dl --plugins=title,wget 'https://example.com'
find . -maxdepth 3 -type f | sort
```