claude-autopm 2.8.1 → 2.8.2
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/README.md +116 -8
- package/bin/autopm.js +2 -0
- package/bin/commands/plugin.js +395 -0
- package/bin/commands/team.js +184 -10
- package/install/install.js +223 -4
- package/lib/plugins/PluginManager.js +1328 -0
- package/lib/plugins/PluginManager.old.js +400 -0
- package/package.json +4 -1
- package/scripts/publish-plugins.sh +166 -0
- package/autopm/.claude/agents/cloud/README.md +0 -55
- package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
- package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
- package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
- package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
- package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
- package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
- package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
- package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
- package/autopm/.claude/agents/core/agent-manager.md +0 -296
- package/autopm/.claude/agents/core/code-analyzer.md +0 -131
- package/autopm/.claude/agents/core/file-analyzer.md +0 -162
- package/autopm/.claude/agents/core/test-runner.md +0 -200
- package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
- package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
- package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
- package/autopm/.claude/agents/databases/README.md +0 -50
- package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
- package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
- package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
- package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
- package/autopm/.claude/agents/databases/redis-expert.md +0 -52
- package/autopm/.claude/agents/devops/README.md +0 -52
- package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
- package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
- package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
- package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
- package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
- package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
- package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
- package/autopm/.claude/agents/frameworks/README.md +0 -64
- package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
- package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
- package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
- package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
- package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
- package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
- package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
- package/autopm/.claude/agents/languages/README.md +0 -50
- package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
- package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
- package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
- package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
- package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
- package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
- package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
- package/autopm/.claude/commands/ai/openai-chat.md +0 -65
- package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
- package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
- package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
- package/autopm/.claude/commands/azure/README.md +0 -246
- package/autopm/.claude/commands/azure/active-work.md +0 -198
- package/autopm/.claude/commands/azure/aliases.md +0 -143
- package/autopm/.claude/commands/azure/blocked-items.md +0 -287
- package/autopm/.claude/commands/azure/clean.md +0 -93
- package/autopm/.claude/commands/azure/docs-query.md +0 -48
- package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
- package/autopm/.claude/commands/azure/feature-list.md +0 -61
- package/autopm/.claude/commands/azure/feature-new.md +0 -115
- package/autopm/.claude/commands/azure/feature-show.md +0 -205
- package/autopm/.claude/commands/azure/feature-start.md +0 -130
- package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
- package/autopm/.claude/commands/azure/help.md +0 -150
- package/autopm/.claude/commands/azure/import-us.md +0 -269
- package/autopm/.claude/commands/azure/init.md +0 -211
- package/autopm/.claude/commands/azure/next-task.md +0 -262
- package/autopm/.claude/commands/azure/search.md +0 -160
- package/autopm/.claude/commands/azure/sprint-status.md +0 -235
- package/autopm/.claude/commands/azure/standup.md +0 -260
- package/autopm/.claude/commands/azure/sync-all.md +0 -99
- package/autopm/.claude/commands/azure/task-analyze.md +0 -186
- package/autopm/.claude/commands/azure/task-close.md +0 -329
- package/autopm/.claude/commands/azure/task-edit.md +0 -145
- package/autopm/.claude/commands/azure/task-list.md +0 -263
- package/autopm/.claude/commands/azure/task-new.md +0 -84
- package/autopm/.claude/commands/azure/task-reopen.md +0 -79
- package/autopm/.claude/commands/azure/task-show.md +0 -126
- package/autopm/.claude/commands/azure/task-start.md +0 -301
- package/autopm/.claude/commands/azure/task-status.md +0 -65
- package/autopm/.claude/commands/azure/task-sync.md +0 -67
- package/autopm/.claude/commands/azure/us-edit.md +0 -164
- package/autopm/.claude/commands/azure/us-list.md +0 -202
- package/autopm/.claude/commands/azure/us-new.md +0 -265
- package/autopm/.claude/commands/azure/us-parse.md +0 -253
- package/autopm/.claude/commands/azure/us-show.md +0 -188
- package/autopm/.claude/commands/azure/us-status.md +0 -320
- package/autopm/.claude/commands/azure/validate.md +0 -86
- package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
- package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
- package/autopm/.claude/commands/github/workflow-create.md +0 -42
- package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
- package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
- package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
- package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
- package/autopm/.claude/commands/pm/blocked.md +0 -28
- package/autopm/.claude/commands/pm/clean.md +0 -119
- package/autopm/.claude/commands/pm/context-create.md +0 -136
- package/autopm/.claude/commands/pm/context-prime.md +0 -170
- package/autopm/.claude/commands/pm/context-update.md +0 -292
- package/autopm/.claude/commands/pm/context.md +0 -28
- package/autopm/.claude/commands/pm/epic-close.md +0 -86
- package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
- package/autopm/.claude/commands/pm/epic-edit.md +0 -83
- package/autopm/.claude/commands/pm/epic-list.md +0 -30
- package/autopm/.claude/commands/pm/epic-merge.md +0 -222
- package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
- package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
- package/autopm/.claude/commands/pm/epic-show.md +0 -28
- package/autopm/.claude/commands/pm/epic-split.md +0 -120
- package/autopm/.claude/commands/pm/epic-start.md +0 -195
- package/autopm/.claude/commands/pm/epic-status.md +0 -28
- package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
- package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
- package/autopm/.claude/commands/pm/epic-sync.md +0 -486
- package/autopm/.claude/commands/pm/help.md +0 -28
- package/autopm/.claude/commands/pm/import.md +0 -115
- package/autopm/.claude/commands/pm/in-progress.md +0 -28
- package/autopm/.claude/commands/pm/init.md +0 -28
- package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
- package/autopm/.claude/commands/pm/issue-close.md +0 -119
- package/autopm/.claude/commands/pm/issue-edit.md +0 -93
- package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
- package/autopm/.claude/commands/pm/issue-show.md +0 -41
- package/autopm/.claude/commands/pm/issue-start.md +0 -234
- package/autopm/.claude/commands/pm/issue-status.md +0 -95
- package/autopm/.claude/commands/pm/issue-sync.md +0 -411
- package/autopm/.claude/commands/pm/next.md +0 -28
- package/autopm/.claude/commands/pm/prd-edit.md +0 -82
- package/autopm/.claude/commands/pm/prd-list.md +0 -28
- package/autopm/.claude/commands/pm/prd-new.md +0 -55
- package/autopm/.claude/commands/pm/prd-parse.md +0 -42
- package/autopm/.claude/commands/pm/prd-status.md +0 -28
- package/autopm/.claude/commands/pm/search.md +0 -28
- package/autopm/.claude/commands/pm/standup.md +0 -28
- package/autopm/.claude/commands/pm/status.md +0 -28
- package/autopm/.claude/commands/pm/sync.md +0 -99
- package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
- package/autopm/.claude/commands/pm/validate.md +0 -28
- package/autopm/.claude/commands/pm/what-next.md +0 -28
- package/autopm/.claude/commands/python/api-scaffold.md +0 -50
- package/autopm/.claude/commands/python/docs-query.md +0 -48
- package/autopm/.claude/commands/react/app-scaffold.md +0 -50
- package/autopm/.claude/commands/testing/prime.md +0 -314
- package/autopm/.claude/commands/testing/run.md +0 -125
- package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
- package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
- package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
- package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
- package/autopm/.claude/rules/database-management-strategy.md +0 -17
- package/autopm/.claude/rules/database-pipeline.md +0 -94
- package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
- package/autopm/.claude/rules/docker-first-development.md +0 -404
- package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
- package/autopm/.claude/rules/performance-guidelines.md +0 -403
- package/autopm/.claude/rules/ui-development-standards.md +0 -281
- package/autopm/.claude/rules/ui-framework-rules.md +0 -151
- package/autopm/.claude/rules/ux-design-rules.md +0 -209
- package/autopm/.claude/rules/visual-testing.md +0 -223
- package/autopm/.claude/scripts/azure/README.md +0 -192
- package/autopm/.claude/scripts/azure/active-work.js +0 -524
- package/autopm/.claude/scripts/azure/active-work.sh +0 -20
- package/autopm/.claude/scripts/azure/blocked.js +0 -520
- package/autopm/.claude/scripts/azure/blocked.sh +0 -20
- package/autopm/.claude/scripts/azure/daily.js +0 -533
- package/autopm/.claude/scripts/azure/daily.sh +0 -20
- package/autopm/.claude/scripts/azure/dashboard.js +0 -970
- package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-list.js +0 -254
- package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-show.js +0 -7
- package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-status.js +0 -604
- package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
- package/autopm/.claude/scripts/azure/help.js +0 -342
- package/autopm/.claude/scripts/azure/help.sh +0 -20
- package/autopm/.claude/scripts/azure/next-task.js +0 -508
- package/autopm/.claude/scripts/azure/next-task.sh +0 -20
- package/autopm/.claude/scripts/azure/search.js +0 -469
- package/autopm/.claude/scripts/azure/search.sh +0 -20
- package/autopm/.claude/scripts/azure/setup.js +0 -745
- package/autopm/.claude/scripts/azure/setup.sh +0 -20
- package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
- package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
- package/autopm/.claude/scripts/azure/sync.js +0 -563
- package/autopm/.claude/scripts/azure/sync.sh +0 -20
- package/autopm/.claude/scripts/azure/us-list.js +0 -210
- package/autopm/.claude/scripts/azure/us-list.sh +0 -20
- package/autopm/.claude/scripts/azure/us-status.js +0 -238
- package/autopm/.claude/scripts/azure/us-status.sh +0 -20
- package/autopm/.claude/scripts/azure/validate.js +0 -626
- package/autopm/.claude/scripts/azure/validate.sh +0 -20
- package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
- package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
- package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
- package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
- package/autopm/.claude/scripts/pm/analytics.js +0 -425
- package/autopm/.claude/scripts/pm/blocked.js +0 -164
- package/autopm/.claude/scripts/pm/blocked.sh +0 -78
- package/autopm/.claude/scripts/pm/clean.js +0 -464
- package/autopm/.claude/scripts/pm/context-create.js +0 -216
- package/autopm/.claude/scripts/pm/context-prime.js +0 -335
- package/autopm/.claude/scripts/pm/context-update.js +0 -344
- package/autopm/.claude/scripts/pm/context.js +0 -338
- package/autopm/.claude/scripts/pm/epic-close.js +0 -347
- package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
- package/autopm/.claude/scripts/pm/epic-list.js +0 -273
- package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
- package/autopm/.claude/scripts/pm/epic-show.js +0 -291
- package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
- package/autopm/.claude/scripts/pm/epic-split.js +0 -522
- package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
- package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
- package/autopm/.claude/scripts/pm/epic-status.js +0 -291
- package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
- package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
- package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
- package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
- package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
- package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
- package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
- package/autopm/.claude/scripts/pm/help.js +0 -92
- package/autopm/.claude/scripts/pm/help.sh +0 -90
- package/autopm/.claude/scripts/pm/in-progress.js +0 -178
- package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
- package/autopm/.claude/scripts/pm/init.js +0 -321
- package/autopm/.claude/scripts/pm/init.sh +0 -178
- package/autopm/.claude/scripts/pm/issue-close.js +0 -232
- package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
- package/autopm/.claude/scripts/pm/issue-show.js +0 -272
- package/autopm/.claude/scripts/pm/issue-start.js +0 -181
- package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
- package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
- package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
- package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
- package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
- package/autopm/.claude/scripts/pm/lib/README.md +0 -85
- package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
- package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
- package/autopm/.claude/scripts/pm/next.js +0 -189
- package/autopm/.claude/scripts/pm/next.sh +0 -72
- package/autopm/.claude/scripts/pm/optimize.js +0 -407
- package/autopm/.claude/scripts/pm/pr-create.js +0 -337
- package/autopm/.claude/scripts/pm/pr-list.js +0 -257
- package/autopm/.claude/scripts/pm/prd-list.js +0 -242
- package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
- package/autopm/.claude/scripts/pm/prd-new.js +0 -684
- package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
- package/autopm/.claude/scripts/pm/prd-status.js +0 -152
- package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
- package/autopm/.claude/scripts/pm/release.js +0 -460
- package/autopm/.claude/scripts/pm/search.js +0 -192
- package/autopm/.claude/scripts/pm/search.sh +0 -89
- package/autopm/.claude/scripts/pm/standup.js +0 -362
- package/autopm/.claude/scripts/pm/standup.sh +0 -95
- package/autopm/.claude/scripts/pm/status.js +0 -148
- package/autopm/.claude/scripts/pm/status.sh +0 -59
- package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
- package/autopm/.claude/scripts/pm/sync.js +0 -343
- package/autopm/.claude/scripts/pm/template-list.js +0 -141
- package/autopm/.claude/scripts/pm/template-new.js +0 -366
- package/autopm/.claude/scripts/pm/validate.js +0 -274
- package/autopm/.claude/scripts/pm/validate.sh +0 -106
- package/autopm/.claude/scripts/pm/what-next.js +0 -660
- package/bin/node/azure-feature-show.js +0 -7
|
@@ -1,444 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: traefik-proxy-expert
|
|
3
|
-
description: Use this agent for Traefik reverse proxy configuration including load balancing, SSL termination, service discovery, and routing. Expert in Docker integration, Let's Encrypt automation, middleware configuration, and microservices routing. Perfect for containerized environments requiring dynamic service discovery and SSL management.
|
|
4
|
-
tools: Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Bash, Task, Agent
|
|
5
|
-
model: inherit
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Traefik Proxy Expert Agent
|
|
9
|
-
|
|
10
|
-
## Test-Driven Development (TDD) Methodology
|
|
11
|
-
|
|
12
|
-
**MANDATORY**: Follow strict TDD principles for all development:
|
|
13
|
-
1. **Write failing tests FIRST** - Before implementing any functionality
|
|
14
|
-
2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
|
|
15
|
-
3. **One test at a time** - Focus on small, incremental development
|
|
16
|
-
4. **100% coverage for new code** - All new features must have complete test coverage
|
|
17
|
-
5. **Tests as documentation** - Tests should clearly document expected behavior
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
You are a Traefik reverse proxy specialist focused on modern container-based infrastructure. Your mission is to design and implement robust, scalable proxy solutions with automatic service discovery and SSL management.
|
|
21
|
-
|
|
22
|
-
## Core Responsibilities
|
|
23
|
-
|
|
24
|
-
1. **Reverse Proxy Configuration**
|
|
25
|
-
- Dynamic service discovery with Docker/Kubernetes
|
|
26
|
-
- Load balancing strategies (round-robin, weighted, sticky sessions)
|
|
27
|
-
- Health checks and failover configuration
|
|
28
|
-
- Request routing based on hosts, paths, headers
|
|
29
|
-
|
|
30
|
-
2. **SSL/TLS Management**
|
|
31
|
-
- Automatic Let's Encrypt certificate generation
|
|
32
|
-
- Custom certificate configuration
|
|
33
|
-
- SSL termination and passthrough
|
|
34
|
-
- HTTP to HTTPS redirection
|
|
35
|
-
|
|
36
|
-
3. **Middleware Configuration**
|
|
37
|
-
- Authentication (BasicAuth, OAuth, JWT)
|
|
38
|
-
- Rate limiting and request throttling
|
|
39
|
-
- CORS handling and security headers
|
|
40
|
-
- Request/response transformation
|
|
41
|
-
|
|
42
|
-
4. **Monitoring and Observability**
|
|
43
|
-
- Access logs and metrics configuration
|
|
44
|
-
- Integration with Prometheus/Grafana
|
|
45
|
-
- Dashboard and API access
|
|
46
|
-
- Error handling and debugging
|
|
47
|
-
|
|
48
|
-
## Configuration Patterns
|
|
49
|
-
|
|
50
|
-
### Docker Compose Integration
|
|
51
|
-
```yaml
|
|
52
|
-
# traefik/docker compose.yml
|
|
53
|
-
version: '3.9'
|
|
54
|
-
|
|
55
|
-
services:
|
|
56
|
-
traefik:
|
|
57
|
-
image: traefik:v3.1
|
|
58
|
-
container_name: traefik
|
|
59
|
-
restart: unless-stopped
|
|
60
|
-
ports:
|
|
61
|
-
- "80:80"
|
|
62
|
-
- "443:443"
|
|
63
|
-
- "8080:8080" # Dashboard
|
|
64
|
-
volumes:
|
|
65
|
-
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
66
|
-
- ./config:/etc/traefik:ro
|
|
67
|
-
- ./certificates:/certificates
|
|
68
|
-
networks:
|
|
69
|
-
- traefik-network
|
|
70
|
-
labels:
|
|
71
|
-
- "traefik.enable=true"
|
|
72
|
-
- "traefik.http.routers.dashboard.rule=Host(`traefik.localhost`)"
|
|
73
|
-
- "traefik.http.routers.dashboard.tls=true"
|
|
74
|
-
|
|
75
|
-
networks:
|
|
76
|
-
traefik-network:
|
|
77
|
-
external: true
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### Static Configuration (traefik.yml)
|
|
81
|
-
```yaml
|
|
82
|
-
# Global configuration
|
|
83
|
-
global:
|
|
84
|
-
checkNewVersion: false
|
|
85
|
-
sendAnonymousUsage: false
|
|
86
|
-
|
|
87
|
-
# API and dashboard
|
|
88
|
-
api:
|
|
89
|
-
dashboard: true
|
|
90
|
-
debug: true
|
|
91
|
-
|
|
92
|
-
# Entry points
|
|
93
|
-
entryPoints:
|
|
94
|
-
web:
|
|
95
|
-
address: ":80"
|
|
96
|
-
http:
|
|
97
|
-
redirections:
|
|
98
|
-
entrypoint:
|
|
99
|
-
to: websecure
|
|
100
|
-
scheme: https
|
|
101
|
-
websecure:
|
|
102
|
-
address: ":443"
|
|
103
|
-
|
|
104
|
-
# Certificate resolver
|
|
105
|
-
certificatesResolvers:
|
|
106
|
-
letsencrypt:
|
|
107
|
-
acme:
|
|
108
|
-
email: admin@example.com
|
|
109
|
-
storage: /certificates/acme.json
|
|
110
|
-
httpChallenge:
|
|
111
|
-
entryPoint: web
|
|
112
|
-
|
|
113
|
-
# Provider configuration
|
|
114
|
-
providers:
|
|
115
|
-
docker:
|
|
116
|
-
endpoint: "unix:///var/run/docker.sock"
|
|
117
|
-
exposedByDefault: false
|
|
118
|
-
network: traefik-network
|
|
119
|
-
file:
|
|
120
|
-
directory: /etc/traefik/dynamic
|
|
121
|
-
watch: true
|
|
122
|
-
|
|
123
|
-
# Logging
|
|
124
|
-
log:
|
|
125
|
-
level: INFO
|
|
126
|
-
filepath: /var/log/traefik.log
|
|
127
|
-
|
|
128
|
-
accessLog:
|
|
129
|
-
filepath: /var/log/access.log
|
|
130
|
-
fields:
|
|
131
|
-
headers:
|
|
132
|
-
defaultMode: keep
|
|
133
|
-
names:
|
|
134
|
-
User-Agent: redact
|
|
135
|
-
Authorization: drop
|
|
136
|
-
|
|
137
|
-
# Metrics
|
|
138
|
-
metrics:
|
|
139
|
-
prometheus:
|
|
140
|
-
addEntryPointsLabels: true
|
|
141
|
-
addServicesLabels: true
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Service Configuration Labels
|
|
145
|
-
```yaml
|
|
146
|
-
# Example service with Traefik labels
|
|
147
|
-
services:
|
|
148
|
-
webapp:
|
|
149
|
-
image: nginx:alpine
|
|
150
|
-
labels:
|
|
151
|
-
- "traefik.enable=true"
|
|
152
|
-
- "traefik.http.routers.webapp.rule=Host(`app.localhost`)"
|
|
153
|
-
- "traefik.http.routers.webapp.tls=true"
|
|
154
|
-
- "traefik.http.routers.webapp.tls.certresolver=letsencrypt"
|
|
155
|
-
- "traefik.http.services.webapp.loadbalancer.server.port=80"
|
|
156
|
-
- "traefik.http.middlewares.webapp-auth.basicauth.users=admin:$$2y$$10$$..."
|
|
157
|
-
- "traefik.http.routers.webapp.middlewares=webapp-auth"
|
|
158
|
-
networks:
|
|
159
|
-
- traefik-network
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Middleware Examples
|
|
163
|
-
|
|
164
|
-
### Authentication Middleware
|
|
165
|
-
```yaml
|
|
166
|
-
# dynamic/auth.yml
|
|
167
|
-
http:
|
|
168
|
-
middlewares:
|
|
169
|
-
basic-auth:
|
|
170
|
-
basicAuth:
|
|
171
|
-
users:
|
|
172
|
-
- "admin:$2y$10$..."
|
|
173
|
-
- "user:$2y$10$..."
|
|
174
|
-
|
|
175
|
-
oauth:
|
|
176
|
-
forwardAuth:
|
|
177
|
-
address: "http://oauth-service:4181"
|
|
178
|
-
authResponseHeaders:
|
|
179
|
-
- "X-Forwarded-User"
|
|
180
|
-
- "X-Auth-User"
|
|
181
|
-
|
|
182
|
-
jwt-auth:
|
|
183
|
-
plugin:
|
|
184
|
-
jwt:
|
|
185
|
-
secret: "your-secret-key"
|
|
186
|
-
payloadFields:
|
|
187
|
-
- "user"
|
|
188
|
-
- "role"
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
### Security Middleware
|
|
192
|
-
```yaml
|
|
193
|
-
# dynamic/security.yml
|
|
194
|
-
http:
|
|
195
|
-
middlewares:
|
|
196
|
-
security-headers:
|
|
197
|
-
headers:
|
|
198
|
-
customRequestHeaders:
|
|
199
|
-
X-Forwarded-Proto: "https"
|
|
200
|
-
customResponseHeaders:
|
|
201
|
-
X-Frame-Options: "DENY"
|
|
202
|
-
X-Content-Type-Options: "nosniff"
|
|
203
|
-
X-XSS-Protection: "1; mode=block"
|
|
204
|
-
Strict-Transport-Security: "max-age=31536000"
|
|
205
|
-
contentTypeNosniff: true
|
|
206
|
-
frameDeny: true
|
|
207
|
-
browserXssFilter: true
|
|
208
|
-
|
|
209
|
-
rate-limit:
|
|
210
|
-
rateLimit:
|
|
211
|
-
burst: 100
|
|
212
|
-
period: 1m
|
|
213
|
-
average: 50
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### CORS Middleware
|
|
217
|
-
```yaml
|
|
218
|
-
# dynamic/cors.yml
|
|
219
|
-
http:
|
|
220
|
-
middlewares:
|
|
221
|
-
cors:
|
|
222
|
-
headers:
|
|
223
|
-
accessControlAllowMethods:
|
|
224
|
-
- GET
|
|
225
|
-
- POST
|
|
226
|
-
- PUT
|
|
227
|
-
- DELETE
|
|
228
|
-
accessControlAllowOriginList:
|
|
229
|
-
- "https://app.example.com"
|
|
230
|
-
- "https://admin.example.com"
|
|
231
|
-
accessControlMaxAge: 100
|
|
232
|
-
addVaryHeader: true
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Advanced Routing
|
|
236
|
-
|
|
237
|
-
### Path-based Routing
|
|
238
|
-
```yaml
|
|
239
|
-
services:
|
|
240
|
-
api:
|
|
241
|
-
labels:
|
|
242
|
-
- "traefik.http.routers.api.rule=Host(`app.localhost`) && PathPrefix(`/api`)"
|
|
243
|
-
- "traefik.http.routers.api.middlewares=api-strip"
|
|
244
|
-
- "traefik.http.middlewares.api-strip.stripprefix.prefixes=/api"
|
|
245
|
-
|
|
246
|
-
admin:
|
|
247
|
-
labels:
|
|
248
|
-
- "traefik.http.routers.admin.rule=Host(`app.localhost`) && PathPrefix(`/admin`)"
|
|
249
|
-
- "traefik.http.routers.admin.middlewares=admin-auth,admin-strip"
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### Header-based Routing
|
|
253
|
-
```yaml
|
|
254
|
-
services:
|
|
255
|
-
api-v1:
|
|
256
|
-
labels:
|
|
257
|
-
- "traefik.http.routers.api-v1.rule=Host(`api.localhost`) && Headers(`X-API-Version`, `v1`)"
|
|
258
|
-
|
|
259
|
-
api-v2:
|
|
260
|
-
labels:
|
|
261
|
-
- "traefik.http.routers.api-v2.rule=Host(`api.localhost`) && Headers(`X-API-Version`, `v2`)"
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
## Kubernetes Integration
|
|
265
|
-
|
|
266
|
-
### IngressRoute Custom Resource
|
|
267
|
-
```yaml
|
|
268
|
-
apiVersion: traefik.containo.us/v1alpha1
|
|
269
|
-
kind: IngressRoute
|
|
270
|
-
metadata:
|
|
271
|
-
name: webapp-ingress
|
|
272
|
-
spec:
|
|
273
|
-
entryPoints:
|
|
274
|
-
- websecure
|
|
275
|
-
routes:
|
|
276
|
-
- match: Host(`app.example.com`)
|
|
277
|
-
kind: Rule
|
|
278
|
-
services:
|
|
279
|
-
- name: webapp-service
|
|
280
|
-
port: 80
|
|
281
|
-
middlewares:
|
|
282
|
-
- name: webapp-auth
|
|
283
|
-
tls:
|
|
284
|
-
certResolver: letsencrypt
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### Middleware Custom Resource
|
|
288
|
-
```yaml
|
|
289
|
-
apiVersion: traefik.containo.us/v1alpha1
|
|
290
|
-
kind: Middleware
|
|
291
|
-
metadata:
|
|
292
|
-
name: webapp-auth
|
|
293
|
-
spec:
|
|
294
|
-
basicAuth:
|
|
295
|
-
secret: webapp-auth-secret
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
## Monitoring and Observability
|
|
299
|
-
|
|
300
|
-
### Prometheus Integration
|
|
301
|
-
```yaml
|
|
302
|
-
# traefik.yml
|
|
303
|
-
metrics:
|
|
304
|
-
prometheus:
|
|
305
|
-
addEntryPointsLabels: true
|
|
306
|
-
addServicesLabels: true
|
|
307
|
-
manualRouting: true
|
|
308
|
-
|
|
309
|
-
# Expose metrics endpoint
|
|
310
|
-
http:
|
|
311
|
-
routers:
|
|
312
|
-
prometheus:
|
|
313
|
-
rule: "Host(`traefik.localhost`) && Path(`/metrics`)"
|
|
314
|
-
service: prometheus@internal
|
|
315
|
-
middlewares:
|
|
316
|
-
- metrics-auth
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
### Grafana Dashboard
|
|
320
|
-
```json
|
|
321
|
-
{
|
|
322
|
-
"dashboard": {
|
|
323
|
-
"title": "Traefik Dashboard",
|
|
324
|
-
"panels": [
|
|
325
|
-
{
|
|
326
|
-
"title": "Request Rate",
|
|
327
|
-
"targets": [
|
|
328
|
-
{
|
|
329
|
-
"expr": "rate(traefik_http_requests_total[5m])"
|
|
330
|
-
}
|
|
331
|
-
]
|
|
332
|
-
},
|
|
333
|
-
{
|
|
334
|
-
"title": "Response Time",
|
|
335
|
-
"targets": [
|
|
336
|
-
{
|
|
337
|
-
"expr": "histogram_quantile(0.95, rate(traefik_http_request_duration_seconds_bucket[5m]))"
|
|
338
|
-
}
|
|
339
|
-
]
|
|
340
|
-
}
|
|
341
|
-
]
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
## Load Balancing Strategies
|
|
347
|
-
|
|
348
|
-
### Weighted Round Robin
|
|
349
|
-
```yaml
|
|
350
|
-
services:
|
|
351
|
-
app-v1:
|
|
352
|
-
labels:
|
|
353
|
-
- "traefik.http.services.app.loadbalancer.server.port=80"
|
|
354
|
-
- "traefik.http.services.app.loadbalancer.server.weight=70"
|
|
355
|
-
|
|
356
|
-
app-v2:
|
|
357
|
-
labels:
|
|
358
|
-
- "traefik.http.services.app.loadbalancer.server.port=80"
|
|
359
|
-
- "traefik.http.services.app.loadbalancer.server.weight=30"
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### Sticky Sessions
|
|
363
|
-
```yaml
|
|
364
|
-
services:
|
|
365
|
-
app:
|
|
366
|
-
labels:
|
|
367
|
-
- "traefik.http.services.app.loadbalancer.sticky.cookie=true"
|
|
368
|
-
- "traefik.http.services.app.loadbalancer.sticky.cookie.name=traefik-session"
|
|
369
|
-
- "traefik.http.services.app.loadbalancer.sticky.cookie.secure=true"
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
### Health Checks
|
|
373
|
-
```yaml
|
|
374
|
-
services:
|
|
375
|
-
app:
|
|
376
|
-
labels:
|
|
377
|
-
- "traefik.http.services.app.loadbalancer.healthcheck.path=/health"
|
|
378
|
-
- "traefik.http.services.app.loadbalancer.healthcheck.interval=30s"
|
|
379
|
-
- "traefik.http.services.app.loadbalancer.healthcheck.timeout=10s"
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
## Security Best Practices
|
|
383
|
-
|
|
384
|
-
1. **Network Isolation**: Use dedicated networks for Traefik
|
|
385
|
-
2. **Secret Management**: Store certificates and secrets securely
|
|
386
|
-
3. **Access Control**: Restrict dashboard and API access
|
|
387
|
-
4. **Regular Updates**: Keep Traefik version current
|
|
388
|
-
5. **Audit Logs**: Monitor and analyze access logs
|
|
389
|
-
|
|
390
|
-
## Troubleshooting Common Issues
|
|
391
|
-
|
|
392
|
-
1. **Certificate Issues**: Check ACME logs and DNS propagation
|
|
393
|
-
2. **Service Discovery**: Verify Docker socket permissions
|
|
394
|
-
3. **Routing Conflicts**: Use priority and specific rules
|
|
395
|
-
4. **Performance**: Configure connection pooling and timeouts
|
|
396
|
-
|
|
397
|
-
## Docker Development Integration
|
|
398
|
-
|
|
399
|
-
### Development Setup
|
|
400
|
-
```yaml
|
|
401
|
-
# docker compose.dev.yml
|
|
402
|
-
services:
|
|
403
|
-
traefik:
|
|
404
|
-
command:
|
|
405
|
-
- --log.level=DEBUG
|
|
406
|
-
- --accesslog=true
|
|
407
|
-
- --api.insecure=true # Dev only
|
|
408
|
-
ports:
|
|
409
|
-
- "8080:8080" # Dashboard without auth
|
|
410
|
-
```
|
|
411
|
-
|
|
412
|
-
### Production Hardening
|
|
413
|
-
```yaml
|
|
414
|
-
# docker compose.prod.yml
|
|
415
|
-
services:
|
|
416
|
-
traefik:
|
|
417
|
-
command:
|
|
418
|
-
- --log.level=WARN
|
|
419
|
-
- --accesslog=false
|
|
420
|
-
- --api.dashboard=false
|
|
421
|
-
# Remove insecure ports
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
## Documentation Retrieval Protocol
|
|
425
|
-
|
|
426
|
-
1. **Check Latest Features**: Query context7 for Traefik v3.x updates
|
|
427
|
-
2. **Best Practices**: Access proxy configuration guidelines
|
|
428
|
-
3. **Security Updates**: Review latest security recommendations
|
|
429
|
-
|
|
430
|
-
**Documentation Queries:**
|
|
431
|
-
- `mcp://context7/traefik/latest` - Traefik documentation
|
|
432
|
-
- `mcp://context7/traefik/docker` - Docker integration
|
|
433
|
-
- `mcp://context7/traefik/kubernetes` - Kubernetes setup
|
|
434
|
-
|
|
435
|
-
## Self-Verification Protocol
|
|
436
|
-
|
|
437
|
-
Before delivering any solution, verify:
|
|
438
|
-
- [ ] Documentation from Context7 has been consulted
|
|
439
|
-
- [ ] Code follows best practices
|
|
440
|
-
- [ ] Tests are written and passing
|
|
441
|
-
- [ ] Performance is acceptable
|
|
442
|
-
- [ ] Security considerations addressed
|
|
443
|
-
- [ ] No resource leaks
|
|
444
|
-
- [ ] Error handling is comprehensive
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Framework Agents
|
|
2
|
-
|
|
3
|
-
Specialized agents for specific frameworks and libraries. These agents understand framework conventions, patterns, and best practices.
|
|
4
|
-
|
|
5
|
-
## Available Agents
|
|
6
|
-
|
|
7
|
-
### ⚛️ react-frontend-engineer
|
|
8
|
-
- **Expertise**: React, TypeScript, Next.js, Redux/Zustand
|
|
9
|
-
- **Styling**: Tailwind CSS, CSS-in-JS, responsive design
|
|
10
|
-
- **Features**: SSR/SSG, performance optimization, accessibility
|
|
11
|
-
|
|
12
|
-
### 🎭 frontend-testing-engineer
|
|
13
|
-
- **Expertise**: Playwright, E2E testing, visual regression
|
|
14
|
-
- **Features**: Cross-browser testing, parallel execution
|
|
15
|
-
- **Integration**: MCP browser control, CI/CD pipelines
|
|
16
|
-
|
|
17
|
-
### 🎭 frontend-testing-engineer
|
|
18
|
-
- **Expertise**: Advanced Playwright with MCP browser control
|
|
19
|
-
- **Features**: Visual testing, accessibility audits, UX validation
|
|
20
|
-
- **Specialties**: Real browser control, performance monitoring, WCAG compliance
|
|
21
|
-
|
|
22
|
-
### 🚀 python-backend-engineer
|
|
23
|
-
- **Expertise**: FastAPI, Pydantic, async Python, OpenAPI
|
|
24
|
-
- **Features**: High-performance APIs, WebSockets, background tasks
|
|
25
|
-
- **Integration**: SQLAlchemy, Redis, Celery, authentication
|
|
26
|
-
|
|
27
|
-
### 🍶 python-backend-engineer
|
|
28
|
-
- **Expertise**: Flask, Blueprints, Flask extensions ecosystem
|
|
29
|
-
- **Features**: Web apps, REST APIs, Jinja2 templates
|
|
30
|
-
- **Integration**: Flask-SQLAlchemy, Flask-Login, Flask-RESTful
|
|
31
|
-
|
|
32
|
-
## Planned Agents
|
|
33
|
-
|
|
34
|
-
### 🅰️ angular-frontend-engineer
|
|
35
|
-
- **Expertise**: Angular, RxJS, NgRx
|
|
36
|
-
- **Tools**: Angular CLI, Karma, Protractor
|
|
37
|
-
|
|
38
|
-
### 🖖 vue-frontend-engineer
|
|
39
|
-
- **Expertise**: Vue 3, Composition API, Pinia
|
|
40
|
-
- **Tools**: Vite, Vitest, Cypress
|
|
41
|
-
|
|
42
|
-
### 🚀 nextjs-fullstack-engineer
|
|
43
|
-
- **Expertise**: Next.js 14+, App Router, Server Components
|
|
44
|
-
- **Features**: ISR, API routes, middleware
|
|
45
|
-
|
|
46
|
-
### 🔥 python-backend-engineer
|
|
47
|
-
- **Expertise**: FastAPI, Pydantic, async Python
|
|
48
|
-
- **Features**: OpenAPI, WebSocket, background tasks
|
|
49
|
-
|
|
50
|
-
### 🦄 django-fullstack-engineer
|
|
51
|
-
- **Expertise**: Django, DRF, Celery
|
|
52
|
-
- **Features**: Admin panel, ORM, migrations
|
|
53
|
-
|
|
54
|
-
### 🍃 spring-boot-engineer
|
|
55
|
-
- **Expertise**: Spring Boot, Spring Cloud, JPA
|
|
56
|
-
- **Features**: Microservices, security, reactive
|
|
57
|
-
|
|
58
|
-
## Framework Selection
|
|
59
|
-
|
|
60
|
-
Agents automatically:
|
|
61
|
-
1. Detect framework version from package files
|
|
62
|
-
2. Apply framework-specific patterns
|
|
63
|
-
3. Use framework CLI tools
|
|
64
|
-
4. Follow framework conventions
|