Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hyper-cli

A local development server for hyper.io apps. Test your app against real APIs without deploying first.

What it does

  • Serves static files from ./public (auto-detects dist, build, out)
  • Proxies API calls to onhyper.io with your API key
  • Zero configuration — just hyper --init and 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.

Installation

Download Binary (macOS)

curl -LO https://github.com/hyperio-mc/hyper-cli/releases/download/v1.0.0/hyper
chmod +x hyper
./hyper --version

Build from Source (Any Platform)

Requires 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 --version

Need a binary for another platform? Open an issue and we'll add it to the releases.

Quick Start

1. Sign up for hyper.io

  1. Go to onhyper.io
  2. Click Sign Up and create an account
  3. Verify your email

2. Get your API key

  1. Go to onhyper.io/dashboard
  2. Navigate to SettingsAPI Keys
  3. Click Create API Key
  4. Copy the key (starts with oh_live_)

3. Create an app

  1. In the dashboard, click New App
  2. Give it a name and slug (e.g., my-app)
  3. Add your secrets (API keys for OpenAI, Anthropic, etc.)
  4. Note the app slug — you'll need it for the config

4. Configure hyper-cli

./hyper --init

This 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.

5. Run it

./hyper

Open http://localhost:3000 in your browser. Your app can now call:

  • GET /proxy/scoutos/v2/collections/... → ScoutOS APIs
  • GET /proxy/openai/v1/chat/completions → OpenAI APIs
  • GET /proxy/anthropic/v1/messages → Anthropic APIs
  • GET /proxy/openrouter/v1/chat/completions → OpenRouter APIs
  • GET /proxy/ollama/api/... → Ollama APIs

All requests are authenticated with your API key and secrets are injected server-side.

Usage

./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 version

Environment Variables

Override config with environment variables:

HYPER_API_KEY=oh_live_xxx HYPER_APP_SLUG=my-app ./hyper

How it works

  1. Static files: Serves your index.html, JS, CSS from ./public
  2. SPA routing: Unmatched routes fall back to index.html for client-side routing
  3. Proxy: Requests to /proxy/* are forwarded to onhyper.io/proxy/* with your X-API-Key header
  4. Secrets injection: OnHyper looks up your secrets server-side and injects them into the request

Why not fetch secrets locally?

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.

Supported Platforms

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.

License

MIT

About

Local development server for Hyper apps - test with real APIs without deploying

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages