accessibility-patterns
WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
Pod design patterns, sidecar containers, init containers, config management, rolling updates, and resource limits.
Claude Code
$ npx -y skills add vibeeval/vibecosystem --skill kubernetes-patterns --agent claude-code
Codex
$ npx skills add vibeeval/vibecosystem --skill kubernetes-patterns -a codex -y
Cursor
$ npx skills add vibeeval/vibecosystem --skill kubernetes-patterns -a cursor -y
Gemini CLI
$ npx skills add vibeeval/vibecosystem --skill kubernetes-patterns -a gemini-cli -y
GitHub Copilot
$ npx skills add vibeeval/vibecosystem --skill kubernetes-patterns -a github-copilot -y
OpenCode
$ npx skills add vibeeval/vibecosystem --skill kubernetes-patterns -a opencode -y
Windsurf
$ npx skills add vibeeval/vibecosystem --skill kubernetes-patterns -a windsurf -y
name: kubernetes-patterns description: Pod design patterns, sidecar containers, init containers, config management, rolling updates, and resource limits.
Production-grade Kubernetes deployment and pod design patterns.
# Sidecar Pattern: log collector alongside main app
apiVersion: v1
kind: Pod
metadata:
name: app-with-sidecar
spec:
containers:
- name: app
image: myapp:v1.2.0
ports:
- containerPort: 8080
volumeMounts:
- name: logs
mountPath: /var/log/app
- name: log-collector
image: fluentd:v1.16
volumeMounts:
- name: logs
mountPath: /var/log/app
readOnly: true
volumes:
- name: logs
emptyDir: {}# Run setup tasks before main container starts
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-server
spec:
replicas: 3
template:
spec:
initContainers:
# Wait for database to be ready
- name: wait-for-db
image: busybox:1.36
command: ['sh', '-c', 'until nc -z postgres-svc 5432; do sleep 2; done']
# Run database migrations
- name: run-migrations
image: myapp:v1.2.0
command: ['npx', 'prisma', 'migrate', 'deploy']
envFrom:
- secretRef:
name: db-credentials
containers:
- name: api
image: myapp:v1.2.0
ports:
- containerPort: 3000containers:
- name: api
image: myapp:v1.2.0
resources:
requests: # Scheduler uses this to place pods
cpu: 250m # 0.25 CPU cores
memory: 256Mi # 256 MB
limits: # OOM kill / CPU throttle beyond this
cpu: 500m # 0.5 CPU cores
memory: 512Mi # 512 MB
# Liveness: restart container if health check fails
livenessProbe:
httpGet:
path: /healthz
port: 3000
initialDelaySeconds: 15
periodSeconds: 10
failureThreshold: 3
# Readiness: remove from service if not ready (no traffic)
readinessProbe:
httpGet:
path: /ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 5
# Startup: disable liveness/readiness until app starts
startupProbe:
httpGet:
path: /healthz
port: 3000
failureThreshold: 30 # 30 * 10s = 5 min max startup
periodSeconds: 10# ConfigMap for non-sensitive config
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
LOG_LEVEL: "info"
MAX_CONNECTIONS: "100"
FEATURE_NEW_UI: "true"
---
# Secret for sensitive data (base64 encoded, use sealed-secrets in prod)
apiVersion: v1
kind: Secret
metadata:
name: db-credentials
type: Opaque
stringData: # stringData auto-encodes to base64
DATABASE_URL: "postgresql://user:pass@postgres:5432/mydb"
JWT_SECRET: "super-secret-key"
---
# Mount in deployment
spec:
containers:
- name: api
envFrom:
- configMapRef:
name: app-config
- secretRef:
name: db-credentialsapiVersion: apps/v1
kind: Deployment
metadata:
name: api-server
spec:
replicas: 4
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1 # At most 5 pods during update (4+1)
maxUnavailable: 0 # All 4 must stay available (zero downtime)
template:
spec:
terminationGracePeriodSeconds: 30
containers:
- name: api
image: myapp:v1.2.0
lifecycle:
preStop:
exec:
# Allow in-flight requests to complete
command: ["/bin/sh", "-c", "sleep 5"]apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: api-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: api-server
minReplicas: 2
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70 # Scale up when CPU > 70%
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80
behavior:
scaleDown:
stabilizationWindowSeconds: 300 # Wait 5 min before scaling down
policies:
- type: Percent
value: 25 # Max 25% reduction per period
periodSeconds: 60# Only allow traffic from specific namespaces/pods
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: api-network-policy
spec:
podSelector:
matchLabels:
app: api-server
policyTypes:
- Ingress
- Egress
ingress:
- from:
- namespaceSelector:
matchLabels:
env: production
- podSelector:
matchLabels:
role: frontend
ports:
- port: 3000
egress:
- to:
- podSelector:
matchLabels:
app: postgres
ports:
- port: 5432A focused runtime for Claude Code. A bounded worker for Codex. Catalog (in repo): Default core: vibecosystem packages agents, skills and hooks for software work.
WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
axe-core integration, WCAG 2.2 AA checklist, keyboard navigation testing, screen reader testing, and ARIA pattern validation.
Steam-style achievement system with XP, levels, streaks, and skill trees. Gamifies the development workflow. 25 achievements…
Framework for measuring and tracking agent response quality over time. Detects regressions before they reach production. Use when…
Agent ve skill dosyalarinin yapisal dogrulamasi. Frontmatter kontrol, naming convention, zorunlu bolum kontrolu, tutarlilik…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.