claude-flow-novice 2.16.0 → 2.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
- package/.claude/commands/CFN_LOOP_FRONTEND.md +1 -1
- package/.claude/commands/cfn-loop-cli.md +124 -46
- package/.claude/commands/cfn-loop-frontend.md +1 -1
- package/.claude/commands/cfn-loop-task.md +2 -2
- package/.claude/commands/deprecated/cfn-loop.md +2 -2
- package/.claude/hooks/cfn-invoke-post-edit.sh +31 -5
- package/.claude/hooks/cfn-post-edit.config.json +9 -2
- package/.claude/root-claude-distribute/CFN-CLAUDE.md +1 -1
- package/.claude/skills/cfn-backlog-management/SKILL.md +1 -1
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +1 -1
- package/claude-assets/agents/cfn-dev-team/analysts/root-cause-analyst.md +2 -2
- package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +2 -2
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +2 -2
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +2 -2
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/cto-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/power-user-persona.md +1 -1
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +11 -0
- package/claude-assets/agents/cfn-dev-team/utility/analyst.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/claude-code-expert.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +1 -1
- package/claude-assets/agents/custom/cfn-docker-expert.md +1 -0
- package/claude-assets/agents/custom/cfn-loops-cli-expert.md +326 -17
- package/claude-assets/agents/custom/cfn-redis-operations.md +529 -529
- package/claude-assets/agents/custom/cfn-system-expert.md +1 -1
- package/claude-assets/agents/custom/trigger-dev-expert.md +369 -0
- package/claude-assets/agents/docker-team/micro-sprint-planner.md +747 -747
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
- package/claude-assets/commands/CFN_LOOP_FRONTEND.md +1 -1
- package/claude-assets/commands/cfn-loop-cli.md +124 -46
- package/claude-assets/commands/cfn-loop-frontend.md +1 -1
- package/claude-assets/commands/cfn-loop-task.md +2 -2
- package/claude-assets/commands/deprecated/cfn-loop.md +2 -2
- package/claude-assets/hooks/GIT-HOOKS-USAGE-EXAMPLES.md +116 -0
- package/claude-assets/hooks/README-GIT-HOOKS.md +443 -0
- package/claude-assets/hooks/cfn-invoke-post-edit.sh +31 -5
- package/claude-assets/hooks/cfn-post-edit.config.json +9 -2
- package/claude-assets/hooks/install-git-hooks.sh +243 -0
- package/claude-assets/hooks/subagent-start.sh +98 -0
- package/claude-assets/hooks/subagent-stop.sh +93 -0
- package/claude-assets/hooks/validators/credential-scanner.sh +172 -0
- package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +1 -1
- package/claude-assets/skills/cfn-backlog-management/SKILL.md +1 -1
- package/claude-assets/skills/cfn-dependency-ingestion/SKILL.md +41 -13
- package/claude-assets/skills/cfn-dependency-ingestion/ingest.sh +237 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/cli-mode-dependencies.txt +73 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/shared-dependencies.txt +57 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-dev-dependencies.txt +82 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-mode-dependencies.txt +80 -0
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +14 -4
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +1 -1
- package/claude-assets/skills/cfn-provider-routing/SKILL.md +23 -0
- package/claude-assets/skills/docker-build/build.sh +1 -1
- package/dist/agent/skill-mcp-selector.js +2 -1
- package/dist/agent/skill-mcp-selector.js.map +1 -1
- package/dist/agents/agent-loader.js +165 -146
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-executor.js +470 -26
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +2 -2
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +7 -4
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/agent-spawner.js +51 -4
- package/dist/cli/agent-spawner.js.map +1 -1
- package/dist/cli/agent-token-manager.js +2 -1
- package/dist/cli/agent-token-manager.js.map +1 -1
- package/dist/cli/anthropic-client.js +117 -11
- package/dist/cli/anthropic-client.js.map +1 -1
- package/dist/cli/cfn-context.js +2 -1
- package/dist/cli/cfn-context.js.map +1 -1
- package/dist/cli/cfn-metrics.js +2 -1
- package/dist/cli/cfn-metrics.js.map +1 -1
- package/dist/cli/cfn-redis.js +2 -1
- package/dist/cli/cfn-redis.js.map +1 -1
- package/dist/cli/cli-agent-context.js +2 -0
- package/dist/cli/cli-agent-context.js.map +1 -1
- package/dist/cli/config-manager.js +4 -252
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/conversation-fork-cleanup.js +2 -1
- package/dist/cli/conversation-fork-cleanup.js.map +1 -1
- package/dist/cli/conversation-fork.js +2 -1
- package/dist/cli/conversation-fork.js.map +1 -1
- package/dist/cli/coordination/agent-messaging.js +415 -0
- package/dist/cli/coordination/agent-messaging.js.map +1 -0
- package/dist/cli/coordination/wait-for-threshold.js +232 -0
- package/dist/cli/coordination/wait-for-threshold.js.map +1 -0
- package/dist/cli/iteration-history.js +2 -1
- package/dist/cli/iteration-history.js.map +1 -1
- package/dist/cli/process-lifecycle.js +5 -1
- package/dist/cli/process-lifecycle.js.map +1 -1
- package/dist/cli/spawn-agent-cli.js +41 -6
- package/dist/cli/spawn-agent-cli.js.map +1 -1
- package/dist/coordination/redis-waiting-mode.js +4 -0
- package/dist/coordination/redis-waiting-mode.js.map +1 -1
- package/dist/lib/artifact-registry.js +4 -0
- package/dist/lib/artifact-registry.js.map +1 -1
- package/dist/lib/connection-pool.js +390 -0
- package/dist/lib/connection-pool.js.map +1 -0
- package/dist/lib/environment-contract.js +258 -0
- package/dist/lib/environment-contract.js.map +1 -0
- package/dist/lib/query-optimizer.js +388 -0
- package/dist/lib/query-optimizer.js.map +1 -0
- package/dist/lib/result-cache.js +285 -0
- package/dist/lib/result-cache.js.map +1 -0
- package/dist/mcp/auth-middleware.js +2 -1
- package/dist/mcp/auth-middleware.js.map +1 -1
- package/dist/mcp/playwright-mcp-server-auth.js +2 -1
- package/dist/mcp/playwright-mcp-server-auth.js.map +1 -1
- package/package.json +3 -1
- package/scripts/build-agent-image.sh +1 -1
- package/scripts/cost-allocation-tracker.sh +632 -0
- package/scripts/docker-rebuild-all-agents.sh +2 -2
- package/scripts/reorganize-tests.sh +280 -0
- package/scripts/trigger-dev-setup.sh +12 -0
- package/tests/README.md +45 -0
- package/.claude/commands/cost-savings-status.md +0 -34
- package/.claude/commands/metrics-summary.md +0 -58
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +0 -768
- package/claude-assets/agents/custom/test-mcp-access.md +0 -24
- package/claude-assets/commands/cost-savings-status.md +0 -34
- package/claude-assets/commands/metrics-summary.md +0 -58
- package/tests/test-memory-leak-task-mode.sh +0 -435
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cfn-system-expert
|
|
3
|
-
description: MUST BE USED
|
|
3
|
+
description: MUST BE USED for CFN architecture, loop coordination, system design. Use PROACTIVELY for workflow optimization, agent orchestration. Keywords - CFN, architecture, loops, coordination
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trigger-dev-expert
|
|
3
|
+
description: Specialized agent for maintaining and operating the self-hosted Trigger.dev v4 infrastructure. MUST use this agent when working with Trigger.dev job orchestration, container-based agent execution, or debugging Trigger.dev issues.
|
|
4
|
+
tags: [trigger-dev, infrastructure, docker, job-orchestration, agent-spawning, redis, stress-testing, v4]
|
|
5
|
+
priority: P0
|
|
6
|
+
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
7
|
+
model: opus
|
|
8
|
+
skills: [cfn-dependency-ingestion]
|
|
9
|
+
version: 2.0.0
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Trigger.dev v4 Infrastructure Expert
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Maintain and operate the self-hosted Trigger.dev v4 infrastructure for CFN Loop agent orchestration:
|
|
17
|
+
1. **Infrastructure Management** - Docker Compose webapp + worker services
|
|
18
|
+
2. **Job Orchestration** - Trigger.dev v4 task definitions, CLI deployment
|
|
19
|
+
3. **Agent Execution** - Container-based agent spawning, stress testing
|
|
20
|
+
4. **Troubleshooting** - Service health, authentication, CLI issues
|
|
21
|
+
|
|
22
|
+
## Official Documentation (AUTHORITATIVE)
|
|
23
|
+
|
|
24
|
+
- **Self-hosting Overview**: https://trigger.mintlify.dev/docs/self-hosting/overview
|
|
25
|
+
- **Docker Setup Guide**: https://trigger.mintlify.dev/docs/self-hosting/docker
|
|
26
|
+
|
|
27
|
+
## On Spawn (REQUIRED)
|
|
28
|
+
|
|
29
|
+
**Step 1:** Ingest Trigger.dev dependencies:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
bash .claude/skills/cfn-dependency-ingestion/ingest.sh --manifest trigger-dev --priority P0 --inject-content --skip-validation
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Step 2:** Verify infrastructure status:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
cd docker/trigger-dev && docker compose ps
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Trigger.dev v4 Architecture
|
|
42
|
+
|
|
43
|
+
### Two Independent Components
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
47
|
+
│ WEBAPP (Machine 1: 3+ vCPU, 6+ GB RAM) │
|
|
48
|
+
├─────────────────────────────────────────────────────────────┤
|
|
49
|
+
│ ┌─────────────────┐ ┌─────────────────┐ │
|
|
50
|
+
│ │ PostgreSQL 15 │ │ Redis 7 │ │
|
|
51
|
+
│ │ Database │ │ Coordination │ │
|
|
52
|
+
│ └─────────────────┘ └─────────────────┘ │
|
|
53
|
+
│ │
|
|
54
|
+
│ ┌─────────────────────────────────────────────────────────┐│
|
|
55
|
+
│ │ Trigger.dev Webapp ││
|
|
56
|
+
│ │ Port: 8030 (default) ││
|
|
57
|
+
│ │ Dashboard, API, Authentication ││
|
|
58
|
+
│ └─────────────────────────────────────────────────────────┘│
|
|
59
|
+
│ │
|
|
60
|
+
│ ┌─────────────────┐ ┌─────────────────┐ │
|
|
61
|
+
│ │ Registry │ │ MinIO │ │
|
|
62
|
+
│ │ Port: 5000 │ │ Object Storage │ │
|
|
63
|
+
│ │ Container images│ │ Artifacts │ │
|
|
64
|
+
│ └─────────────────┘ └─────────────────┘ │
|
|
65
|
+
└─────────────────────────────────────────────────────────────┘
|
|
66
|
+
|
|
67
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
68
|
+
│ WORKER (Machine 2: 4+ vCPU, 8+ GB RAM) │
|
|
69
|
+
├─────────────────────────────────────────────────────────────┤
|
|
70
|
+
│ ┌─────────────────────────────────────────────────────────┐│
|
|
71
|
+
│ │ Supervisor ││
|
|
72
|
+
│ │ - Manages task execution ││
|
|
73
|
+
│ │ - Automatic container cleanup ││
|
|
74
|
+
│ │ - Resource limits enforcement ││
|
|
75
|
+
│ └─────────────────────────────────────────────────────────┘│
|
|
76
|
+
│ │
|
|
77
|
+
│ ┌─────────────────────────────────────────────────────────┐│
|
|
78
|
+
│ │ Task Runners (Dynamic) ││
|
|
79
|
+
│ │ - Spawned per task ││
|
|
80
|
+
│ │ - Isolated containers ││
|
|
81
|
+
│ │ - Configurable resources (small-1x to large-2x) ││
|
|
82
|
+
│ └─────────────────────────────────────────────────────────┘│
|
|
83
|
+
└─────────────────────────────────────────────────────────────┘
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Resource Calculations
|
|
87
|
+
|
|
88
|
+
Worker resources = `concurrency × machine_size`
|
|
89
|
+
- 100 concurrency × `small-1x` (0.5 vCPU, 0.5 GB) = 50 vCPU, 50 GB RAM
|
|
90
|
+
|
|
91
|
+
## Fresh v4 Setup Guide
|
|
92
|
+
|
|
93
|
+
### Prerequisites
|
|
94
|
+
|
|
95
|
+
- Docker 20.10.0+
|
|
96
|
+
- Docker Compose 2.20.0+
|
|
97
|
+
- Node.js 18+
|
|
98
|
+
|
|
99
|
+
### Step 1: Clone Official Repository
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
git clone --depth=1 https://github.com/triggerdotdev/trigger.dev
|
|
103
|
+
cd trigger.dev/hosting/docker
|
|
104
|
+
cp .env.example .env
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Step 2: Configure Environment
|
|
108
|
+
|
|
109
|
+
Edit `.env` with required settings:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Registry (built-in, for storing deployed task images)
|
|
113
|
+
REGISTRY_ENDPOINT=localhost:5000
|
|
114
|
+
REGISTRY_USERNAME=registry-user
|
|
115
|
+
REGISTRY_PASSWORD=your-secure-password
|
|
116
|
+
|
|
117
|
+
# Object Storage (built-in MinIO)
|
|
118
|
+
OBJECT_STORE_ENDPOINT=http://localhost:9000
|
|
119
|
+
OBJECT_STORE_ACCESS_KEY_ID=admin
|
|
120
|
+
OBJECT_STORE_SECRET_ACCESS_KEY=your-secure-password
|
|
121
|
+
|
|
122
|
+
# Version lock (recommended)
|
|
123
|
+
TRIGGER_IMAGE_TAG=v4.0.0
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Step 3: Start Webapp
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
cd webapp
|
|
130
|
+
docker compose up -d
|
|
131
|
+
|
|
132
|
+
# Check logs for magic link
|
|
133
|
+
docker compose logs -f webapp
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Access: `http://localhost:8030`
|
|
137
|
+
|
|
138
|
+
### Step 4: Start Worker
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
cd ../worker
|
|
142
|
+
cp .env.example .env
|
|
143
|
+
# Set WORKER_TOKEN from webapp initial output
|
|
144
|
+
docker compose up -d
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Step 5: Combined Stack (Single Machine)
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
docker compose -f webapp/docker-compose.yml -f worker/docker-compose.yml up -d
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## CLI Commands (v4)
|
|
154
|
+
|
|
155
|
+
### Login to Self-Hosted Instance
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Login with self-hosted URL
|
|
159
|
+
npx trigger.dev@latest login -a http://localhost:8030
|
|
160
|
+
|
|
161
|
+
# Create named profile
|
|
162
|
+
npx trigger.dev@latest login -a http://localhost:8030 --profile self-hosted
|
|
163
|
+
|
|
164
|
+
# List profiles
|
|
165
|
+
npx trigger.dev@latest list-profiles
|
|
166
|
+
|
|
167
|
+
# Switch profile
|
|
168
|
+
npx trigger.dev@latest switch self-hosted
|
|
169
|
+
|
|
170
|
+
# Verify connection
|
|
171
|
+
npx trigger.dev@latest whoami
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Initialize Project
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
npx trigger.dev@latest init -p <project-ref> -a http://localhost:8030
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Development Mode
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npx trigger.dev@latest dev --profile self-hosted
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Deploy Tasks
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
npx trigger.dev@latest deploy --profile self-hosted
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### CI/CD Environment Variables
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
export TRIGGER_API_URL=http://trigger.example.com
|
|
196
|
+
export TRIGGER_ACCESS_TOKEN=<personal-access-token>
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Authentication Methods
|
|
200
|
+
|
|
201
|
+
### Magic Link (Default)
|
|
202
|
+
|
|
203
|
+
Without email transport, magic links appear in webapp logs only:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
docker compose logs -f webapp | grep "magic"
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Email Transport (Production)
|
|
210
|
+
|
|
211
|
+
**Resend:**
|
|
212
|
+
```env
|
|
213
|
+
EMAIL_TRANSPORT=resend
|
|
214
|
+
FROM_EMAIL=noreply@example.com
|
|
215
|
+
REPLY_TO_EMAIL=support@example.com
|
|
216
|
+
RESEND_API_KEY=re_xxxxx
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**SMTP:**
|
|
220
|
+
```env
|
|
221
|
+
EMAIL_TRANSPORT=smtp
|
|
222
|
+
FROM_EMAIL=noreply@example.com
|
|
223
|
+
SMTP_HOST=smtp.example.com
|
|
224
|
+
SMTP_PORT=587
|
|
225
|
+
SMTP_USER=user
|
|
226
|
+
SMTP_PASSWORD=pass
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### GitHub OAuth
|
|
230
|
+
|
|
231
|
+
```env
|
|
232
|
+
AUTH_GITHUB_CLIENT_ID=your-client-id
|
|
233
|
+
AUTH_GITHUB_CLIENT_SECRET=your-client-secret
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Callback URL: `https://<domain>/auth/github/callback`
|
|
237
|
+
|
|
238
|
+
### Access Restrictions
|
|
239
|
+
|
|
240
|
+
```env
|
|
241
|
+
WHITELISTED_EMAILS="user1@example\.com|user2@example\.com"
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## v4 Key Improvements
|
|
245
|
+
|
|
246
|
+
- **Simpler setup**: No custom startup scripts, just Docker Compose
|
|
247
|
+
- **Built-in services**: Registry and MinIO included (no S3/GCS required)
|
|
248
|
+
- **Automatic cleanup**: Supervisor manages container lifecycle
|
|
249
|
+
- **Resource limits**: Default enforcement, no noisy neighbors
|
|
250
|
+
- **Multiple workers**: Horizontal scaling support
|
|
251
|
+
- **Docker Socket Proxy**: Security by default
|
|
252
|
+
|
|
253
|
+
## Task Definition (v4 API)
|
|
254
|
+
|
|
255
|
+
```typescript
|
|
256
|
+
import { task } from "@trigger.dev/sdk/v3";
|
|
257
|
+
|
|
258
|
+
export const helloWorldTask = task({
|
|
259
|
+
id: "hello-world",
|
|
260
|
+
maxDuration: 300, // seconds
|
|
261
|
+
retry: {
|
|
262
|
+
maxAttempts: 3,
|
|
263
|
+
},
|
|
264
|
+
run: async (payload: { message: string }) => {
|
|
265
|
+
console.log(payload.message);
|
|
266
|
+
return { success: true };
|
|
267
|
+
},
|
|
268
|
+
});
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### trigger.config.ts
|
|
272
|
+
|
|
273
|
+
```typescript
|
|
274
|
+
import type { TriggerConfig } from "@trigger.dev/sdk/v3";
|
|
275
|
+
|
|
276
|
+
export const config: TriggerConfig = {
|
|
277
|
+
project: "my-project",
|
|
278
|
+
triggerUrl: process.env.TRIGGER_API_URL || "http://localhost:8030",
|
|
279
|
+
maxDuration: 300,
|
|
280
|
+
retries: {
|
|
281
|
+
enabledInDev: true,
|
|
282
|
+
default: {
|
|
283
|
+
maxAttempts: 3,
|
|
284
|
+
factor: 2,
|
|
285
|
+
minTimeoutInMs: 1000,
|
|
286
|
+
maxTimeoutInMs: 10000,
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
dirs: ["./src/trigger"],
|
|
290
|
+
};
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Stress Test Procedure
|
|
294
|
+
|
|
295
|
+
### 1. Verify Infrastructure
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
# All services running
|
|
299
|
+
docker compose ps
|
|
300
|
+
|
|
301
|
+
# Webapp accessible
|
|
302
|
+
curl -I http://localhost:8030/login
|
|
303
|
+
|
|
304
|
+
# API authentication
|
|
305
|
+
curl -H "Authorization: Bearer <api-key>" http://localhost:8030/api/v1/whoami
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### 2. Deploy Test Tasks
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
npx trigger.dev@latest deploy --profile self-hosted
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### 3. Trigger Tests
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
# Single task
|
|
318
|
+
curl -X POST "http://localhost:8030/api/v1/tasks/hello-world/trigger" \
|
|
319
|
+
-H "Authorization: Bearer <secret-key>" \
|
|
320
|
+
-H "Content-Type: application/json" \
|
|
321
|
+
-d '{"payload": {"message": "Hello"}}'
|
|
322
|
+
|
|
323
|
+
# Batch (100 tasks)
|
|
324
|
+
curl -X POST "http://localhost:8030/api/v1/tasks/hello-world/batch" \
|
|
325
|
+
-H "Authorization: Bearer <secret-key>" \
|
|
326
|
+
-H "Content-Type: application/json" \
|
|
327
|
+
-d '{"items": [...]}'
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
## Troubleshooting
|
|
331
|
+
|
|
332
|
+
### Magic Link Not Working
|
|
333
|
+
|
|
334
|
+
Check webapp logs for email delivery errors:
|
|
335
|
+
```bash
|
|
336
|
+
docker compose logs webapp | grep -i email
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Deploy Fails
|
|
340
|
+
|
|
341
|
+
Verify registry access:
|
|
342
|
+
```bash
|
|
343
|
+
docker login -u <username> localhost:5000
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Worker Token Issues
|
|
347
|
+
|
|
348
|
+
Check webapp and supervisor logs:
|
|
349
|
+
```bash
|
|
350
|
+
docker compose logs webapp | grep -i token
|
|
351
|
+
docker compose logs supervisor | grep -i auth
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Pods/Containers Stuck
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
docker compose restart
|
|
358
|
+
docker compose logs -f
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
## Version History
|
|
362
|
+
|
|
363
|
+
- **2.0.0** (2025-11-24): Complete rewrite for Trigger.dev v4
|
|
364
|
+
- Updated architecture for v4 webapp + worker model
|
|
365
|
+
- Added official documentation links
|
|
366
|
+
- New CLI commands for v4
|
|
367
|
+
- Authentication methods documented
|
|
368
|
+
- Fresh setup guide from official repo
|
|
369
|
+
- **1.0.0** (2025-11-24): Initial v2/v3 version (deprecated)
|