Skip to content

Installation

Prerequisites

  • Node.js 22+ (required: >=22.0.0 <23.0.0)
  • npm (comes with Node.js)
  • Git (for worktree isolation)
  • Claude Code CLI — Install and authenticate with your Anthropic subscription

protoLabs uses your authenticated Claude Code CLI credentials automatically. No separate API key configuration needed.

Install

bash
git clone https://github.com/protoLabsAI/protoMaker.git
cd protoMaker
npm install

Run

bash
npm run dev

This opens an interactive launcher. Choose Web Application to open in your browser at localhost:3007.

Or specify directly:

bash
npm run dev:full             # Web mode — starts UI (:3007) AND server (:3008) together (recommended)
npm run dev:web              # UI only (localhost:3007) — requires server running separately
npm run dev:server           # Backend server only (localhost:3008)

Important: npm run dev:web starts only the UI frontend on port 3007. It requires the backend server to be running separately on port 3008. Use npm run dev:full to start both in one command, or run npm run dev:server in a second terminal alongside npm run dev:web.

TUI Launcher

For a richer interactive menu:

bash
./start-automaker.sh

Features: gradient ASCII art, pre-flight dependency checks, remembers your last choice (stored in ~/.automaker_launcher_history), 30-second timeout for hands-free selection.

bash
./start-automaker.sh web            # Direct launch — web
./start-automaker.sh --check-deps   # Verify dependencies
./start-automaker.sh --help         # All options

Authentication

protoLabs integrates with your authenticated Claude Code CLI. Install and authenticate following the official quickstart, then protoLabs detects your credentials automatically.

API Key

The server uses protoLabs_studio_key as the default API key. To override, set the env var:

bash
AUTOMAKER_API_KEY=your-custom-key npm run dev --workspace=apps/server

Environment Variables

Server

VariableDefaultDescription
PORT3008Server port
HOST0.0.0.0Host to bind to
HOSTNAMElocalhostHostname for user-facing URLs
DATA_DIR./dataData storage directory
AUTOMAKER_API_KEYprotoLabs_studio_keyAPI key for server auth

Security

VariableDefaultDescription
ALLOWED_ROOT_DIRECTORY(none)Restrict file operations to a specific directory
CORS_ORIGINlocalhostCORS allowed origins (comma-separated)

Integrations

VariableDefaultDescription
GITHUB_TOKEN(none)GitHub PAT for repository operations
LANGFUSE_PUBLIC_KEY(none)Langfuse public key (enables observability)
LANGFUSE_SECRET_KEY(none)Langfuse secret key
LANGFUSE_BASE_URLhttps://cloud.langfuse.comLangfuse API URL
WORKSTACEAN_URLhttp://workstacean:8082Workstacean bot pool service URL
WORKSTACEAN_API_KEY(none)API key for authenticating with Workstacean service

Development

VariableDefaultDescription
AUTOMAKER_AUTO_LOGIN(none)Skip login prompt (ignored in production)
AUTOMAKER_MOCK_AGENT(none)Enable mock agent mode for CI
AUTOMAKER_SKIP_SANDBOX_WARNING(none)Skip sandbox warning dialog

Building

Web Application

bash
npm run build

Docker

See Docker Architecture and Docker Compose for containerized deployment.

Testing

bash
npm run test                # E2E tests (Playwright, headless)
npm run test:headed         # E2E tests with browser visible
npm run test:server         # Server unit tests (Vitest)
npm run test:packages       # Shared package tests
npm run test:all            # All tests (packages + server)

Tests run on ports 3007 (UI) and 3008 (server). Playwright uses Chromium and auto-starts test servers.

Next Steps

Head to the Quick Tutorial to create your first feature.

Built by protoLabs — Open source on GitHub