| Crates.io | starpin |
| lib.rs | starpin |
| version | 0.1.3 |
| created_at | 2025-08-29 00:10:34.678073+00 |
| updated_at | 2025-08-30 19:22:21.390925+00 |
| description | CLI tool for creating and managing Star Frame Solana programs |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1814932 |
| size | 1,561,339 |
An unofficial command-line interface for creating and managing Star Frame Solana programs.
Install directly from crates.io:
cargo install starpin
git clone https://github.com/zsh28/starpin_cli
cd starpin_cli
cargo build --release
# Add target/release/starpin to your PATH
Create a new Star Frame project using the counter template:
starpin init my_project
Create a project with a specific template:
starpin init my_project --template counter
Create a project in a specific directory:
starpin init my_project --path ./projects
Available templates:
counter - Full-featured counter with create, update, increment, decrement, and close operationssimple_counter - Basic counter with just initialize and increment (perfect for learning)marketplace - Advanced order book marketplace with SPL token integrationBuild for localnet (default):
starpin build
Build for specific network:
starpin build --network devnet
starpin build --network mainnet
Skip automatic IDL generation:
starpin build --skip-idl
Run all tests (localnet):
starpin test
Run tests against specific network:
starpin test --network devnet
Run tests with a filter:
starpin test --filter counter
Deploy to devnet (default):
starpin deploy
Deploy to specific network:
starpin deploy --network localnet
starpin deploy --network mainnet
Upgrade an existing program:
starpin deploy --network devnet --program-id <PROGRAM_ID>
Generate IDL files for client libraries:
starpin idl
Generate IDL to a specific directory:
starpin idl --output ./my-idl
View current Solana network settings:
starpin network
Generate a new random program ID (like anchor keys list):
starpin keys
Generate keys for a specific program:
starpin keys --program my_program
Synchronize program IDs between Starpin.toml and lib.rs (like anchor keys sync):
starpin sync
Use program ID from lib.rs as source of truth:
starpin sync --from-lib
Starpin is an unofficial CLI for Star Frame, bringing the power of type-safe Solana development to your fingertips:
Get up and running in less than 2 minutes:
# Install starpin
cargo install starpin
# Create a new counter project
starpin init my-counter --template counter
# Navigate to your project
cd my-counter
# Build and test
starpin build
starpin test
# Deploy to devnet
starpin deploy --network devnet
Generated projects include:
my_project/
โโโ Cargo.toml # Rust manifest with Star Frame dependencies
โโโ Starpin.toml # Network and deployment configuration
โโโ src/
โ โโโ lib.rs # Main program logic
โ โโโ main.rs # Binary entry point
โโโ tests/
โ โโโ counter.rs # Test files
โโโ README.md # Project documentation
โโโ .gitignore # Git ignore patterns
cargo build --release
cargo test
src/templates/Template traitsrc/commands/init.rsContributions are welcome! Please:
MIT License - see LICENSE file for details.
For issues and questions: