← ClaudeAtlas

apt-setuplisted

Set up a code repository end-to-end for APT (Debian/Ubuntu) distribution — produce .deb packages, publish a GPG-signed APT repository on GitHub Pages, and a one-line installer — with full automated verification. Use when the user wants to distribute their app via apt, "apt install", a Debian/Ubuntu package, an APT repo, a .deb, or a `curl | bash` Linux installer.
punkscience/agent-skills · ★ 0 · AI & Automation · score 57
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