trigger-config

Настройка проектов Trigger.dev с помощью trigger.config.ts. Используется при настройке расширений сборки для Prisma, Playwright, FFmpeg, Python или кастомизации развертывания…

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.

Больше skills от triggerdotdev

trigger-dev-tasks
triggerdotdev
Используйте этот навык при написании, проектировании или оптимизации фоновых задач и рабочих процессов Trigger.dev. Это включает создание надежных асинхронных задач, реализацию AI…
official
trigger-authoring-chat-agent
triggerdotdev
Создавайте и запускайте долговечного AI-чат-агента с chat.agent из @trigger.dev/sdk/ai: цикл выполнения на каждом шаге, почему ОБЯЗАТЕЛЬНО нужно разворачивать ...chat.toStreamTextOptions()…
official
trigger-agents
triggerdotdev
Шаблоны AI-агентов с Trigger.dev — оркестрация, параллелизация, маршрутизация, оценщик-оптимизатор и человек в цикле. Используйте при создании задач на основе LLM…
official
trigger-cost-savings
triggerdotdev
Анализировать задачи, расписания и запуски Trigger.dev для выявления возможностей оптимизации затрат. Используйте, когда требуется сократить расходы, оптимизировать затраты, провести аудит использования, подобрать оптимальные параметры…
official
trigger-realtime
triggerdotdev
Подписывайтесь на выполнение задач Trigger.dev в реальном времени с фронтенда и бэкенда. Используйте при создании индикаторов прогресса, живых дашбордов, потоковых ответов AI/LLM,…
official
trigger-setup
triggerdotdev
Настройка Trigger.dev в вашем проекте. Используйте при первом добавлении Trigger.dev, создании trigger.config.ts или инициализации директории trigger.
official
trigger-tasks
triggerdotdev
Создавайте AI-агентов, рабочие процессы и долговременные фоновые задачи с помощью Trigger.dev. Используйте при создании задач, запуске заданий, обработке повторных попыток, планировании cron-задач или…
official
agents
triggerdotdev
Шаблоны AI-агентов с Trigger.dev — оркестрация, параллелизация, маршрутизация, оценщик-оптимизатор и человек в цикле. Используйте при создании задач на основе LLM…
official