Complete setup instructions for running your own ZeroBuild instance.
- Rust 1.80+ (
rustc --version) - Git
# 1. Clone the repository
git clone https://github.com/potlock/zerobuild.git
cd zerobuild
# 2. Run bootstrap (installs Rust if needed)
./bootstrap.sh
# 3. Build release binary
cargo build --release
# 4. Run onboarding (interactive setup)
./target/release/zerobuild onboard --interactive
# 5. Start the gateway
./target/release/zerobuild gatewayZeroBuild supports multiple channels. Choose the one that fits your workflow:
- Message @BotFather on Telegram
- Create a new bot with
/newbot - Save the bot token
- Set a username for your bot (e.g.,
@yourbuildbot)
During onboarding, you'll be prompted for the bot token.
- Go to Discord Developer Portal
- Create a new application
- Go to "Bot" section and create a bot
- Copy the bot token
- Enable necessary intents (Message Content, Server Members)
- Generate OAuth2 URL with
botscope and add to your server
- Go to Slack API
- Create a new app
- Add Bot Token Scopes:
chat:write,im:history,im:read - Install to workspace and copy Bot User OAuth Token
Skip channel setup and use the agent directly:
zerobuild agentZeroBuild uses an isolated local process sandbox automatically — no API key, no Docker daemon required. Every build runs in a temp directory ($TMPDIR/zerobuild-sandbox-<uuid>/) with a cleared environment to prevent credential leaks.
No configuration needed. The sandbox is always available.
ZeroBuild supports multiple LLM providers. Choose one:
# Get key from https://openrouter.ai/keys
./target/release/zerobuild onboard \
--provider openrouter \
--api-key "sk-or-v1-..." \
--model "anthropic/claude-sonnet-4"./target/release/zerobuild onboard \
--provider anthropic \
--api-key "sk-ant-..." \
--model "claude-sonnet-4-5"./target/release/zerobuild onboard \
--provider openai \
--api-key "sk-..." \
--model "gpt-4.1"See providers-reference.md for all supported providers.
Good news: ZeroBuild now includes seamless connectors with zero configuration required!
When you or your users want to connect GitHub:
- Simply say in chat: "Connect GitHub"
- Click the link provided by the bot
- Authorize on GitHub
- Done! ✅
The connection allows you to:
- Create new repositories and push code
- Open issues on existing repos
- Create and review pull requests
- Commit and push updates
How it works: ZeroBuild uses an official OAuth Proxy service that securely handles the GitHub OAuth flow. No need to create your own GitHub OAuth App or configure client IDs.
If you prefer to use your own GitHub OAuth App instead of the default proxy:
- Go to GitHub → Settings → Developer Settings → OAuth Apps
- Click "New OAuth App"
- Fill in:
- Application name: Your ZeroBuild Instance
- Homepage URL:
http://127.0.0.1:3000(or your preferred port) - Authorization callback URL:
http://127.0.0.1:3000/auth/github/callback
- Save and note the Client ID and Client Secret
- Configure ZeroBuild:
./target/release/zerobuild onboard \
--github-client-id "Iv1.xxx" \
--github-client-secret "xxx"# Start the gateway
./target/release/zerobuild gateway --port 3000
# The actual port may be dynamic (e.g., http://127.0.0.1:42617)
# Check the output for the exact URL
# For Telegram - set up webhook (for local dev, use ngrok)
curl -F "url=https://your-ngrok-url/webhook" \
https://api.telegram.org/bot<TOKEN>/setWebhook# Run as daemon (includes gateway + channels)
./target/release/zerobuild daemon
# Or use service management
./target/release/zerobuild service install
./target/release/zerobuild service startAfter onboarding, config is stored at ~/.zerobuild/config.toml:
[provider]
provider = "openrouter"
api_key = "sk-or-v1-..."
model = "anthropic/claude-sonnet-4"
[channels.telegram]
enabled = true
identity = "@yourbuildbot"
token = "..."
[channels.discord]
enabled = false
token = "..."
[channels.slack]
enabled = false
token = "xoxb-..."
[zerobuild]
# GitHub OAuth - leave empty to use official proxy (recommended)
github_client_id = ""
github_client_secret = ""
github_oauth_proxy = "https://zerobuild-oauth-proxy.githubz.workers.dev"
db_path = "./data/zerobuild.db"Try these example requests to test different build types:
"Build me a landing page for my coffee shop"
"Create a React Native app for tracking daily expenses"
"Build a REST API with Express and MongoDB for a todo app"
"Write a Python CLI tool that converts CSV to JSON with filtering options"
"Create a Node.js script that fetches weather data and sends email alerts"
Workflow:
- Send your request via your configured channel
- The agent proposes a plan — confirm it
- Watch the build progress
- For web apps: receive a preview URL
- Request changes or iterate
- Say "Push this to GitHub" to create a repo, or ask "Create an issue for this bug" — full GitHub ops from chat
GitHub Integration Test:
- Say: "Connect GitHub"
- Click the link and authorize
- Say: "Push this project to GitHub"
- Or: "Create an issue for adding user authentication"
- Check that
$TMPDIRhas available disk space - Ensure the OS can create directories under the temp path
- Telegram: Verify webhook with
curl https://api.telegram.org/bot<TOKEN>/getWebhookInfo - Discord: Check bot has proper permissions and intents enabled
- Slack: Verify bot is installed to workspace and token is correct
- Check sandbox logs in messages
- Ensure the correct runtime is available in your sandbox (Node.js, Python, etc.)
- Make sure you're using the latest version of ZeroBuild
- If using custom OAuth App, verify the callback URL matches your gateway URL
- Check logs with
zerobuild doctor
- Commands Reference — Full CLI documentation
- Config Reference — All configuration options
- Architecture Overview — How ZeroBuild works internally