apt-setuplisted
Install: claude install-skill punkscience/agent-skills
# APT Distribution Setup
Take a repository from "builds a binary" to "users run `sudo apt install <pkg>`",
doing as much as possible automatically. The goal is **zero manual steps** for the
user where the tooling allows it (`gh` uploads the signing-key secret, enables
Pages, triggers the workflow; the skill generates the key and verifies the live
repo). Where a step genuinely requires a human (rare), make it one copy-paste.
Work on a dedicated branch and offer to merge at the end.
## Operating principles
- **Verify, don't assume.** Never tell the user "it works" until
`scripts/verify-apt-repo.sh` passes against the *live* repo. We confirm what a
real `sudo apt update` sees.
- **Minimize intervention.** Prefer `gh` automation over hand instructions. Only
fall back to manual when a capability is missing (e.g. no `gh` auth, no `gpg`).
- **Surgical.** Add packaging/CI files; don't refactor the project.
- Run all shell/apt steps in a **Linux** environment. On Windows, use WSL
(`wsl.exe -- bash -lc '…'`); for non-trivial scripts, base64-encode the script
and `echo <b64> | base64 -d | bash` to avoid quoting corruption.
---
## Phase 0 — Preflight: can this repo build a Linux binary?
This is the gate. APT ships Linux binaries; if the project can't produce one,
nothing downstream matters.
1. Detect language/build system: `go.mod` (Go), `Cargo.toml` (Rust),
`package.json` (Node), `pyproject.toml`/`setup.py` (Python),
`CMakeLists.txt`/`Makefile` (C/C++), or a preb