Skip to content

MikeyA-yo/sui-runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sui-runner

A setup and utility CLI for the Sui blockchain ecosystem, written in Rust. It wraps common sui CLI operations into a single, ergonomic command interface — including project scaffolding, building, testing, deploying, and an interactive TUI dashboard.

Features

  • init — Scaffold a new Sui Move project with a config file and sample module
  • check — Verify required toolchain dependencies are installed
  • build — Compile and test Move packages, with optional file-watch mode
  • deploy — Publish Move packages to any Sui network
  • wallet — Inspect and create wallet addresses
  • dashboard — Live terminal UI showing wallet info and package metadata

Prerequisites

Run sui-runner check after installing to confirm everything is in place.

Installation

Linux / macOS

curl -fsSL https://suirunner.vercel.app/install.sh | bash

Windows — PowerShell

irm https://suirunner.vercel.app/install.ps1 | iex

From source

git clone https://github.com/MikeyA-yo/sui-runner
cd sui-runner
cargo build --release

The binary will be at target/release/sui-runner. Add it to your PATH or copy it wherever convenient.

Pre-built binaries

Pre-built binaries for Linux (x86_64), macOS (x86_64 and ARM64), and Windows (x86_64) are attached to each GitHub Release.

Usage

sui-runner [OPTIONS] <COMMAND>

Global options

Flag Description
-v, --verbose Enable detailed output

init — Create a new project

sui-runner init -n <project-name> -N <network>
Flag Short Default Description
--name -n required Project name
--network -N testnet Target network (mainnet, testnet, devnet, localnet)

Creates a Sui Move project directory, a sui-runner.json config file, and injects a starter Move module.


check — Verify toolchain

sui-runner check [--verbose]

Confirms sui, git, and cargo are installed. Pass --verbose to print version strings.


build — Build and test

sui-runner build [OPTIONS]
Flag Description
--path <PATH> Path to the Move project (default: .)
--test Run sui move test after building
--filter <NAME> Run only tests whose name contains <NAME>
--watch Rebuild/retest automatically on file changes
--skip-fetch-latest-git-deps Skip fetching remote git dependencies
--generate-docs Generate Move documentation

Watch mode monitors sources/, tests/, and Move.toml with a 500 ms polling interval.


deploy — Publish a package

sui-runner deploy [OPTIONS]
Flag Description
--path <PATH> Path to the Move project (default: .)
--gas <AMOUNT> Gas budget in MIST (default: 150000000)

Runs sui client publish against the currently active network.


wallet — Manage addresses

sui-runner wallet <ACTION>
Action Description
address Print the active wallet address
list List all addresses in the keystore
new Create a new ED25519 address

dashboard — Interactive TUI

sui-runner dashboard [--refresh <SECONDS>]

Launches a terminal dashboard with two panels:

  • Wallet — active address, network, and SUI balance
  • Package — name, version, and Move edition from Move.toml
Key Action
r Refresh data manually
q Quit

Pass --refresh <N> to auto-refresh every N seconds.


Project config (sui-runner.json)

Generated by sui-runner init. Contains basic project metadata:

{
  "name": "my-project",
  "network": "testnet",
  "version": "0.1.0"
}

Tech stack

Crate Purpose
clap CLI argument parsing
tokio Async runtime
duct Shell command execution
ratatui + crossterm Terminal UI
notify File system watching
serde / serde_json JSON serialization
anyhow Error handling

Contributing

Pull requests are welcome. Open an issue first for significant changes.

License

MIT

About

A sui utility CLI tool for humans

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages