The official CLI tool for deploying static sites to Walrus decentralized storage.
Deploy your Hugo sites to the decentralized web with an interactive wizard. No blockchain experience required.
Table of Contents
Features
| Feature |
Description |
| Interactive Deployment |
walgo launch guides you step-by-step through the entire deployment process |
| Project Management |
Track all your sites, deployment history, and updates with walgo projects |
| AI Content Generation |
Generate and update blog posts with AI assistance |
| Free Testing Mode |
HTTP deployment requires no wallet or cryptocurrency |
| Asset Optimization |
Automatic HTML, CSS, and JavaScript minification |
| Brotli Compression |
Pre-compressed files for faster load times |
| Obsidian Integration |
One-command site creation from Obsidian vaults |
| Desktop App |
Optional GUI for visual project management |
| SuiNS Support |
Custom domain names via Sui Name Service |
Installation
Quick Install (Recommended)
macOS/Linux:
# Prerequisites: Install Git first
# macOS: brew install git
# Ubuntu/Debian: sudo apt install git
# Fedora: sudo dnf install git
# Arch: sudo pacman -S git
curl -fsSL https://raw.githubusercontent.com/ganbitlabs/walgo/main/install.sh | bash
Windows:
# Prerequisites: Install Git first
# Using Chocolatey (recommended):
# choco install git
# Or download from: https://git-scm.com/download/win
irm https://raw.githubusercontent.com/ganbitlabs/walgo/main/install.ps1 | iex
Or download the binary manually from the releases page.
πͺ Windows Installation Details (Click to Expand)
Method 1: PowerShell One-Line Install (Recommended)
irm https://raw.githubusercontent.com/ganbitlabs/walgo/main/install.ps1 | iex
This automatically detects your architecture, downloads binary, and installs it.
Method 2: Download and Install Manually
-
Download from releases page:
walgo-windows-amd64.exe (64-bit)
walgo-windows-arm64.exe (ARM64)
-
Add to PATH (PowerShell as Administrator):
New-Item -ItemType Directory -Force -Path "C:\Program Files\walgo"
Move-Item walgo.exe "C:\Program Files\walgo\"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\walgo", "Machine")
-
Important: Close and reopen terminal for PATH changes to take effect.
Common Windows Issues
"execution of scripts is disabled"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Windows Defender SmartScreen warning
- Click "More info"
- Click "Run anyway"
- Safe to run - source code is verified on GitHub
For complete Windows installation guide, see docs/INSTALLATION.md.
Using Go
go install github.com/ganbitlabs/walgo@latest
Build from Source
git clone https://github.com/ganbitlabs/walgo.git
cd walgo
make build
Verify Installation
walgo version
Desktop App (Optional)
Download the desktop GUI from the releases page.
macOS Installation
Security Note: The app is ad-hoc signed but not notarized with Apple. On first launch, macOS may show an "unidentified developer" warning.
Method 1: Right-click to Open (Recommended)
- Download and extract
walgo-desktop_*_darwin_*.tar.gz
- Move
Walgo.app to your Applications folder
- Right-click on
Walgo.app and select "Open"
- Click "Open" again in the security dialog
- The app will now open and be trusted for future launches
Method 2: Terminal
# Remove quarantine and open
xattr -cr /Applications/Walgo.app
open /Applications/Walgo.app
If you used the install script (curl ... | bash), quarantine removal is handled automatically.
Windows Installation
- Download
walgo-desktop_*_windows_amd64.zip
- Extract and run
walgo-desktop.exe
- Windows Defender may show a warning - click "More info" β "Run anyway"
Linux Installation
- Download
walgo-desktop_*_linux_amd64.tar.gz
- Extract and run
./walgo-desktop
- Make executable if needed:
chmod +x walgo-desktop
Quick Start
Option 1: Quickstart Command (Fastest)
Create, build, and deploy a new site in one command:
walgo quickstart my-blog
This will:
- Create a new Hugo site with a theme
- Add sample content
- Build and optimize the site
- Offer deployment options
Option 2: Step-by-Step Setup
# 1. Create a new site
walgo init my-site
cd my-site
# 2. Build your site
walgo build
# 3. Deploy with the interactive wizard
walgo launch
The Launch Wizard
walgo launch is the recommended way to deploy. It guides you through:
- Network Selection β Choose testnet or mainnet
- Wallet Setup β View balance, switch or create addresses
- Project Details β Name your project for easy management
- Storage Duration β Set how long to store your site (epochs)
- Cost Review β See estimated gas fees before confirming
- Deployment β Upload to Walrus with progress feedback
- SuiNS Setup β Instructions to configure your custom domain
cd my-site
walgo launch
Commands
Core Workflow
| Command |
Description |
walgo quickstart <name> |
Create, build, and deploy a new site |
walgo init <name> |
Initialize a new Hugo site |
walgo build |
Build site with optimization |
walgo serve |
Start local development server |
walgo launch |
Interactive deployment wizard (recommended) |
Project Management
| Command |
Description |
walgo projects |
List all your deployed sites |
walgo projects show <name> |
View project details and history |
walgo projects update <name> |
Update an existing deployment |
walgo projects archive <name> |
Archive a project |
Content & AI
| Command |
Description |
walgo new <path> |
Create new content file |
walgo import <vault> |
Create site and import from Obsidian vault |
walgo ai configure |
Set up AI provider (OpenAI/OpenRouter) |
walgo ai generate |
Generate content with AI |
walgo ai update <file> |
Update content with AI |
Utilities
| Command |
Description |
walgo doctor |
Diagnose environment issues |
walgo status <id> |
Check deployment status |
walgo optimize |
Optimize HTML/CSS/JS files |
walgo compress |
Apply Brotli compression |
walgo domain |
SuiNS domain management |
Advanced Deployment
| Command |
Description |
walgo deploy |
Direct on-chain deployment (requires wallet) |
walgo deploy-http |
HTTP deployment (no wallet, testnet only) |
walgo update <id> |
Update existing site by object ID |
Note: For most users, walgo launch is the recommended deployment method as it provides guidance and manages your projects automatically.
Configuration
Walgo uses a walgo.yaml configuration file in your project directory:
# Hugo settings
hugo:
publishDir: "public"
contentDir: "content"
build_draft: false
minify: true
# Walrus deployment settings
walrus:
project_id: "" # Set automatically after first deploy
epochs: 5 # Storage duration
entrypoint: "index.html"
# Asset optimization
optimizer:
enabled: true
html:
enabled: true
minify_whitespace: true
remove_comments: true
css:
enabled: true
minify: true
js:
enabled: true
minify: true
# Brotli compression
compress:
enabled: true
brotli_level: 6
# AI content generation (optional)
ai:
enabled: false
provider: "openai" # or "openrouter"
model: "gpt-4"
# Obsidian import settings (optional)
obsidian:
vault_path: ""
include_drafts: false
convert_wikilinks: true
Environment Variables
| Variable |
Description |
WALGO_ASCII=1 |
Force ASCII output (no emojis) |
WALGO_EMOJI=1 |
Force emoji output |
Documentation
Comprehensive documentation is available in the docs/ directory:
Getting Started
User Guides
Developer Guides
Requirements
Required
-
Git β Version control system (required for installation and some features)
# macOS
brew install git
# Ubuntu/Debian
sudo apt install git
# Fedora
sudo dnf install git
# Windows (Chocolatey)
choco install git
# Windows (Scoop)
scoop install git
# Or download from https://git-scm.com
-
Hugo Extended β Static site generator
Important: The Extended version is required for SCSS/SASS support.
# macOS
brew install hugo
# Ubuntu/Debian
sudo apt install hugo
# Fedora
sudo dnf install hugo
# Windows (Chocolatey)
choco install hugo-extended
# Windows (Scoop)
scoop install hugo-extended
# Verify it's the extended version
hugo version # Should show "extended"
For On-Chain Deployment
-
site-builder β Walrus Sites CLI
walgo setup-deps # Installs automatically
-
Sui Wallet β With SUI tokens
# Set up wallet for testnet
walgo setup --network testnet
Optional
- Obsidian β For vault import feature
- OpenAI/OpenRouter API Key β For AI content generation
Troubleshooting
Quick Diagnostics
walgo doctor # Check your setup
walgo doctor -v # Verbose diagnostics
walgo doctor --fix-all # Auto-fix common issues
Common Issues
| Issue |
Solution |
site-builder not found |
Run walgo setup-deps |
insufficient funds |
Get testnet SUI from faucet |
Hugo not extended |
Reinstall Hugo Extended version |
network timeout |
Retry with --epochs 1 or check connectivity |
Getting Help
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Development Setup
# Clone the repository
git clone https://github.com/ganbitlabs/walgo.git
cd walgo
# Install dependencies and build
make build
# Run tests
make test
# Run linter
make lint
Project Structure
walgo/
βββ cmd/ # CLI commands
βββ internal/ # Internal packages
β βββ ai/ # AI content generation
β βββ cache/ # Deployment caching
β βββ compress/ # Brotli compression
β βββ config/ # Configuration management
β βββ deployer/ # Deployment adapters
β βββ hugo/ # Hugo integration
β βββ launch/ # Launch wizard
β βββ obsidian/ # Obsidian import
β βββ optimizer/ # Asset optimization
β βββ projects/ # Project management
β βββ ui/ # Terminal UI helpers
β βββ walrus/ # Walrus CLI wrapper
βββ docs/ # Documentation
βββ desktop/ # Desktop app (Wails)
βββ tests/ # Integration tests
About
Walgo is developed by the Ganbitera team as a winner of the Walrus RFP (Request for Proposals) for developer tooling.
Why Walgo?
- Simple β One command to deploy:
walgo launch
- Guided β Interactive wizard for beginners
- Powerful β Project management, AI content, optimization
- Flexible β Free HTTP testing or permanent on-chain storage
- Official β Supported by the Walrus ecosystem
What is Walrus?
Walrus is a decentralized storage network built on Sui that enables permanent, censorship-resistant hosting of websites and applications.
Links
License
MIT License β See LICENSE for details.