panini is a Rust CLI that packages Gleam applications targeting Erlang into single self-contained executables by bundling a minimal OTP runtime and using a Zig self-extracting launcher, with cross-compilation and OTP version selection.

Stars

7

7-day growth

No data

Forks

1

Open issues

0

License

MIT

Last updated

2026-07-30

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It brings Burrito-style single-binary distribution to the Gleam ecosystem, letting developers ship BEAM apps to machines with no Erlang/Gleam/rebar3 installed, and it supports cross-compiling for multiple platforms from one machine.

Who it is for

  • Gleam developers who want to distribute command-line tools
  • BEAM/Erlang developers looking for simpler deployment of compiled apps
  • Teams building multi-platform release artifacts in CI
  • Nix users who want reproducible tooling via flakes and Cachix

Use cases

  • Ship a Gleam CLI as one executable for users who do not have Erlang installed
  • Cross-compile Linux and macOS binaries from a single build machine
  • Pin a specific OTP version to ensure BEAM bytecode and runtime compatibility
  • Build self-contained release artifacts for servers or containers with minimal dependencies

Strengths

  • Bundles the BEAM runtime and handles OTP version selection, including downloading and compiling with the selected OTP
  • Cross-compilation is proven by an e2e CI matrix that builds on x86_64 and runs on arm64
  • The target machine only needs POSIX sh and tar; Zig is auto-provisioned for the launcher
  • Caching of extracted runtimes avoids repeated unpacking across binaries built with the same OTP

Considerations

  • Windows is not supported yet, and BSD targets are host-only without cross-compilation or --otp support
  • Cross-OS builds require the host OTP major version to match the bundled OTP major version
  • xz/zst compression requires a matching decompressor on Linux at runtime; only gz works everywhere

README quick start

Usage

Description

Press a Gleam (Erlang/BEAM) app into a single self-contained binary — a Burrito for Gleam.

Related repositories

Similar projects matched by category, topics, and programming language.

l0ng-ai
Featured
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

Developer ToolsCLI & Terminal
359
programmersd21
Featured
programmersd21 GitHub avatar

flow

flow is a minimalist terminal dashboard that displays real-time network throughput with smooth animations, multiple responsive modes, and zero configuration.

Developer ToolsCLI & Terminal
277
makecindy
Featured
makecindy GitHub avatar

cindy

Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.

AI & Machine LearningLarge Language Models
958