| Crates.io | debaser |
| lib.rs | debaser |
| version | 0.1.11 |
| created_at | 2025-12-23 19:00:02.202574+00 |
| updated_at | 2025-12-23 20:04:36.72244+00 |
| description | Deterministic release name generator |
| homepage | https://github.com/nficano/debaser |
| repository | https://github.com/nficano/debaser |
| max_upload_size | |
| id | 2002154 |
| size | 2,309,428 |
debaser turns a git SHA (or any hex-ish checksum) into a friendly, alliterative
adjective-noun release name (for example: loony-lionfish).
Via tap (recommended):
brew tap nficano/tap
brew install debaser
curl -fsSL https://nficano.github.io/debaser/public.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/debaser-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/debaser-archive-keyring.gpg] https://nficano.github.io/debaser/apt stable main" | sudo tee /etc/apt/sources.list.d/debaser.list >/dev/null
sudo apt update
sudo apt install debaser
sudo tee /etc/yum.repos.d/debaser.repo >/dev/null <<'EOF'
[debaser]
name=debaser
baseurl=https://nficano.github.io/debaser/rpm
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://nficano.github.io/debaser/public.gpg
EOF
sudo dnf install debaser
From crates.io (once published):
cargo install debaser --locked
From source:
cargo install --path .
Download a release asset from GitHub Releases, verify SHA256SUMS + SHA256SUMS.sig, then extract and place debaser on your PATH.
Fastest option (uses a prebuilt GitHub Release asset):
- name: Install debaser
shell: bash
run: |
set -euo pipefail
repo="nficano/debaser"
version="$(curl -fsSL "https://api.github.com/repos/${repo}/releases/latest" | python3 -c 'import json,sys; print(json.load(sys.stdin)["tag_name"])')"
target="x86_64-unknown-linux-gnu"
asset="debaser-${version}-${target}.tar.gz"
base="https://github.com/${repo}/releases/download/${version}"
curl -fsSL "$base/$asset" -o "$asset"
tar -xzf "$asset"
sudo install -m 0755 "debaser-${version}-${target}/debaser" /usr/local/bin/debaser
debaser --checksum abcd
Inside a git repo, debaser uses git rev-parse HEAD as the input:
debaser
Or provide an explicit checksum:
debaser --checksum abcd
# loony-lionfish
Add as a dependency (via a path, git, or a published version):
debaser = { path = "../debaser" }
Generate names directly:
let name = debaser::generate_from_checksum(Some("abcd"))?;
assert_eq!(name, "loony-lionfish");
Releases are cut via the Makefile and published via GitHub Actions (with generated notes and attached binaries / packages / repos).
make release
This bumps the Cargo.toml version (patch by default), tags v<version>, and pushes it.
Options:
# bump minor/major instead of patch
make release BUMP=minor
make release BUMP=major
# or set an explicit version
make release VERSION=1.2.3
This will:
debaserRelease v<version> (<name>) (no-op if there’s nothing to commit)v<version>) and push main + the tag to GitHubcargo test
See docs/packaging.md for full packaging + publishing details.