From e7c4f31e34b8099c5e05415324e3969001fb8ef1 Mon Sep 17 00:00:00 2001 From: Dave Date: Fri, 20 Feb 2026 15:38:03 +0000 Subject: [PATCH] Add story 50: cross-platform binary distribution with musl Co-Authored-By: Claude Opus 4.6 --- .../50_cross_platform_binary_distribution.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .story_kit/stories/upcoming/50_cross_platform_binary_distribution.md diff --git a/.story_kit/stories/upcoming/50_cross_platform_binary_distribution.md b/.story_kit/stories/upcoming/50_cross_platform_binary_distribution.md new file mode 100644 index 0000000..6cb6683 --- /dev/null +++ b/.story_kit/stories/upcoming/50_cross_platform_binary_distribution.md @@ -0,0 +1,26 @@ +--- +name: Cross-Platform Binary Distribution +test_plan: pending +--- + +# Story 49: Cross-Platform Binary Distribution + +## User Story + +As a developer, I want to build self-contained binaries for macOS and Linux so that I can share Story Kit with others without requiring them to have a Rust toolchain. + +## Acceptance Criteria + +- [ ] `cargo build --release` produces a binary with no non-system dynamic dependencies on macOS (current state — verify) +- [ ] CI or a documented process can produce a fully static Linux x86_64 binary using the `x86_64-unknown-linux-musl` target (via cross-compilation or Docker build) +- [ ] The Linux binary has zero dynamic library dependencies (`ldd` reports "not a dynamic executable") +- [ ] The frontend is embedded in the binary via `rust-embed` (current state — verify still works in release builds) +- [ ] A Linux user can download and run the single binary without installing Rust, Node, glibc, or any extra libraries +- [ ] Build instructions are documented in the project (e.g. a `Makefile` or `justfile` with `build-linux` / `build-macos` targets) + +## Out of Scope + +- Homebrew formula or package manager publishing +- Windows support +- Auto-update mechanism +- Code signing or notarization