Mucho CLI
mucho is the Solana Foundation's developer CLI that wraps common setup, scaffold, build, and deploy flows beyond raw solana and anchor commands.
Recipe
Quick-reference recipe card - copy-paste ready.
cargo install mucho-cli
mucho --version
mucho init my-project
mucho build
mucho testWhen to reach for this:
- Faster onboarding with opinionated project templates.
- Single entry point for build/test/deploy scripts in Foundation examples.
- Standardizing commands across workshops and internal repos.
- Reducing copy-paste from multiple tool READMEs.
Working Example
# Install (Rust toolchain required)
cargo install mucho-cli --locked
mucho --help
mucho init hello-solana
cd hello-solana
# Ensure pinned Anchor/Agave still apply underneath
avm use 0.32.1
solana --version
mucho build
mucho testWhat this demonstrates:
mucho initcreates a structured workspace similar to community scaffolds.mucho builddelegates to Anchor/cargo build-sbf with sane defaults.- Underlying binaries remain Agave CLI and Anchor - mucho orchestrates them.
Deep Dive
How It Works
- Mucho composes existing tools rather than replacing the runtime.
- Templates align with Foundation documentation and educational content.
- Commands map to familiar Anchor workflows for program developers.
- Client scaffolding may integrate modern wallet and RPC patterns.
Command Areas
| Area | Typical mucho command |
|---|---|
| Scaffold | init, new |
| Build | build |
| Test | test, localnet |
| Deploy | deploy (cluster-aware) |
| Config | doctor / env checks |
bash Notes
# Validate environment before a workshop
mucho doctor 2>/dev/null || mucho --help
solana --version && anchor --versionGotchas
- Assuming mucho pins versions - it orchestrates; you still run
agave-installandavm. Fix: verify versions after init. - Outdated mucho vs Anchor 0.32.1 - update mucho when macros fail. Fix:
cargo install mucho-cli --forceon locked tag. - Different layout than create-solana-dapp - migration is manual. Fix: pick one scaffold per product.
- CI without mucho installed - pipelines fail on
mucho build. Fix: install in CI or call underlyinganchor builddirectly. - Windows path issues - prefer WSL for Solana toolchain parity. Fix: follow Foundation platform notes.
Alternatives
| Alternative | Use When | Don't Use When |
|---|---|---|
Raw anchor CLI | Maximum transparency | Workshop speed |
create-solana-dapp | Next.js-centric products | Foundation template alignment |
mucho | Foundation learning path | Highly custom monorepo policies |
| Manual scripts | Full CI control | Solo quick experiments |
FAQs
Does mucho replace solana CLI?
No - it wraps and orchestrates Agave/Solana and Anchor binaries.
How do I install mucho?
Typically cargo install mucho-cli --locked with Rust 1.91.1 available.
Can mucho deploy to mainnet?
Deploy commands target configured clusters - apply the same mainnet safeguards as anchor deploy.
Is mucho required for production?
No - production CI often calls anchor build and solana program deploy directly.
How does mucho relate to Surfpool?
Separate tools - Surfpool handles mainnet-fork simulation; mucho focuses on project lifecycle.
What templates does mucho ship?
Run mucho init --help for current template list - evolves with Foundation releases.
Can I use mucho in existing repos?
Best for new projects; existing Anchor repos may adopt individual scripts instead of full migration.
Does mucho configure IDE?
No - pair with Editor & rust-analyzer Setup.
How do I update mucho?
cargo install mucho-cli --locked --force pulls the latest crates.io release.
What if mucho and avm conflict?
Mucho should invoke the anchor binary active on PATH after avm use 0.32.1.
Related
- create-solana-dapp - community full-stack scaffold
- Toolchain Overview - underlying tools
- Version Management (agave-install / avm) - version pins
- Local Dev Basics - dev loop
Stack versions: This page was written for Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, and LiteSVM 0.6.x.