A local development server for hyper.io apps. Test your app against real APIs without deploying first.
- Serves static files from
./public(auto-detectsdist,build,out) - Proxies API calls to
onhyper.iowith your API key - Zero configuration — just
hyper --initand go
Browser → localhost:3000/proxy/scoutos/...
↓
hyper-cli (adds X-API-Key header)
↓
onhyper.io/proxy/scoutos/... (injects secret, forwards to API)
Secrets stay server-side. No auth flow needed.
curl -LO https://github.com/hyperio-mc/hyper-cli/releases/download/v1.0.0/hyper
chmod +x hyper
./hyper --versionRequires Bun:
# Install Bun
curl -fsSL https://bun.sh/install | bash
# Clone and build
git clone https://github.com/hyperio-mc/hyper-cli.git
cd hyper-cli
bun install
bun build src/index.ts --compile --outfile hyper
./hyper --versionNeed a binary for another platform? Open an issue and we'll add it to the releases.
- Go to onhyper.io
- Click Sign Up and create an account
- Verify your email
- Go to onhyper.io/dashboard
- Navigate to Settings → API Keys
- Click Create API Key
- Copy the key (starts with
oh_live_)
- In the dashboard, click New App
- Give it a name and slug (e.g.,
my-app) - Add your secrets (API keys for OpenAI, Anthropic, etc.)
- Note the app slug — you'll need it for the config
./hyper --initThis creates a hyper.json file:
{
"name": "my-app",
"slug": "my-app",
"apiKey": "oh_live_YOUR_API_KEY_HERE",
"staticDir": "./public",
"port": 3000,
"baseUrl": "https://onhyper.io"
}Edit the file and add your API key and app slug.
./hyperOpen http://localhost:3000 in your browser. Your app can now call:
GET /proxy/scoutos/v2/collections/...→ ScoutOS APIsGET /proxy/openai/v1/chat/completions→ OpenAI APIsGET /proxy/anthropic/v1/messages→ Anthropic APIsGET /proxy/openrouter/v1/chat/completions→ OpenRouter APIsGET /proxy/ollama/api/...→ Ollama APIs
All requests are authenticated with your API key and secrets are injected server-side.
./hyper # Start dev server (port 3000)
./hyper --init # Create hyper.json config
./hyper --port 8080 # Use custom port
./hyper --help # Show help
./hyper --version # Show versionOverride config with environment variables:
HYPER_API_KEY=oh_live_xxx HYPER_APP_SLUG=my-app ./hyper- Static files: Serves your
index.html, JS, CSS from./public - SPA routing: Unmatched routes fall back to
index.htmlfor client-side routing - Proxy: Requests to
/proxy/*are forwarded toonhyper.io/proxy/*with yourX-API-Keyheader - Secrets injection: OnHyper looks up your secrets server-side and injects them into the request
Other CLIs (Vercel, Firebase) download secrets to .env files. That means:
- Secrets on disk (even temporarily)
- Risk of accidental commit
- Need to manage auth tokens
- Sync issues between local and production
hyper-cli keeps secrets server-side. The server already knows your secrets — just proxy through it.
| Platform | Binary |
|---|---|
| macOS (Intel) | Download |
| macOS (Apple Silicon) | Download |
| Linux | Build from source |
| Windows | Build from source |
Want a pre-built binary for your platform? Open an issue and we'll add it.
MIT