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 onlyDev 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 + /r2 → localhost:8787 (vite.config.ts)
Adding UI Components
bash
pnpm dlx shadcn-vue@latest add <component-name> -yDatabase
bash
# Run query
wrangler d1 execute supershyft-os --local --command="SELECT * FROM companies LIMIT 5"
# Reset
wrangler d1 migrations apply supershyft-os --localPort 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