From linux-packaging
Full release workflow for public dev projects — commit, push, bump version, build debian, install locally, create GitHub release with .deb attached. Triggers on phrases like "release this project", "new release", "publish a release", "release and deploy", "cut a release", "ship it".
npx claudepluginhub danielrosehill/claude-code-plugins --plugin linux-packagingThis skill uses the workspace's default tool permissions.
End-to-end release workflow for the user's public development projects. Handles everything from committing to creating a GitHub release with a .deb artifact attached.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
End-to-end release workflow for the user's public development projects. Handles everything from committing to creating a GitHub release with a .deb artifact attached.
.deb package (check for build.sh, Makefile, Cargo.toml with cargo-deb, setup.py/pyproject.toml, or a debian/ directory)gh CLI is authenticatedCargo.toml (Rust)pyproject.toml or setup.py or __init__.py with __version__ (Python)package.json (Node)VERSION filechangelog or control file.deb is built:
build.sh script in the repo rootcargo debdpkg-buildpackagedpkg -l | grep <name>, which <name>).gitignore)1.2.3 -> 1.2.4)$ARGUMENTS contains minor, bump minor (e.g. 1.2.3 -> 1.3.0)$ARGUMENTS contains major, bump major (e.g. 1.2.3 -> 2.0.0)$ARGUMENTS contains a specific version like v2.0.0 or 2.0.0, use that exact versionchore: bump version to vX.Y.Zbuild.sh exists: ./build.shcargo build --release && cargo deb.deb file (usually under target/debian/, dist/, or build/).deb:
sudo dpkg -i <path-to-deb>
sudo apt-get install -f -y # fix any missing deps
dpkg -l | grep <package-name>
/opt/<name>/), update that instead by copying the new source filesvX.Y.Zgh:
gh release create vX.Y.Z \
--title "vX.Y.Z" \
--generate-notes \
<path-to-deb>
--generate-notes flag auto-generates release notes from commits since the last release--notesTell the user:
When no obvious version file exists, search in this order:
Cargo.toml → version = "X.Y.Z"pyproject.toml → version = "X.Y.Z"package.json → "version": "X.Y.Z"**/__init__.py → __version__ = "X.Y.Z"setup.py → version="X.Y.Z"VERSION filev*.deb build system exists yet, ask the user if they want you to set one up before proceeding/opt/voicetype/), update the installed source files directly instead of building a .deb$ARGUMENTS contains --no-install, skip local installation (step 5)$ARGUMENTS contains --no-deb, skip .deb build and just create the GitHub release without artifacts