cargo-plushie
Cargo subcommand for building and managing Plushie renderer binaries. Pre-1.0
Host SDKs (plushie-elixir, plushie-gleam, plushie-python, plushie-ruby,
plushie-typescript) shell out to this tool to generate a renderer
workspace that includes the user's custom native widgets, then build
it with cargo. It also scaffolds new Plushie apps and custom widget
crates.
Install
cargo install cargo-plushie
The tool becomes available as a cargo subcommand:
cargo plushie --help
What it does
cargo plushie init- scaffold a new Plushie app in the current directorycargo plushie new-widget <name>- scaffold a new native widget cratecargo plushie build- generate a renderer workspace that wires in every native widget declared under[package.metadata.plushie]and compile it withcargo buildcargo plushie build --wasm- build the WebAssembly renderer viawasm-packcargo plushie doctor- diagnose environment issues (toolchain, source path, native libs)cargo plushie download- download a prebuilt renderer binary for the target triple
Configuration
Key environment variables:
PLUSHIE_RUST_SOURCE_PATH- absolute path to a plushie-rust checkout. When set, generated workspaces patch plushie-renderer and plushie-widget-sdk to the local tree, andbuild --wasmruns against that checkout.PLUSHIE_BINARY_PATH- absolute path to a prebuiltplushie-rendererbinary, used by host SDKs that prefer to supply their own.
See docs/build-tool.md for the full command reference.
Versioning
cargo-plushie ships at the plushie-rust workspace version. Host
SDKs pin to a specific PLUSHIE_RUST_VERSION and install the
matching cargo-plushie. See
docs/versioning.md.
License
MIT OR Apache-2.0