Interactive CLI for scaffolding Walrus applications on the Sui blockchain.
This monorepo provides create-walrus-app, an interactive CLI tool that helps developers quickly scaffold production-ready Walrus applications with best practices, modern tooling, and multiple SDK/framework options.
# Using npm
npm create walrus-app@latest
# Using pnpm
pnpm create walrus-app@latest
# Using yarn
yarn create walrus-app
# Using bun
bun create walrus-app@latest- react-mysten-simple-upload - Single file upload/download with React + @mysten/walrus
- react-mysten-gallery - Multi-file gallery with localStorage indexing
- react-mysten-simple-upload-enoki - Simple upload with zkLogin via Enoki (Beta)
- Vue.js framework support
- Plain TypeScript templates
- Tusky SDK integration
- Hibernuts SDK integration
- Node.js: ^20.0.0 || ^22.0.0 || >=24.0.0
- Package Manager: pnpm >= 9.0.0
- Language: TypeScript (strict mode)
- @mysten/walrus (Stable) - Official Mysten Labs SDK for Testnet
- @mysten/enoki (Beta) - zkLogin integration for social authentication
- @tusky-io/ts-sdk (Planned) - Community TypeScript SDK
- @hibernuts/walrus-sdk (Planned) - Alternative Walrus SDK
- React 18 (Stable) - With Vite, TanStack Query, @mysten/dapp-kit
- Vue 3 (Planned) - With Vite and Composition API
- Plain TypeScript (Planned) - Vanilla JS/TS setup
walrus-starter-kit/
├── packages/cli/ # Scaffolder CLI tool
│ ├── src/ # CLI engine source
│ ├── presets/ # Pre-built preset templates
│ └── scripts/ # Template validation scripts
├── templates/ # Modular template layers
│ ├── base/ # SDK-agnostic foundation
│ ├── sdk-mysten/ # @mysten/walrus SDK layer
│ ├── enoki/ # Enoki zkLogin layer
│ ├── react/ # React framework layer
│ ├── simple-upload/ # Simple upload use case
│ └── gallery/ # Gallery use case
├── docs/ # Technical documentation
└── examples/ # Generated test outputs
- Node.js ^20.0.0 || ^22.0.0 || >=24.0.0
- pnpm >= 9.0.0
pnpm installpnpm buildcd packages/cli
pnpm dev# Run all tests
pnpm test
# Test template generation
cd packages/cli
bash scripts/test-templates.shpnpm build- Build all packagespnpm test- Run tests across all packages (Vitest)pnpm lint- Lint all TypeScript filespnpm format- Format code with Prettierpnpm release- Test release process locally (dry-run)
- Project Overview & PDR
- System Architecture
- Code Standards
- Development Roadmap
- Codebase Summary
- Design Guidelines
We use Conventional Commits for automated versioning and releases. See CONTRIBUTING.md for details.
Releases are automated using semantic-release. See RELEASE_GUIDE.md for the complete release process.
Interactive CLI for scaffolding Walrus applications. See packages/cli for details.
MIT