trigger-config

Trigger.dev-Projekte mit trigger.config.ts konfigurieren. Verwenden beim Einrichten von Build-Erweiterungen für Prisma, Playwright, FFmpeg, Python oder beim Anpassen der Bereitstellung…

npx skills add https://github.com/triggerdotdev/skills --skill trigger-config

Trigger.dev Configuration

Configure your Trigger.dev project with trigger.config.ts and build extensions.

When to Use

  • Setting up a new Trigger.dev project
  • Adding database support (Prisma, TypeORM)
  • Configuring browser automation (Playwright, Puppeteer)
  • Adding media processing (FFmpeg)
  • Running Python scripts from tasks
  • Syncing environment variables
  • Installing system packages

Basic Configuration

// trigger.config.ts
import { defineConfig } from "@trigger.dev/sdk";

export default defineConfig({
  project: "<project-ref>",
  dirs: ["./trigger"],
  runtime: "node", // "node", "node-22", or "bun"
  logLevel: "info",

  retries: {
    enabledInDev: false,
    default: {
      maxAttempts: 3,
      minTimeoutInMs: 1000,
      maxTimeoutInMs: 10000,
      factor: 2,
    },
  },

  build: {
    extensions: [], // Add extensions here
  },
});

Common Build Extensions

Prisma

import { prismaExtension } from "@trigger.dev/build/extensions/prisma";

export default defineConfig({
  // ...
  build: {
    extensions: [
      prismaExtension({
        schema: "prisma/schema.prisma",
        migrate: true,
        directUrlEnvVarName: "DIRECT_DATABASE_URL",
      }),
    ],
  },
});

Playwright (Browser Automation)

import { playwright } from "@trigger.dev/build/extensions/playwright";

extensions: [
  playwright({
    browsers: ["chromium"], // or ["chromium", "firefox", "webkit"]
  }),
]

Puppeteer

import { puppeteer } from "@trigger.dev/build/extensions/puppeteer";

extensions: [puppeteer()]

// Set env var: PUPPETEER_EXECUTABLE_PATH="/usr/bin/google-chrome-stable"

FFmpeg (Media Processing)

import { ffmpeg } from "@trigger.dev/build/extensions/core";

extensions: [
  ffmpeg({ version: "7" }),
]
// Automatically sets FFMPEG_PATH and FFPROBE_PATH

Python

import { pythonExtension } from "@trigger.dev/build/extensions/python";

extensions: [
  pythonExtension({
    scripts: ["./python/**/*.py"],
    requirementsFile: "./requirements.txt",
    devPythonBinaryPath: ".venv/bin/python",
  }),
]

// Usage in tasks:
const result = await python.runScript("./python/process.py", ["arg1"]);

System Packages (apt-get)

import { aptGet } from "@trigger.dev/build/extensions/core";

extensions: [
  aptGet({
    packages: ["imagemagick", "curl"],
  }),
]

Additional Files

import { additionalFiles } from "@trigger.dev/build/extensions/core";

extensions: [
  additionalFiles({
    files: ["./assets/**", "./templates/**"],
  }),
]

Environment Variable Sync

import { syncEnvVars } from "@trigger.dev/build/extensions/core";

extensions: [
  syncEnvVars(async (ctx) => {
    return [
      { name: "API_KEY", value: await getSecret(ctx.environment) },
      { name: "ENV", value: ctx.environment },
    ];
  }),
]

Common Extension Combinations

Full-Stack Web App

extensions: [
  prismaExtension({ schema: "prisma/schema.prisma", migrate: true }),
  additionalFiles({ files: ["./assets/**"] }),
  syncEnvVars(async (ctx) => [...envVars]),
]

AI/ML Processing

extensions: [
  pythonExtension({
    scripts: ["./ai/**/*.py"],
    requirementsFile: "./requirements.txt",
  }),
  ffmpeg({ version: "7" }),
]

Web Scraping

extensions: [
  playwright({ browsers: ["chromium"] }),
  additionalFiles({ files: ["./selectors.json"] }),
]

Global Lifecycle Hooks

export default defineConfig({
  // ...
  onStartAttempt: async ({ payload, ctx }) => {
    console.log("Task starting:", ctx.task.id);
  },
  onSuccess: async ({ payload, output, ctx }) => {
    console.log("Task succeeded");
  },
  onFailure: async ({ payload, error, ctx }) => {
    console.error("Task failed:", error);
  },
});

Machine Defaults

export default defineConfig({
  // ...
  defaultMachine: "medium-1x",
  maxDuration: 300, // seconds
});

Telemetry Integration

import { PrismaInstrumentation } from "@prisma/instrumentation";

export default defineConfig({
  // ...
  telemetry: {
    instrumentations: [new PrismaInstrumentation()],
  },
});

Best Practices

  1. Pin versions for reproducible builds
  2. Use syncEnvVars for dynamic secrets
  3. Add native modules to build.external array
  4. Debug with --log-level debug --dry-run

Extensions only affect deployment, not local development.

See references/config.md for complete documentation.

Mehr Skills von triggerdotdev

trigger-dev-tasks
triggerdotdev
Verwenden Sie diese Fähigkeit beim Schreiben, Entwerfen oder Optimieren von Trigger.dev-Hintergrundaufgaben und Workflows. Dies umfasst das Erstellen zuverlässiger asynchroner Aufgaben, die Implementierung von KI…
official
trigger-authoring-chat-agent
triggerdotdev
Erstellen und betreiben Sie einen dauerhaften KI-Chat-Agenten mit chat.agent von @trigger.dev/sdk/ai: die Pro-Durchlauf-Schleife, warum Sie ...chat.toStreamTextOptions()… unbedingt verteilen müssen
official
trigger-agents
triggerdotdev
KI-Agentenmuster mit Trigger.dev - Orchestrierung, Parallelisierung, Routing, Evaluator-Optimierer und Human-in-the-Loop. Verwenden Sie dies beim Erstellen von LLM-gestützten Aufgaben…
official
trigger-cost-savings
triggerdotdev
Analysiere Trigger.dev-Aufgaben, Zeitpläne und Ausführungen auf Möglichkeiten zur Kostenoptimierung. Verwende dies, wenn du gebeten wirst, Ausgaben zu reduzieren, Kosten zu optimieren, die Nutzung zu prüfen, die Größe anzupassen…
official
trigger-realtime
triggerdotdev
Abonnieren Sie Trigger.dev-Task-Ausführungen in Echtzeit von Frontend und Backend. Verwenden Sie dies beim Erstellen von Fortschrittsanzeigen, Live-Dashboards, Streaming von KI/LLM-Antworten,…
official
trigger-setup
triggerdotdev
Richten Sie Trigger.dev in Ihrem Projekt ein. Verwenden Sie dies, wenn Sie Trigger.dev zum ersten Mal hinzufügen, trigger.config.ts erstellen oder das trigger-Verzeichnis initialisieren.
official
trigger-tasks
triggerdotdev
Erstellen Sie KI-Agenten, Workflows und dauerhafte Hintergrundaufgaben mit Trigger.dev. Verwenden Sie dies beim Erstellen von Aufgaben, Auslösen von Jobs, Handhaben von Wiederholungen, Planen von Cron-Jobs oder…
official
agents
triggerdotdev
KI-Agentenmuster mit Trigger.dev - Orchestrierung, Parallelisierung, Routing, Evaluator-Optimizer und Human-in-the-Loop. Verwenden Sie dies beim Erstellen von LLM-gestützten Aufgaben…
official