Scripts that finish in milliseconds (e.g. notify.js) could complete and broadcast all their output/status before a client's WS subscribe message even arrived, leaving the run page's terminal permanently blank with no way to catch up. The server now answers every subscribe with whatever log bytes were written past what the client's server-rendered page already had, plus the run's current status, before it starts streaming live broadcasts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
TriggerShell web app
This is the Next.js app that TriggerShell's Python CLI (triggershell dev / triggershell start)
launches — it's not meant to be run standalone with next dev/next start since it needs a
custom server (server.ts) for the WebSocket endpoint.
See the repo root README for how to run TriggerShell end-to-end, and
../docs/ARCHITECTURE.md for how this app is put together.
pnpm install
pnpm dev # tsx watch server.ts - reads TRIGGERSHELL_CONFIG_PATH from the environment
pnpm lint
pnpm typecheck
pnpm db:studio # browse the SQLite database