Skip to content

feat: distribution — crates.io publishable + cargo-dist release pipeline + install docs - #70

Merged
vxfemboy merged 3 commits into
mainfrom
feat/distribution
Jul 26, 2026
Merged

feat: distribution — crates.io publishable + cargo-dist release pipeline + install docs#70
vxfemboy merged 3 commits into
mainfrom
feat/distribution

Conversation

@vxfemboy

Copy link
Copy Markdown
Member

Sub-project A of "make kibble adoptable": kill install friction so kibble is a one-line install (the #1 lever for adoption / top-repo candidacy).

What's in it (3 commits)

  • crates.io-publishableexclude = ["assets/"] drops the ~600KB demo media from the crate while keeping the include_str! build deps (examples/notes/*.md, kibble.toml.example). cargo publish --dry-run packages and compiles from the tarball (the real proof nothing needed at build time was dropped).
  • cargo-dist release pipelinedist init (0.32.0) → dist-workspace.toml + [profile.dist] + generated .github/workflows/release.yml. On tag v*: cross-compiles 5 targets (linux x86_64/arm64, macOS Intel/Apple Silicon, windows x86_64) → GitHub Release with binaries, sha256 checksums, and curl|sh + PowerShell installers. dist plan validates all 5. PRs only run the lightweight plan job — never a real release.
  • Install docs — README ## Install with 3 methods (cargo install kibble / curl|sh prebuilt / from source) + docs/RELEASING.md runbook.

Verification

  • cargo publish --dry-run: packages + compiles from tarball, assets excluded, build deps kept.
  • cargo test 386 + integration; cargo build full + lean green; existing CI (ci.yml) untouched; [profile.release] unaffected.
  • Whole-branch review (Opus): READY TO MERGE, 0 Critical/Important.

⚠️ Human-gated next steps (NOT in this branch — your call, after merge)

  1. Claim + publish (irreversible): cargo publish --dry-run then cargo publish (needs CARGO_REGISTRY_TOKEN) → cargo install kibble goes live.
  2. First release: git tag v0.1.0 && git push origin main --tags → the workflow builds binaries. Then record which of the 5 targets actually shipped and prune any failures (windows/arm are the usual risks) from dist-workspace.toml + README.

🤖 Generated with Claude Code

vxfemboy added 3 commits July 25, 2026 23:41
Keep examples/notes/*.md + kibble.toml.example (include_str! build deps) and
README/docs; drop only the ~600KB demo media. cargo publish --dry-run passes
(packages + compiles from the tarball).
…tallers)

dist init (0.32.0) → dist-workspace.toml + [profile.dist] + generated
.github/workflows/release.yml. On tag v*: cross-compile aarch64/x86_64 for
linux+macos + x86_64-windows → GitHub Release with binaries, sha256 checksums,
and curl|sh / PowerShell installers. dist plan validates all 5 targets.
First live release records which actually build.
…runbook

One-line install front and center; document the tag-triggered release flow and
the manual, human-gated crates.io publish.
@vxfemboy
vxfemboy merged commit 757be4b into main Jul 26, 2026
@vxfemboy
vxfemboy deleted the feat/distribution branch July 26, 2026 03:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant