Generate configuration files for applications, services, and infrastructure. Use when: (1) Setting up new projects (package.json, requirements.txt, tsconfig.json), (2) Creating Docker or Kubernetes configurations, (3) Configuring CI/CD pipelines (GitHub Actions, GitLab CI, CircleCI), (4) Setting up web servers (Nginx, Apache), (5) Defining infrastructure as code (Terraform, CloudFormation), (6) Generating linter/formatter configs (ESLint, Prettier, Black). Provides templates and custom-generated configs for diverse tech stacks.
93
92%
Does it follow best practices?
Impact
97%
1.24xAverage score across 3 eval scenarios
Passed
No known issues
Generate configuration files for applications, services, and infrastructure across various formats and frameworks.
Access ready-to-use configuration templates from assets:
# Docker Compose
cat assets/docker-compose.yml
# Kubernetes
cat assets/kubernetes-deployment.yaml
# GitHub Actions
cat assets/github-actions-workflow.ymlSpecify your requirements to get tailored configuration files.
Node.js (package.json)
{
"name": "my-app",
"version": "1.0.0",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"test": "jest",
"build": "tsc"
},
"dependencies": {
"express": "^4.18.0"
},
"devDependencies": {
"typescript": "^5.0.0",
"jest": "^29.0.0"
}
}Python (requirements.txt)
django==4.2.0
djangorestframework==3.14.0
psycopg2-binary==2.9.5
pytest==7.3.0
black==23.3.0See app_configs.md for:
TypeScript (tsconfig.json)
{
"compilerOptions": {
"target": "ES2022",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}Dockerfile (Multi-stage)
FROM node:18-alpine as builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
USER node
EXPOSE 3000
CMD ["node", "dist/index.js"]Docker Compose - See assets/docker-compose.yml:
Deployment Configuration - See assets/kubernetes-deployment.yaml:
Example Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: web-app
template:
spec:
containers:
- name: web
image: myapp:latest
ports:
- containerPort: 8000
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "512Mi"
cpu: "500m"See infra_configs.md for:
GitHub Actions - See assets/github-actions-workflow.yml:
Example Workflow:
name: CI/CD Pipeline
on:
push:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- run: pip install -r requirements.txt
- run: pytestWhat type of configuration do you need?
├─ Application Config
│ ├─ Package manager? → package.json, requirements.txt, Cargo.toml
│ ├─ Build tool? → tsconfig.json, webpack.config.js, vite.config.ts
│ ├─ Linter/formatter? → .eslintrc, .prettierrc, pyproject.toml
│ └─ Environment? → .env, .editorconfig, .gitignore
│
├─ Container/Orchestration
│ ├─ Docker? → Dockerfile, docker-compose.yml
│ └─ Kubernetes? → deployment.yaml, service.yaml, ingress.yaml
│
├─ Infrastructure as Code
│ ├─ Terraform? → main.tf, variables.tf, outputs.tf
│ └─ CloudFormation? → template.yaml
│
├─ CI/CD
│ ├─ GitHub Actions? → .github/workflows/ci.yml
│ ├─ GitLab CI? → .gitlab-ci.yml
│ └─ CircleCI? → .circleci/config.yml
│
└─ Web Server
├─ Nginx? → nginx.conf
└─ Apache? → httpd.conf, .htaccessUse pre-built templates from assets/:
When to use:
How:
Example:
# Copy Docker Compose template
cp assets/docker-compose.yml ./
# Edit environment variables
# Deploy
docker-compose up -dGenerate from scratch based on specific needs:
When to use:
How:
Example Request: "Generate a GitHub Actions workflow for a Python Django app with PostgreSQL, Redis, and deployment to AWS ECS"
Generated Output: Custom workflow with:
Combine templates with customization:
When to use:
How:
Separate configuration from code:
Application:
# settings.py
import os
DATABASE_URL = os.getenv('DATABASE_URL')
SECRET_KEY = os.getenv('SECRET_KEY')
DEBUG = os.getenv('DEBUG', 'False') == 'True'.env file:
DATABASE_URL=postgresql://localhost/mydb
SECRET_KEY=your-secret-key
DEBUG=trueDo commit:
.env.example (template)Don't commit:
.env (secrets).env.local (local overrides).gitignore:
.env
.env.local
.env.*.localCheck syntax before deploying:
# Docker Compose
docker-compose config
# Kubernetes
kubectl apply --dry-run=client -f deployment.yaml
# Terraform
terraform validate
# YAML syntax
yamllint config.ymlAdd comments explaining purpose:
# docker-compose.yml
services:
web:
# Application server - handles HTTP requests
image: myapp:latest
ports:
# Expose on port 8000 for development
- "8000:8000"
environment:
# Database connection string
- DATABASE_URL=${DATABASE_URL}Provide defaults for optional values:
# Kubernetes ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
# Default to info level logging
LOG_LEVEL: "info"
# Default connection pool size
DB_POOL_SIZE: "10"Development:
# docker-compose.dev.yml
services:
web:
build: .
volumes:
- ./app:/app # Hot reload
environment:
- DEBUG=trueProduction:
# docker-compose.prod.yml
services:
web:
image: registry/myapp:latest
environment:
- DEBUG=false
deploy:
replicas: 3Kubernetes Secrets:
apiVersion: v1
kind: Secret
metadata:
name: app-secrets
type: Opaque
stringData:
database-url: "postgresql://..."
api-key: "secret-key"Docker Compose (with env file):
services:
web:
env_file:
- .env.productionDocker Compose:
services:
web:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40sKubernetes:
livenessProbe:
httpGet:
path: /health
port: 8000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8000
initialDelaySeconds: 5
periodSeconds: 5Request: "Create complete configuration for a Python FastAPI application with PostgreSQL and Redis, using Docker Compose for development and Kubernetes for production"
Generated Configurations:
These files work together to provide:
YAML syntax errors:
# Check YAML syntax
python -c "import yaml; yaml.safe_load(open('config.yml'))"
# Or use yamllint
yamllint config.ymlDocker Compose issues:
# Validate and view resolved config
docker-compose config
# Check for errors
docker-compose config --quietMissing variables:
# List all required variables
grep -o '\${[^}]*}' docker-compose.yml
# Check if variable is set
echo $DATABASE_URLFind process using port:
# Linux/macOS
lsof -i :8000
# Windows
netstat -ano | findstr :8000See app_configs.md for complete templates:
See infra_configs.md for:
0f00a4f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.