Skip to content

Install

Surf.new is a self-hosted web app, not an npm package. Installation clones the repo and sets up both a Node.js frontend and a Python backend.

Prerequisites

  • Node.js 18+
  • Python 3.11+
  • A Steel.dev API key (free tier available)
  • At least one LLM API key (OpenAI, Anthropic, Google Gemini, Fireworks, or a local Ollama instance)

Steps

1. Clone the repository

bash
git clone https://github.com/steel-dev/surf.new
cd surf.new

2. Install frontend dependencies

bash
npm install

3. Install backend dependencies

bash
python -m venv venv
source venv/bin/activate        # On Windows: .\venv\Scripts\activate
pip install -r requirements.txt

4. Configure environment variables

bash
cp .env.local.example .env.local

Edit .env.local and set at minimum:

STEEL_API_KEY=your_steel_api_key
API_URL=http://localhost:8000
STEEL_CONNECT_URL=wss://connect.steel.dev

Add the LLM provider keys you intend to use (e.g. OPENAI_API_KEY, ANTHROPIC_API_KEY).

No downloadable template / boilerplate

Surf.new is a full application, not a reusable scaffold. There is no separate starter template; the repo itself is the starting point.