The runs page was a flat top-100 list with no way to narrow it down. It's now driven entirely by the URL (?q=&status=&scriptId=&sort=&dir=&page=), so filtered/sorted views are shareable and survive back/forward navigation: - free-text search across script name, triggered-by, and the resolved command - status and script dropdown filters - sortable Script/Status/Triggered-by/Started column headers - offset pagination (25/page) with a real total count, clamped so an out-of-range page falls back to the last valid one instead of showing a misleading "no results" 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