ProtoPulse runs entirely in your browser, but it needs a local backend and a PostgreSQL database to store your designs. This guide walks you through cloning the repository, configuring the environment, and launching the dev server — then shows you how to describe a circuit in plain English and watch the AI build it on screen.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/wtyler2505/ProtoPulse/llms.txt
Use this file to discover all available pages before exploring further.
ProtoPulse requires PostgreSQL 14 or newer and Node.js 20 or newer. Have a running PostgreSQL instance and a connection string ready before you begin.
Clone and install dependencies
Clone the repository and install npm dependencies:This installs the full dependency tree — frontend (React 19, Vite 7, shadcn/ui) and backend (Express 5, Drizzle ORM, Anthropic SDK, Google Generative AI).
Configure your environment
Copy the example environment file and fill in the required values:Open
A minimal
.env in your editor. The two values you must set before the app will start are:| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | PostgreSQL connection string, e.g. postgresql://user:pass@localhost:5432/protopulse |
API_KEY_ENCRYPTION_KEY | Production | 32-byte hex string for AES-256-GCM encryption of stored AI API keys. Random per-boot in development. |
PORT | No | Server listen port. Defaults to 5000. |
NODE_ENV | No | development or production. Defaults to development. |
LOG_LEVEL | No | debug, info, warn, or error. Defaults to info. |
TRUST_PROXY | No | Number of proxy hops to trust. Default 0 (off). |
STREAM_TIMEOUT_MS | No | Activity-based SSE timeout in milliseconds. Default 120000. |
ADMIN_API_KEY | No | Shared secret for admin maintenance routes (/api/admin/*, /api/backup/*). |
DB_POOL_MAX | No | Override for the database connection pool size. |
CACHE_MAX | No | Override for the LRU cache size. |
RATE_LIMIT_MAX | No | Override for the rate limit (requests per 15-minute window). Default 300. |
DISABLE_AI_FALLBACK | No | Set to 1 to disable automatic fallback between AI providers. |
PARTS_CATALOG_V2 | No | Set to true to enable the unified parts catalog v2 read paths. |
.env for local development looks like this:Push the database schema
Drizzle ORM manages the 27-table PostgreSQL schema. Push it to your database with:This creates all tables, indexes, and constraints in a single step. You can verify the schema was applied by connecting to your database and listing the tables, or by running
npm run db:studio to open Drizzle Studio in your browser.Start the development server
Seed demo data
An empty project gives you a blank canvas, which is great for real work but less useful for exploring the tool. Seed a fully populated demo project with a single API call:This creates a sample project with architecture nodes, schematic components, BOM items, and validation issues pre-populated — giving you something real to explore in every view.
Design your first circuit with the AI
The AI assistant lives in the right panel of the workspace. It isn’t just a chatbot — it has 82 tool actions that directly modify your design in real time.To design your first circuit, type a description in the chat panel and press Enter:The AI will:
- Add architecture nodes for the USB-C connector, TVS diode, ferrite bead, LDO regulator, and decoupling caps
- Wire them together with typed signal edges
- Populate the BOM with specific part numbers, pricing, and package types
- Run a DRC to verify power domain consistency and flag any missing decoupling
- Stream every action to the screen in real time — all undoable
Available npm scripts
| Script | Description |
|---|---|
npm run dev | Dev server with Vite HMR on port 5000 |
npm run build | Production build (esbuild backend + Vite frontend) |
npm start | Run the production build |
npm run check | TypeScript type check — must pass with zero errors |
npm run db:push | Sync Drizzle schema to PostgreSQL |
npm run db:generate | Generate migration files |
npm run db:studio | Open Drizzle Studio |
npm test | Run all tests (54 files, 1,553 tests) |
npm run test:watch | Vitest interactive watch mode |
npm run test:coverage | Tests with v8 coverage report |
Next steps
Workspace overview
Learn the three-panel layout and how to navigate between the eight design views.
AI assistant
See the full list of 82 tool actions and learn how to get the best results from the AI.
Architecture editor
Start your design with a system block diagram before moving to schematics.
Developer setup
Full developer reference: API endpoints, database schema, and contribution guide.