Development
Build, test, and contribute to beam-cli from source.
Run from source
Beam is a Rust crate at pkg/beam-cli/ in the polybase/payy repository.
$ git clone https://github.com/polybase/payy
$ cd payy
$ cargo run -p beam-cli -- --help
Local builds use the bb CLI backend for privacy operations by default. Release binaries are built with the bundled Barretenberg bindings, so privacy operations on a public release do not require a local bb executable.
Build checks
$ cargo check -p beam-cli
$ cargo check -p beam-cli --features payy-evm-client/bb-bindings
$ cargo test -p beam-cli
Full workspace verification
$ cargo xtask lint
$ cargo xtask test
These are required before merging. cargo xtask lint runs cargo fmt, taplo fmt, ast-grep scan, the file-length checker, cargo clippy --all-targets, and the workspace dependency-inheritance validator. cargo xtask test runs the test suites for crates touched by your unstaged changes plus their dependents.
Releasing
Releases are published from polybase/payy via the beam.release.yml workflow as SHA-256-verified GitHub Release assets. See Self-update for the full release flow and how the installer + beam update consume those assets.
Reporting bugs
Open an issue at github.com/polybase/payy/issues/new. Include the output of beam --version and, where possible, the command that reproduces the problem with --format json.