Skip to main content Skills Marketplace Découvrez et explorez les compétences IA créées par la communauté.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Copier le promptAfficher les détails du prompt Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
npx skills add https://github.com/trycompai/comp --skill trigger-configLa commande reste sur une seule ligne. Faites défiler horizontalement pour la vérifier avant de la copier.
Vous préférez une copie locale ? Téléchargez les fichiers actuellement disponibles dans SkillsMP.
Télécharger Zip Téléchargement... Check code for the most common, high-risk security vulnerabilities (broken access control, tenant isolation, injection, secrets, SSRF, auth/session, unsafe file handling, mass assignment) before it ships. Use after editing any API controller, guard, or auth code (apps/api/src/auth/**), a Prisma schema/query, a file-upload/webhook handler, or before committing/pushing security-sensitive changes.
Métiers associés SOC
Basé sur la classification professionnelle SOC
name trigger-config description Configure your Trigger.dev project with a trigger.config.ts file
Source Cursor rule: .cursor/rules/trigger.config.mdc.
Original file scope: **/trigger.config.ts.
Original Cursor alwaysApply: false.
Trigger.dev Configuration (v4)
Complete guide to configuring trigger.config.ts with build extensions
Basic Configuration
import { defineConfig } from "@trigger.dev/sdk" ;
export default defineConfig ({
project : "<project-ref>" ,
dirs : ["./trigger" ],
runtime : "node" ,
logLevel : "info" ,
retries : {
enabledInDev : false ,
default : {
maxAttempts : 3 ,
minTimeoutInMs : 1000 ,
: ,
: ,
: ,
},
},
: {
: ,
: ,
: ,
: [],
},
: ({ payload, ctx }) => {
. ( );
},
: ({ payload, output, ctx }) => {
. ( );
},
: ({ payload, error, ctx }) => {
. ( );
},
});
maxTimeoutInMs
10000
factor
2
randomize
true
build
autoDetectExternal
true
keepNames
true
minify
false
extensions
onStart
async
console
log
"Global task start"
onSuccess
async
console
log
"Global task success"
onFailure
async
console
log
"Global task failure"
Build Extensions
Database & ORM
Prisma import { prismaExtension } from "@trigger.dev/build/extensions/prisma" ;
extensions : [
prismaExtension ({
schema : "prisma/schema.prisma" ,
version : "5.19.0" ,
migrate : true ,
directUrlEnvVarName : "DIRECT_DATABASE_URL" ,
typedSql : true ,
}),
];
TypeScript Decorators (for TypeORM) import { emitDecoratorMetadata } from "@trigger.dev/build/extensions/typescript" ;
extensions : [
emitDecoratorMetadata (),
];
Scripting Languages
Python import { pythonExtension } from "@trigger.dev/build/extensions/python" ;
extensions : [
pythonExtension ({
scripts : ["./python/**/*.py" ],
requirementsFile : "./requirements.txt" ,
devPythonBinaryPath : ".venv/bin/python" ,
}),
];
const result = await python.runInline (`print("Hello, world!")` );
const output = await python.runScript ("./python/script.py" , ["arg1" ]);
Browser Automation
Playwright import { playwright } from "@trigger.dev/build/extensions/playwright" ;
extensions : [
playwright ({
browsers : ["chromium" , "firefox" , "webkit" ],
headless : true ,
}),
];
Puppeteer import { puppeteer } from "@trigger.dev/build/extensions/puppeteer" ;
extensions : [puppeteer ()];
Lightpanda import { lightpanda } from "@trigger.dev/build/extensions/lightpanda" ;
extensions : [
lightpanda ({
version : "latest" ,
disableTelemetry : false ,
}),
];
Media Processing
FFmpeg import { ffmpeg } from "@trigger.dev/build/extensions/core" ;
extensions : [
ffmpeg ({ version : "7" }),
];
Audio Waveform import { audioWaveform } from "@trigger.dev/build/extensions/audioWaveform" ;
extensions : [
audioWaveform (),
];
System & Package Management
System Packages (apt-get) import { aptGet } from "@trigger.dev/build/extensions/core" ;
extensions : [
aptGet ({
packages : ["ffmpeg" , "imagemagick" , "curl=7.68.0-1" ],
}),
];
Additional NPM Packages Only use this for installing CLI tools, NOT packages you import in your code.
import { additionalPackages } from "@trigger.dev/build/extensions/core" ;
extensions : [
additionalPackages ({
packages : ["wrangler" ],
}),
];
Additional Files import { additionalFiles } from "@trigger.dev/build/extensions/core" ;
extensions : [
additionalFiles ({
files : ["wrangler.toml" , "./assets/**" , "./fonts/**" ],
}),
];
Environment & Build Tools
Environment Variable Sync import { syncEnvVars } from "@trigger.dev/build/extensions/core" ;
extensions : [
syncEnvVars (async (ctx) => {
return [
{ name : "SECRET_KEY" , value : await getSecret (ctx.environment ) },
{ name : "API_URL" , value : ctx.environment === "prod" ? "api.prod.com" : "api.dev.com" },
];
}),
];
ESBuild Plugins import { esbuildPlugin } from "@trigger.dev/build/extensions" ;
import { sentryEsbuildPlugin } from "@sentry/esbuild-plugin" ;
extensions : [
esbuildPlugin (
sentryEsbuildPlugin ({
org : process.env .SENTRY_ORG ,
project : process.env .SENTRY_PROJECT ,
authToken : process.env .SENTRY_AUTH_TOKEN ,
}),
{ placement : "last" , target : "deploy" }
),
];
Custom Build Extensions import { defineConfig } from "@trigger.dev/sdk" ;
const customExtension = {
name : "my-custom-extension" ,
externalsForTarget : (target ) => {
return ["some-native-module" ];
},
onBuildStart : async (context) => {
console .log (`Build starting for ${context.target} ` );
},
onBuildComplete : async (context, manifest) => {
console .log ("Build complete, adding layers" );
context.addLayer ({
id : "my-layer" ,
files : [{ source : "./custom-file" , destination : "/app/custom" }],
commands : ["chmod +x /app/custom" ],
});
},
};
export default defineConfig ({
project : "my-project" ,
build : {
extensions : [customExtension],
},
});
Advanced Configuration
Telemetry import { PrismaInstrumentation } from "@prisma/instrumentation" ;
import { OpenAIInstrumentation } from "@langfuse/openai" ;
export default defineConfig ({
telemetry : {
instrumentations : [new PrismaInstrumentation (), new OpenAIInstrumentation ()],
exporters : [customExporter],
},
});
Machine & Performance export default defineConfig ({
defaultMachine : "large-1x" ,
maxDuration : 300 ,
enableConsoleLogging : true ,
});
Common Extension Combinations
Full-Stack Web App extensions : [
prismaExtension ({ schema : "prisma/schema.prisma" , migrate : true }),
additionalFiles ({ files : ["./public/**" , "./assets/**" ] }),
syncEnvVars (async (ctx) => [...envVars]),
];
AI/ML Processing extensions : [
pythonExtension ({
scripts : ["./ai/**/*.py" ],
requirementsFile : "./requirements.txt" ,
}),
ffmpeg ({ version : "7" }),
additionalPackages ({ packages : ["wrangler" ] }),
];
Web Scraping extensions : [
playwright ({ browsers : ["chromium" ] }),
puppeteer (),
additionalFiles ({ files : ["./selectors.json" , "./proxies.txt" ] }),
];
Best Practices
Use specific versions : Pin extension versions for reproducible builds
External packages : Add modules with native addons to the build.external array
Environment sync : Use syncEnvVars for dynamic secrets
File paths : Use glob patterns for flexible file inclusion
Debug builds : Use --log-level debug --dry-run for troubleshooting
Extensions only affect deployment, not local development. Use external array for packages that shouldn't be bundled.