| Crates.io | suiforge |
| lib.rs | suiforge |
| version | 0.2.0 |
| created_at | 2025-11-26 17:13:11.003184+00 |
| updated_at | 2025-11-27 08:16:00.167227+00 |
| description | A modern developer framework for Sui blockchain smart contracts with advanced tooling |
| homepage | |
| repository | https://github.com/yourusername/suiforge |
| max_upload_size | |
| id | 1951851 |
| size | 397,522 |
A modern, developer-friendly framework for building on the Sui blockchain
SuiForge simplifies the entire Sui smart contract development workflow—from scaffolding to deployment. Think Hardhat for Ethereum, Anchor for Solana, but built specifically for Sui Move.
The Sui ecosystem lacks modern, intuitive tooling. SuiForge solves this by:
cargo install suiforge
Or build from source:
git clone https://github.com/yourusername/suiforge
cd suiforge
cargo install --path .
# Create a new project
suiforge init my-project --template nft
# Navigate to project
cd my-project
# Build the Move contracts
suiforge build
# Run tests
suiforge test
# Deploy to devnet
suiforge deploy devnet
# Generate TypeScript SDK
suiforge generate ts
suiforge init <project-name>Scaffold a new Sui Move project with opinionated structure and templates.
Options:
--template <type>: Choose from basic, nft, token, marketplace, defi, game--no-git: Skip git initializationExample:
suiforge init my-nft-project --template nft
suiforge buildCompile Move contracts with enhanced error messages.
Options:
--release: Build with optimizations--watch: Rebuild on file changessuiforge testRun Move unit tests and integration tests.
Options:
--filter <pattern>: Run specific tests--coverage: Generate coverage reportsuiforge deploy <network>Deploy contracts to specified network (devnet, testnet, mainnet).
Options:
--gas-budget <amount>: Set custom gas budget--skip-verify: Skip post-deployment verificationExample:
suiforge deploy devnet
suiforge deploy mainnet --gas-budget 100000000
suiforge generate <target>Generate client SDKs from deployed contracts.
Targets: ts, rust, swift, python
Example:
suiforge generate ts --output ./sdk
suiforge node start|stop|statusManage local Sui node for development.
suiforge node start # Start local node
suiforge node stop # Stop local node
suiforge node status # Check node status
suiforge install <plugin>Install community plugins (Phase 2).
suiforge install @suiforge/nft-tools
my-project/
├── Move.toml # Move package manifest
├── suiforge.config.json # SuiForge configuration
├── suiforge.lock.json # Deployment metadata (auto-generated)
├── sources/
│ └── main.move # Main contract code
├── tests/
│ └── main_tests.move # Move unit tests
├── scripts/
│ └── deploy.ts # Deployment scripts
└── build/ # Build artifacts (auto-generated)
SuiForge provides production-ready templates:
Import battle-tested Move modules into your projects:
[dependencies]
SuiForge = { git = "https://github.com/yourusername/suiforge-modules", subdir = "modules" }
Available modules:
AccessControl: Role-based permissionsPausable: Emergency stop mechanismTokenUtils: Fungible token helpersNFTUtils: Non-fungible token helpersVault: Secure asset storageEscrow: Two-party escrow systemPaymentSplitter: Revenue distributionOwnable: Ownership managementExample usage:
use suiforge::access_control::{Self, Role};
use suiforge::pausable::{Self, Pausable};
suiforge.config.json:
{
"network": {
"default": "devnet",
"devnet": {
"rpc": "https://fullnode.devnet.sui.io:443"
},
"testnet": {
"rpc": "https://fullnode.testnet.sui.io:443"
}
},
"build": {
"outputDir": "build",
"skipFetchLatestGitDeps": false
},
"deploy": {
"gasObjectSelection": "auto",
"gasBudget": 50000000
},
"codegen": {
"typescript": {
"outputDir": "./sdk/typescript"
}
}
}
suiforge.lock.json to track deploymentssuiforge node start for fast iterationSuiForge is open-source and welcomes contributions!
# Clone the repo
git clone https://github.com/yourusername/suiforge
cd suiforge
# Run tests
cargo test
# Build
cargo build --release
See CONTRIBUTING.md for guidelines.
MIT License - see LICENSE for details.
Built with ❤️ for the Sui community