SkillAgentSearch skills...

Mucho

Command-line tool that simplifies the development and testing of Solana blockchain programs.

Install / Use

npx skills add solana-foundation/mucho

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Universal

README

mucho

This is the mucho, a command-line tool designed to simplify the development and testing of Solana blockchain programs. The tool provides an array of commands to manage Solana Toolkit installations, clone and manage blockchain fixtures (accounts, programs, etc), and simplifying the experience of running a local test validator with all the required state for a consistent development experience.

mucho is in beta and subject to change. Please feel free to open issues with any feedback, feature requests, or issues you experience.

Installation

System Requirements:

  • NodeJS (version >= 22)

Install with NodeJS already installed

With NodeJS already installed on your system:

npm install -gy mucho@latest

Or to install mucho and all the core Solana development tooling at once:

npx mucho@latest install

Install without NodeJS already installed

The following command will install NodeJS, Node Version Manager (NVM), and mucho itself:

curl -sSfL https://raw.githubusercontent.com/solana-foundation/mucho/master/install.sh | bash

Updating mucho

To update mucho to the latest version, use the self-update command to perform any required update migrations:

npx mucho@latest self-update

To update mucho to a specific version:

npx mucho@latest self-update <version>

Usage

mucho --help

Commands

  • install - Install and manage the Solana Toolkit's local development tooling on your system.
  • clone - Clone accounts and programs (aka fixtures) from any Solana cluster desired and declared in the Solana.toml.
  • validator - Run the solana-test-validator on your local machine, including loading all the cloned fixtures for your repo.
  • build - Build all or a single Solana program in your workspace.
  • deploy - Deploy a Solana program in your workspace.
  • coverage - Run code coverage tests on a Solana program.
  • info - Gather helpful troubleshooting info about your setup.
  • docs - Show the documentation for the Solana development tools.
  • balance - Get an account's balances for all clusters.
  • inspect - Inspect transactions, accounts, and block in the CLI (like a block explorer)

Token commands

  • token - Create, mint, and transfer tokens.
  • token create - Create a new token (with metadata).
  • token mint - Mint new tokens from an existing token (raising the supply).
  • token transfer - Transfer tokens from one wallet to another.

install

Install the Solana Toolkit local development tooling on your system.

Usage:

mucho install --help

The Solana Toolkit includes the following tools:

  • Rust and Cargo - The Rust program language and Cargo package manager are installed via Rustup.
  • Agave CLI tool suite - the standard tool suite required to build and deploy Solana programs (formerly known as the "Solana CLI tool suite").
  • Mucho CLI - a superset of popular developer tools within the Solana ecosystem used to simplify the development and testing of Solana blockchain programs.
  • solana-verify - A command line tool to build and verify Solana programs.
  • Anchor and AVM - The Anchor framework and the Anchor Version Manager (AVM)
    • Yarn is currently installed as a dependency of Anchor. This dependency is expected to be removed in the near future.
  • Trident Fuzzer - Rust-based fuzzing framework for Solana programs to help you ship secure code.
  • Zest - Code coverage CLI tool for Solana programs.

inspect

Inspect transactions, accounts, and block in the CLI (like a block explorer)

mucho inspect <INPUT>

The <INPUT> value should be one of the following:

  • account address
  • transaction signature
  • block number

By default, inspect will use your Solana CLI configured cluster unless overriden with the --url or -u flag.

Examples:

Solana wallet account:

mucho inspect --url mainnet GQuioVe2yA6KZfstgmirAvugfUZBcdxSi7sHK7JGk3gk

Program account:

mucho inspect --url mainnet TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA

Successful transaction:

mucho inspect --url mainnet 58cX3fXzRcUEcjVJ7mGxPH9jsLRwDtbkkKp6ypE1iagcZXaQSyQp3o9aWUAoQhCevLKMtgzgwvT7e56YdGdh3NXs

Failed transaction:

mucho inspect --url mainnet 5tb4d17U4ZsBa2gkNFEmVsrnaQ6wCzQ51i4iPkh2p9S2mnfZezcmWQUogVMK3mBZBtgMxKSqe242vAxuV6FyTYPf

Block:

mucho inspect --url mainnet 315667873

clone

Clone all the fixtures (accounts and programs) utilizing your Solana.toml file.

Usage:

mucho clone --help

The default behavior for fixture cloning is as follows:

  • All cloned fixtures are stored in the fixtures directory, unless overridden by your Solana.toml's settings.accountDir.
  • All fixtures are cloned from Solana's mainnet cluster or the declared settings.cluster in Solana.toml.
  • All fixtures are cloned from the same cluster, unless individually overridden.
  • If any fixtures already exist, they are skipped from cloning.
  • If a Solana account is cloned, the owner program will automatically be cloned from the same cluster, unless the program is explicitly declared in the Solana.toml.

To override the default cloning behavior for any fixture, declare the desired override setting in your Solana.toml file. Some of the supported overrides include:

  • cluster - Desired cluster to clone the particular fixture from.
  • frequency - Desired clone frequency when performing the clone operation.
  • Each fixture type (account, program, etc) may support other specific overrides.

See the Solana.toml's clone configuration for details about all options.

The cloned fixtures are recommended to be version controlled via git in order to facilitate a consistent local Solana ledger (via validator) and therefore reproducible and testable blockchain state for anyone with access to the repo.

build

Build all or a single Solana program in your workspace.

Usage:

mucho build --help

deploy

Deploy a Solana program in your workspace.

Usage:

mucho deploy --help

The default behavior for deploying is as follows:

  • The deploy command will default to your Solana CLI declared cluster, unless overridden with the -u, --url flag.

validator

Run the Solana test validator on your local machine, including loading all the cloned fixtures for your repo.

Usage:

mucho validator --help

Under the hood, the validator commands wraps the Agave tool suite's solana-test-validator command but also helps provide additional quality of life improvements for Solana developers. To view the generated solana-test-validator wrapper command, run mucho validator --output-only.

The default behavior for running the test validator is as follows:

  • If the ledger does not already exist, or when resetting the ledger via the --reset flag, all the currently cloned fixtures will be loaded into the validator at genesis.
  • All programs declared in your Solana.toml's programs.localnet declaration will be loaded into the validator at genesis.
  • All loaded programs will have their upgrade authority set to your local keypair's address (via settings.keypair).

coverage

Run code coverage tests on a Solana program, powered by the Zest CLI.

Usage:

mucho coverage --help

To pass additional arguments to the Zest CLI, append them at the end of this tool's command starting with --. For example, to run the Zest CLI's help command:

mucho coverage -- --help

info

Gather helpful troubleshooting info about your setup, including tool versions and general info about your operating system and Solana CLI configuration.

Usage:

npx mucho info

docs

Open documentation websites for Solana development tools. Without any arguments, opens the Mucho documentation. With a tool name argument, opens documentation for that specific tool.

Usage:

mucho docs --help

Examples:

mucho docs         # open Mucho documentation
mucho docs solana  # open Solana documentation

balance

Get an account's balances for all clusters.

Usage:

mucho balance --help

Examples:

# balances for the default keypair's address: ~/.config/solana/id.json
mucho balance

# balances of a specific address
mucho balance nicktrLHhYzLmoVbuZQzHUTicd2sfP571orwo9jfc8c

token

Create, mint, and transfer tokens.

Usage:

npx mucho token --help

Considerations:

  • All mucho token commands will use the --keypair wallet as the transaction fee payer. Defaults to the Solana CLI wallet (~/.config/solana/id.json).

token create

Create a new token on the Solana blockchain, including adding metadata to the token for viewing on explorers and in wallets.

By default, the legacy token program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) will be used to create the token's mint.

npx mucho token create --url devnet \
  --name NAME \
  --symbol SYMBOL \
  --metadata https://raw.githubusercontent.com/

Related Skills

View on GitHub
GitHub Stars93
CategoryDevelopment
Updated4mo ago
Forks19

Languages

TypeScript

Security Score

97/100

Audited on Mar 30, 2026

No findings