Instruction file imported from jagalliers/FrontierBoss (
.cursor/rules/process-management.mdc). Copyright stays with the author.
Process Management
All server lifecycle operations MUST go through the service controller:
node bin/frontierboss.cjs <command>
Allowed commands
| Action | Command |
|---|---|
| Start (prod) | node bin/frontierboss.cjs start |
| Start (dev) | node bin/frontierboss.cjs dev |
| Stop | node bin/frontierboss.cjs stop |
| Restart | node bin/frontierboss.cjs restart |
| Check status | node bin/frontierboss.cjs status |
| View logs | node bin/frontierboss.cjs logs |
NEVER do any of these
node server/index.tsortsx server/index.ts— bypasses state tracking, creates orphansnpm run devornpm start— same problem; usefrontierboss dev/frontierboss startinsteadkill,killall,pkillon server processes — usefrontierboss stopwhich handles the full process tree and cleans up state- Manually spawning
node dist/server/index.js— this is what the supervisor does internally
Dev mode notes
frontierboss devrunsconcurrentlywithtsx watch+vite; file changes auto-restart the server- Do NOT manually restart after editing server files —
tsx watchhandles it - If the server appears stuck, check with
frontierboss statusfirst, thenfrontierboss stop && frontierboss dev
Port conflicts
If you see "Port 3000 is already in use", always resolve with:
node bin/frontierboss.cjs stop
Then start again. The stop command sweeps both tracked processes and any orphans on the port.