Files
triggershell/app/README.md
T
valknarandClaude Sonnet 5 30350d80f4 Replace the Python CLI with a Node CLI, add a systemd service command
The app is already 100% Node, so the Python launcher was pure overhead - it
existed mainly to bootstrap Node, which is circular. The CLI is now merged
into app/ (the single published npm package): `triggershell start` validates
the config and imports server.ts directly in-process, so server.ts's own
SIGTERM/SIGINT handling just works with no signal-relay/child-process layer
needed. `dev` is dropped from the public CLI (contributors use `pnpm --dir
app dev` directly); there's no `build` command either, since the package
ships a prebuilt `.next` via a `prepack` hook. Adds `triggershell service
install|uninstall|status` for running as a per-user or system systemd unit.

Also fixes two bugs found while wiring this up: server.ts resolved `.next`
relative to `process.cwd()`, which broke once the CLI could run from a
directory other than the app itself; and an explicitly-`files`-listed
package directory bypasses .npmignore for its subpaths, so `.next/cache`
was inflating the npm tarball to ~670MB (now stripped in `prepack`, ~7MB).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-16 11:03:25 +02:00

1020 B

TriggerShell web app

This directory is both the Next.js app and the home of the triggershell CLI (bin/triggershell.jssrc/cli) that launches it — together they're published as one npm package. The app is still not meant to be run standalone with next dev/next start, since it needs a custom server (server.ts) for the WebSocket endpoint; use the CLI (triggershell start) or the pnpm scripts below instead.

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 test         # CLI unit tests (src/cli/**/*.test.ts)
pnpm db:studio    # browse the SQLite database

Note: this is the contributor workflow for developing TriggerShell itself. End users install and run the published triggershell CLI instead (see the root README).