Skip to content
GitHubXDiscord

@triggery/cli

Command-line companion for Triggery. Scaffolds projects, generates trigger files, prints the trigger graph, and runs ESLint with @triggery/eslint-plugin baked in.

npm bundle

pnpm add -D @triggery/cli

Or one-shot via npx @triggery/cli <command>.

CommandPurpose
triggery create <dir> [--template vite-react|next-app|react-native]Scaffold a starter template (defaults to vite-react).
triggery scaffold trigger <name>Generate src/triggers/<name>.trigger.ts with a minimal stub.
triggery graph [dir] --format md|dot|jsonWalk *.trigger.ts files and print the trigger graph.
triggery lint [...paths]Thin wrapper around eslint with @triggery/eslint-plugin’s recommended preset.

Programmatic exports: buildTriggerGraph, renderGraph, scaffoldTrigger, createProject.

# Scaffold a new Vite + React app already wired with @triggery/vite.
triggery create my-chat --template vite-react
cd my-chat && pnpm install && pnpm dev

# Generate a fresh trigger file.
triggery scaffold trigger new-message
# → src/triggers/new-message.trigger.ts

# Render a Markdown graph of every trigger in the project.
triggery graph . --format md > docs/triggers.md

# DOT format for Graphviz.
triggery graph . --format dot --out triggery.dot
dot -Tsvg triggery.dot -o triggery.svg

# Lint with the recommended preset baked in.
triggery lint src --fix

Programmatic API:

import { buildTriggerGraph, renderGraph } from '@triggery/cli';

const nodes = buildTriggerGraph({ cwd: process.cwd() });
console.log(renderGraph(nodes, 'md'));
  • vite-react — Vite + React + @triggery/vite auto-discovery wired in. The default.
  • next-app — Next.js App Router with SSR-safe trigger registration.
  • react-native — Expo + React Native starter.