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>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# TriggerShell configuration.
|
||||
# Full reference: https://dev.pivoine.art/valknar/triggershell.git (see docs/CONFIG_REFERENCE.md)
|
||||
|
||||
server:
|
||||
host: 127.0.0.1
|
||||
port: __PORT__
|
||||
|
||||
auth:
|
||||
enabled: __AUTH_ENABLED__
|
||||
# Must be >= 32 characters if auth is enabled. Kept out of this file - `triggershell init`
|
||||
# generated one into .env (TRIGGERSHELL_SESSION_SECRET) alongside this config.
|
||||
sessionSecret: "${TRIGGERSHELL_SESSION_SECRET}"
|
||||
sessionTtlHours: 12
|
||||
users: []
|
||||
# Add a user with: triggershell users add <username>
|
||||
tokens: []
|
||||
# Add an API token with: triggershell users add-token <name>
|
||||
|
||||
database:
|
||||
path: .triggershell/triggershell.db
|
||||
|
||||
logs:
|
||||
dir: .triggershell/logs
|
||||
retentionDays: 30
|
||||
|
||||
scripts: []
|
||||
# Add scripts like:
|
||||
# scripts:
|
||||
# - id: hello-world
|
||||
# name: Hello World
|
||||
# description: A minimal example script.
|
||||
# command: echo
|
||||
# args: ["Hello, TriggerShell!"]
|
||||
# timeoutSeconds: 60
|
||||
# variables: []
|
||||
Reference in New Issue
Block a user