Install¶
These steps are based on the suite’s install test, which runs in CI on Linux
x86-64 (ubuntu-latest). On macOS and other platforms, the Python steps are the
same, but nothing here is tested there.
You need Python 3.10 or later, and Claude Code (or another MCP client).
1. Install the Python packages¶
retritis is a metapackage: it pins one set of tool versions. CI installs that
set together, and starts each server on its own. retritis is not on PyPI, so
install it from GitHub. CI installs from a checkout, not from this URL: the
URL form was tested by hand on 2026-11-08, not in CI.
Install it into its own virtual environment, and put that environment’s bin
folder on your PATH. Claude Code starts the servers by name, so they must be
on PATH when Claude Code starts.
python3 -m venv ~/.local/share/retritis
~/.local/share/retritis/bin/pip install "retritis[all] @ git+https://github.com/teaguesterling/retritis"
export PATH="$HOME/.local/share/retritis/bin:$HOME/.local/bin:$PATH"
Add the export line to your shell profile (for example ~/.bashrc), so it
applies to new terminals.
[all] adds the optional tools: lackpy (needs a local
Ollama model), kibitzer and agent-riggs. To install only the
core servers (squackit, fledgling, pluckit, jetsam, blq), leave out [all].
2. Install the DuckDB CLI¶
fledgling-mcp serve runs the duckdb command-line program, so it must be on
your PATH. CI uses DuckDB 1.5.6. On Linux x86-64:
curl -fsSL -o duckdb_cli.zip \
https://github.com/duckdb/duckdb/releases/download/v1.5.6/duckdb_cli-linux-amd64.zip
unzip -o duckdb_cli.zip
install -D -m 755 duckdb ~/.local/bin/duckdb
duckdb --version
On other platforms, see DuckDB’s install page.
3. Install the DuckDB extensions¶
The servers load these extensions when they start. Install them once, for the
CLI and for the Python duckdb module in the environment from step 1:
for ext in duckdb_mcp read_lines sitting_duck markdown duck_tails duck_hunt; do
duckdb -c "INSTALL $ext FROM community"
done
duckdb -c "INSTALL fts"
~/.local/share/retritis/bin/python -c "
import duckdb
con = duckdb.connect()
for ext in ('sitting_duck', 'duck_tails', 'duck_hunt'):
con.execute(f'INSTALL {ext} FROM community')
"
4. Add the plugins to Claude Code¶
Start Claude Code from a terminal where step 1’s PATH applies. Then run these
commands one line at a time:
/plugin marketplace add teaguesterling/retritis
/plugin install fledgling@retritis
/plugin install squackit@retritis
/plugin install blq@retritis
/plugin install jetsam@retritis
/plugin install kibitzer@retritis
/plugin install lackpy@retritis
/plugin install agent-riggs@retritis
/plugin install umwelt@retritis
/plugin install duckeye@retritis
/plugin install test-failure-investigator@retritis
The first seven plugins use the tools from step 1. The last three need something else:
Plugin |
What it needs |
Covered by the install test? |
|---|---|---|
umwelt |
|
No |
duckeye |
|
No |
test-failure-investigator |
Nothing. It is a skill that uses the other plugins. |
Not applicable |
5. Set up each project¶
In each repository where you want the suite:
blq init --no-mcp # create blq's log store (.bird/) here
blq commands register test "pytest" # tell blq how this project runs its tests
Change pytest to the project’s own test command. --no-mcp stops blq from
writing its own .mcp.json, because the plugin already starts the blq server.
The fledgling server needs no setup step: it starts in any repository.
Next¶
Read the field guide. Its preface is written for the agent: it gets an agent productive in one session.