trigger-config

द्वारा triggerdotdev

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.

triggerdotdev की और Skills

trigger-dev-tasks
triggerdotdev
Trigger.dev बैकग्राउंड टास्क और वर्कफ़्लो लिखने, डिज़ाइन करने या ऑप्टिमाइज़ करते समय इस स्किल का उपयोग करें। इसमें विश्वसनीय एसिंक टास्क बनाना, AI लागू करना... शामिल है।
official
trigger-authoring-chat-agent
triggerdotdev
@trigger.dev/sdk/ai से chat.agent के साथ एक टिकाऊ AI चैट एजेंट लिखें और चलाएं: प्रति-टर्न रन लूप, क्यों आपको ...chat.toStreamTextOptions() को फैलाना अनिवार्य है…
official
trigger-agents
triggerdotdev
Trigger.dev के साथ AI एजेंट पैटर्न - ऑर्केस्ट्रेशन, समानांतरीकरण, रूटिंग, मूल्यांकनकर्ता-अनुकूलक, और मानव-इन-द-लूप। 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
Trigger.dev के साथ AI एजेंट, वर्कफ़्लो और टिकाऊ बैकग्राउंड कार्य बनाएँ। कार्य बनाते समय, जॉब ट्रिगर करते समय, रीट्राइज़ संभालते समय, क्रॉन जॉब शेड्यूल करते समय, या…
official
agents
triggerdotdev
Trigger.dev के साथ AI एजेंट पैटर्न - ऑर्केस्ट्रेशन, समानांतरीकरण, रूटिंग, मूल्यांकनकर्ता-अनुकूलक, और मानव-इन-द-लूप। LLM-संचालित कार्यों के निर्माण में उपयोग करें…
official