Implementation:Helicone Helicone Dev Server Startup
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Local Development, Services |
| Last Updated | 2026-02-14 00:00 GMT |
Overview
Concrete tool for starting the three main Helicone application services (Jawn, Web, Worker) in development mode, provided by Yarn scripts and Wrangler CLI.
Description
Each application service has its own development start command defined in its package.json:
- Jawn (
valhalla/jawn/package.jsonline 7):yarn devrunsconcurrently "nodemon" "nodemon -x python3 genTypes.py"which starts the Express.js server with auto-reload and a parallel Python process for generating TypeScript types. - Web (
web/package.jsonline 9):yarn dev:localrunsnext dev --turbo -p 3000which starts the Next.js development server with Turbopack for fast rebuilds. An alternativeyarn dev:better-auth(line 11) starts on port 3008 with Better Auth environment variables. - Worker (
worker/wrangler.toml): Started vianpx wrangler devwith--var WORKER_TYPE:OPENAI_PROXYflag. The default development configuration listens on port 8787 and connects to local Supabase, ClickHouse, MinIO, and Jawn.
Usage
Start services in order: Jawn first (port 8585), then Web (port 3000), and optionally Worker (port 8787). Each runs in its own terminal.
Code Reference
Source Location
- Repository: Helicone
- File:
valhalla/jawn/package.json(lines 4-13),web/package.json(lines 8-20),worker/wrangler.toml(lines 1-107)
Signature
# Jawn backend
cd valhalla/jawn && yarn dev
# Web frontend
cd web && yarn dev:local
# Worker proxy
cd worker && npx wrangler dev --local --var WORKER_TYPE:OPENAI_PROXY --port 8787
Import
# Install all monorepo dependencies from the repository root
yarn install
# Wrangler is a dev dependency of the worker package
# No additional global installs needed
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Infrastructure services | services | Yes | PostgreSQL, ClickHouse, MinIO must be running |
| .env files | files | Yes | Environment variables for each service |
| node_modules | directory | Yes | Dependencies installed via yarn install
|
| WORKER_TYPE | string | Worker only | Worker variant: OPENAI_PROXY, ANTHROPIC_PROXY, HELICONE_API, GATEWAY_API, GENERATE_API
|
Outputs
| Name | Type | Description |
|---|---|---|
| Jawn API | HTTP server | Express.js backend at http://localhost:8585
|
| Web Dashboard | HTTP server | Next.js frontend at http://localhost:3000 (or 3008 with better-auth)
|
| Worker Proxy | HTTP server | Cloudflare Workers proxy at http://localhost:8787
|
Usage Examples
Basic Usage
# Terminal 1: Start the Jawn backend API
cd valhalla/jawn
yarn dev
# Output: Server listening on port 8585
Start Web Frontend
# Terminal 2: Start the Next.js web dashboard
cd web
yarn dev:local
# Output: Next.js dev server on http://localhost:3000
Start Web with Better Auth
# Alternative: Start web with Better Auth integration
cd web
yarn dev:better-auth
# Output: Next.js dev server on http://localhost:3008
Start Worker Proxy
# Terminal 3: Start the OpenAI proxy worker
cd worker
npx wrangler dev --local --var WORKER_TYPE:OPENAI_PROXY --port 8787
# Output: Worker listening on http://localhost:8787
Start Different Worker Types
# Anthropic proxy
npx wrangler dev --local --var WORKER_TYPE:ANTHROPIC_PROXY --port 8789
# Helicone API worker
npx wrangler dev --local --var WORKER_TYPE:HELICONE_API --port 8788
# Gateway API worker
npx wrangler dev --local --var WORKER_TYPE:GATEWAY_API --port 8790
Jawn Dev Script Breakdown
The Jawn yarn dev script runs two processes in parallel via concurrently:
concurrently "nodemon" "nodemon -x python3 genTypes.py"
- nodemon: Watches TypeScript source files and restarts the Express.js server on changes.
- nodemon -x python3 genTypes.py: Watches for changes and regenerates TypeScript types from the API schema.
Related Pages
Implements Principle
Requires Environment
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment