From architect
SDL generators for Docker Compose, Kubernetes, Monitoring, Nginx, and Deploy Diagram
npx claudepluginhub navraj007in/architecture-cowork-plugin --plugin architectThis skill uses the workspace's default tool permissions.
SDL-driven, deterministic generators that produce production-ready infrastructure configs. Same input always produces identical output.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
SDL-driven, deterministic generators that produce production-ready infrastructure configs. Same input always produces identical output.
Input: Compiled SDL document
Output: YAML/JSON config files in artifacts/ directory
Generates a docker-compose.yml for local development with all services, databases, caches, queues, and search.
API: POST /api/sdl/docker-compose — { yaml: string }
Output files:
artifacts/docker/docker-compose.yml — complete service orchestrationartifacts/docker/.env — environment variable templateSDL sections used:
architecture.projects.frontend[] / backend[] — service definitionsdata.primaryDatabase.type — database container (postgres, mysql, mongodb, sqlserver)data.secondaryDatabases[] — additional database containersdata.cache.type — Redis containerdata.queues.provider — queue container (rabbitmq, kafka, redis)data.search.provider — search container (elasticsearch, meilisearch, typesense)auth.identityProvider — auth env vars (Auth0, Clerk, Cognito, Firebase)solution.name — container namingWhat it includes per service:
service_healthy depends_onGenerates production-ready K8s manifests with Deployments, Services, HPA, Ingress, ConfigMap, and Namespace.
API: POST /api/sdl/kubernetes — { yaml: string }
Output files (in artifacts/k8s/):
namespace.yaml — namespace scoped to solution nameconfigmap.yaml — shared config (NODE_ENV, DB_TYPE, AUTH_PROVIDER, REDIS_ENABLED)backend-{name}-deployment.yaml, -service.yaml, -hpa.yamlfrontend-{name}-deployment.yaml, -service.yamlingress.yaml — HTTPS routing with cert-managerSDL sections used:
architecture.projects.backend[] / frontend[] — deployments and servicesnonFunctional.scaling.expectedUsersYear1 — replica count (>50k=5, >10k=3, else=2)solution.domain — ingress hostname (defaults to {slug}.example.com)nonFunctional.security.encryptionInTransit — TLS/cert-manager annotationsdata.primaryDatabase.type — ConfigMap DB_TYPEdata.cache.type — ConfigMap REDIS_ENABLEDauth.identityProvider — ConfigMap AUTH_PROVIDERResource limits:
| Tier | CPU Request | CPU Limit | Memory Request | Memory Limit |
|---|---|---|---|---|
| Backend | 100m | 500m | 128Mi | 512Mi |
| Frontend | 50m | 200m | 64Mi | 256Mi |
HPA: Scales on 70% CPU / 80% memory utilization, max replicas = min × 3
Probes: HTTP GET /health — readiness (5s initial, 10s period), liveness (15s initial, 20s period)
Generates Prometheus scrape config, alert rules, and a Grafana dashboard JSON.
API: POST /api/sdl/monitoring — { yaml: string }
Output files (in artifacts/monitoring/):
prometheus.yml — scrape config with per-service job definitions + node-exporteralert-rules.yml — alerting rules derived from NFRsgrafana-dashboard.json — complete dashboard with per-service panelsSDL sections used:
architecture.projects.backend[] / frontend[] — per-service scrape targets and panelsnonFunctional.availability.target — error budget calculation for HighErrorRate thresholdnonFunctional.performance.apiResponseTime — P95 latency alert thresholddata.primaryDatabase.type — database connection pool alert (postgres/mysql/sqlserver only)integrations.monitoring.provider — metadata onlyAlert rules generated:
| Alert | Trigger | Severity |
|---|---|---|
| HighErrorRate | 5xx rate exceeds error budget | critical |
| HighLatency | P95 > apiResponseTime target | warning |
| ServiceDown_{name} | up{job} == 0 for 1m | critical |
| HighCpuUsage | CPU > 85% for 10m | warning |
| HighMemoryUsage | Memory > 90% for 5m | warning |
| DatabaseConnectionPoolHigh | Pool > 80% for 5m | warning |
Grafana panels: Request rate, error rate, P95 latency, service uptime, per-service CPU/memory, per-service request duration percentiles (P50/P95/P99), database connections.
Generates a reverse proxy config with SSL, gzip, rate limiting, and security headers.
API: POST /api/sdl/nginx — { yaml: string }
Output files (in artifacts/nginx/):
nginx.conf — complete reverse proxy configurationmime.types.conf — MIME type mappingsdocker-compose.nginx.yml — Docker Compose snippet to add nginx serviceSDL sections used:
architecture.projects.backend[] / frontend[] — upstream definitionssolution.domain — server_name for HTTPS blockFeatures:
/api, multiple → /api/{name})//healthGenerates a Mermaid deployment topology diagram from a deployment plan.
Not exposed via dedicated API route — used programmatically by the deploy-planner module.
Input: DeployDiagramInput (not an SDL document directly):
strategy — deployment strategy nameservices[] — array of { name, platform, tier?, estimatedCost, config? }monthlyCost? — { min, max, typical }Output: diagrams/deployment-topology.mmd — Mermaid flowchart
Features:
$X/mo)