Skip to content

Development

Running Services

bash
pnpm dev:all  # API (8787), AI (8788), Web (5173)

Individual:

bash
pnpm dev:web  # Frontend only
pnpm dev:api  # API worker only
pnpm dev:ai   # AI worker only

Dev Mode

Click "Dev Mode" → Select Louis/Alex/Sarah → Persists in localStorage

Manual:

javascript
localStorage.setItem('supershyft_dev_user_email', 'alex.rivera@capcoib.com')
location.reload()

API Proxy

Vite proxies: /api + /r2localhost:8787 (vite.config.ts)

Adding UI Components

bash
pnpm dlx shadcn-vue@latest add <component-name> -y

Database

bash
# Run query
wrangler d1 execute supershyft-os --local --command="SELECT * FROM companies LIMIT 5"

# Reset
wrangler d1 migrations apply supershyft-os --local

Port Conflicts

bash
lsof -i :8787  # API worker
kill -9 <PID>

Code Style

Vue Composition API + TypeScript, shadcn-vue only, Tailwind utilities, camelCase/PascalCase

Hot Reload

Vite HMR (instant), Wrangler auto-reload, manual DB migrations

Troubleshooting

API: Check port 8787, verify proxy in vite.config.ts

User: Check /api/users/:email, clear localStorage

Build: Node 20 (.nvmrc), verify pnpm

Built for Supershyft Capital