shadcn had already generated full light/dark CSS variable sets in globals.css (keyed off a .dark class via @custom-variant), but nothing ever added that class - the app was always light regardless of OS preference. Wires up next-themes (already a dependency, pulled in by sonner.tsx but never provided) with attribute="class", defaulting to the system preference. Adds a sun/moon ThemeToggle button - in the header for the authenticated app, and in the top-right corner of the login page since that route sits outside the header layout. suppressHydrationWarning moves to <html> too (next-themes sets the class there via a pre-hydration script, so server/client will legitimately differ on first paint). 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