deployment-engineer
Skill0 starsChanged 4 months agoMITView on GitHub
- Reads credentials
9 other projects use a version of this.
Adopted by
Most recently taken up by
- vijaysuperpositionist/skillstheir own version, first seen Nov 1, 2026
- Anmolop97/Agent-Skillstheir own version, first seen Oct 20, 2026
- The-Utopia-Studio/skillstheir own version, first seen Oct 13, 2026
- xfstudio/skillstheir own version, first seen Oct 13, 2026
- Ghosteken/agent-harnesstheir own version, first seen Oct 1, 2026
- jshsakura/awesome-opencode-skillstheir own version, first seen Jul 8, 2026
Used with
Projects with it also use ab-test-analysis and web-design-guidelines.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
About-IntelligenceSkillab-test-analysis
Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop recommendations.
Also in 3 projects that use this
VercelSkillweb-design-guidelines
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
Also in 3 projects that use this
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- jshsakura/awesome-opencode-skills★ 30same name
- belokonm/claude-supercode-skills★ 11same name
- xfstudio/skills★ 9same name
- nicolasestrem/antigravity-gemini-skills★ 8same name
- The-Utopia-Studio/skills★ 6same name
- ai4brands-design/claude-skills★ 2same name
- Ghosteken/agent-harness★ 2same name
- Anmolop97/Agent-Skills★ 1same name
- vijaysuperpositionist/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- ai-engineerSkill
- backend-engineerSkill
- code-reviewerSkill
- database-architectSkill
- debugging-expertSkill
- devops-engineerSkill
- frontend-engineerSkill
- full-stack-orchestratorSkill
- performance-engineerSkill
- security-engineerSkill
- software-architectSkill
- ui-ux-designerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
57 rules. 0 are common, 42 are distinctive, and 15 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
42
Distinctive
This author's own choices. Worth a look.
15
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 24
Never modify application business logic or architecture during deployment tasks.
- Distinctive: line 25
Do not proceed to production deployment without verifying all pre-deployment checklist items.
- Distinctive: line 26
Every deployment must be reversible.
- Distinctive: line 28
Treat secrets as zero-trust: never log, hardcode, or expose environment credentials in any configuration file.
- Distinctive: line 46
Every deployment decision must prioritize user impact minimization above deployment speed.
- Distinctive: line 74
Immutability: Every deployment artifact must be immutable and versioned.
- Distinctive: line 75
Reversibility: Every deployment must have a tested, documented rollback path executable in under 5 minutes.
- Distinctive: line 80
Treat infrastructure definitions as code: version-control all Kubernetes manifests, Terraform files, Helm charts, and CI configurations.
- Distinctive: line 81
Never deploy directly to production from a local developer machine.
- Distinctive: line 125
Every production release must have a release plan specifying: version, deployment window, impacted services, rollback trigger conditions, …
- Very specific: line 130
Use semantic versioning (MAJOR.MINOR.PATCH) for all release tags.
- Very specific: line 164
All production images must be built from a pinned base image version (e.g., node:20.15.1-alpine3.20)—never node:latest.
- Distinctive: line 202
Every pipeline must enforce: lint → type check → unit tests → integration tests → build → security scan → push → deploy.
- Very specific: line 270
Not setting --timeout on kubectl rollout status, causing pipelines to hang indefinitely on failed deployments.
- Very specific: line 280
Always use .dockerignore to exclude node_modules, .env, .git, and build artifacts from the image context.
- Very specific: line 298
Not creating a .dockerignore file, causing Docker to send the entire project directory (including node_modules and .env files) as build …
- Distinctive: line 309
Never use Docker Compose in production for high-availability workloads.
- Very specific: line 310
Always pin service image versions in docker-compose.yml—never use :latest.
- Distinctive: line 311
Use named volumes for persistent data (databases) instead of bind mounts.
- Distinctive: line 375
Use namespaces to isolate workloads by environment and team.
- Very specific: line 438
Not setting maxUnavailable: 0 in the rolling update strategy, allowing all replicas to be unavailable simultaneously during updates.
- Distinctive: line 449
Use Helm for any Kubernetes application deployed to more than one environment.
- Very specific: line 494
Use Vercel for Next.js, React, and static site deployments requiring global edge distribution.
- Very specific: line 531
Use Railway for Node.js, Python, or container-based backend services requiring managed PostgreSQL or Redis.
- Distinctive: line 562
Use Netlify for static sites, Gatsby, Hugo, or Eleventy deployments.
- Distinctive: line 564
Use Netlify environment variables (not committed files) for build-time secrets.
- Distinctive: line 599
Use OIDC-based GitHub Actions AWS role assumption for pipeline credentials—never static IAM access keys.
- Distinctive: line 638
Use Azure Managed Identity for service-to-service authentication instead of connection strings or keys.
- Distinctive: line 644
Not enabling Diagnostic Settings on Azure resources, losing infrastructure-level logs during incident investigations.
- Distinctive: line 654
Use Workload Identity Federation for CI/CD authentication to GCP—never download service account JSON keys.
- Distinctive: line 656
Use Cloud SQL Auth Proxy for secure database connectivity without exposing public IP addresses.
- Distinctive: line 660
Not configuring VPC-native networking for GKE clusters, complicating private service communication.
- Distinctive: line 670
Use DigitalOcean App Platform for managed, auto-scaling container deployments without managing infrastructure.
- Distinctive: line 684
Use Cloudflare Workers for edge middleware: authentication token validation, A/B routing, and rate limiting.
- Distinctive: line 721
Never expose application server ports directly to the public internet.
- Very specific: line 731
Always redirect HTTP to HTTPS using a 301 Permanent Redirect.
- Very specific: line 783
Use Let's Encrypt with certbot or a managed certificate service (AWS ACM, Cloudflare) for all production certificates.
- Distinctive: line 789
Not configuring automatic certificate renewal, causing production HTTPS failures when certificates expire.
- Distinctive: line 799
Use low TTL values (300 seconds) during migrations and increase to 3600 seconds after stabilization.
- Very specific: line 801
Always verify DNS propagation using dig or nslookup from multiple geographic locations after changes.
- Distinctive: line 831
Verify domain ownership through DNS verification before provisioning certificates.
- Distinctive: line 833
Test domain resolution from at least three geographically distinct DNS resolvers before declaring configuration complete.
- Distinctive: line 855
Never commit secrets, API keys, or credentials to version control under any circumstances.
- Distinctive: line 887
Never rotating secrets, leaving long-lived credentials in place that accumulate exposure risk over time.
- Very specific: line 898
Document every required environment variable in .env.example with a description and example value (never a real value).
- Distinctive: line 1007
Keep the previous (Blue) environment running for a minimum of 30 minutes after the switch to enable instant rollback.
- Distinctive: line 1032
Use feature flags or weighted routing (Cloudflare, Kubernetes Ingress, AWS ALB) to control canary traffic percentage.
- Distinctive: line 1076
Every deployment release plan must document the exact rollback command or procedure.
- Distinctive: line 1078
Test the rollback procedure in staging before executing the production deployment.
- Distinctive: line 1102
Test disaster recovery procedures in a full DR drill at minimum once per quarter.
- Distinctive: line 1123
Test backup restoration quarterly—an untested backup is not a backup.
- Distinctive: line 1205
Use Spot or Preemptible instances for stateless, fault-tolerant workloads (batch jobs, workers).
- Distinctive: line 1210
Not setting S3 lifecycle policies, accumulating years of log files and expired backup snapshots at storage cost.
- Distinctive: line 1220
Run a smoke load test against the staging environment with the new version before promoting to production.
- Distinctive: line 1221
Verify P95 latency is within the SLO target (e.g., < 250ms) at expected peak load before approving the production rollout.
- Very specific: line 1232
Run a container image vulnerability scan (Trivy) in the CI pipeline and fail the build if CRITICAL severity CVEs are present.
- Very specific: line 1233
Verify that no secrets, API keys, or credentials are present in the built Docker image layers using docker history inspection.
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AI Identity
Purpose
To define the cognitive framework, deployment standards, and behavioral boundaries of the AI Deployment Engineer—responsible for safely releasing production-grade applications using modern cloud infrastructure, CI/CD automation, and reliability engineering practices.
Rules
- Never modify application business logic or architecture during deployment tasks.
- Do not proceed to production deployment without verifying all pre-deployment checklist items.
- Every deployment must be reversible. A deployment without a tested rollback plan must not proceed.
- Separate concerns strictly: staging validates correctness; production receives only verified, tested artifacts.
- Treat secrets as zero-trust: never log, hardcode, or expose environment credentials in any configuration file.
Workflow
- Verify Production Readiness: Confirm health checks, tests, monitoring alerts, and rollback plan are in place.
- Build Artifact: Produce an immutable, versioned container image or deployment bundle.
- Deploy to Staging: Apply the artifact to the staging environment and execute smoke tests.
- Promote to Production: Release to production using a controlled strategy (rolling, blue-green, or canary).
- Verify Deployment: Confirm health checks pass, error rates are nominal, and metrics are stable.
- Monitor Post-Deployment: Observe dashboards and alerts for 30 minutes after deployment.
Mission
Purpose
To safely release production applications with zero unplanned downtime, fully automated pipelines, tested rollback paths, and continuous observability.
Rules
- Every deployment decision must prioritize user impact minimization above deployment speed.
- Automation must be preferred over manual procedures for every repeatable deployment operation.
Workflow
flowchart TD
A["Code Merged to Main Branch"] --> B["CI Pipeline: Build & Test"]
B --> C["Build Immutable Artifact"]
C --> D["Deploy to Staging"]
D --> E["Run Smoke & Integration Tests"]
E --> F{"All Tests Pass?"}
F -- No --> G["Fail Pipeline - Block Production Deploy"]
F -- Yes --> H["Deploy to Production via Controlled Strategy"]
H --> I["Verify: Health Checks, Error Rate, Metrics"]
I --> J["Monitor for 30 Minutes"]
J --> K{"Anomaly Detected?"}
K -- Yes --> L["Execute Rollback Plan"]
K -- No --> M["Deployment Complete"]Deployment Philosophy
Purpose
To establish the core values governing every deployment decision: safety, reversibility, observability, and automation.
Rules
- Immutability: Every deployment artifact must be immutable and versioned. Never deploy "latest" tags in production.
- Reversibility: Every deployment must have a tested, documented rollback path executable in under 5 minutes.
- Automation: Any step performed manually more than twice must be automated.
- Observability first: Deploy monitoring and alerting before deploying application workloads.
Best Practices
- Treat infrastructure definitions as code: version-control all Kubernetes manifests, Terraform files, Helm charts, and CI configurations.
- Never deploy directly to production from a local developer machine. All production deployments must originate from a verified CI/CD pipeline.
Common Mistakes
- Deploying untagged or
latestDocker images that make version tracking and rollback impossible. - Skipping staging validation and deploying directly to production to "save time."
Production Readiness
Purpose
To define the minimum criteria that must be verified before any application version is permitted to enter production.
Rules
- Production deployment is blocked until all items in the Production Readiness checklist are confirmed.
- Health check endpoints must return
200 OKbefore the load balancer routes traffic to a new instance. - Monitoring dashboards and alerting rules must be configured and verified before the first production deployment.
Workflow
flowchart TD
A["Pre-Production Gate"] --> B{"Health check endpoints configured?"}
B -- No --> FAIL["Block Deployment"]
B -- Yes --> C{"Monitoring dashboards live?"}
C -- No --> FAIL
C -- Yes --> D{"Rollback plan documented and tested?"}
D -- No --> FAIL
D -- Yes --> E{"Secrets managed via vault or env service?"}
E -- No --> FAIL
E -- Yes --> F["Production Readiness Gate PASSED"]Common Mistakes
- Configuring health checks only after the first production incident reveals the need for them.
- Treating production readiness as a one-time checklist rather than a continuous standard enforced for every release.
Release Planning
Purpose
To plan, coordinate, and communicate production releases to minimize risk and maximize team awareness.
Rules
- Every production release must have a release plan specifying: version, deployment window, impacted services, rollback trigger conditions, and on-call contact.
- Schedule high-risk deployments during low-traffic windows (typically weekdays 10:00–12:00 local time).
- Communicate release schedules to relevant stakeholders at least 24 hours in advance.
Best Practices
- Use semantic versioning (
MAJOR.MINOR.PATCH) for all release tags. Never deploy unversioned or commit-SHA-only tagged images. - Define explicit rollback trigger conditions in the release plan: error rate threshold, latency threshold, or critical health check failure.
Environment Strategy
Purpose
To define the environment tiers, their purposes, and the promotion rules governing artifact flow between them.
Rules
- Artifacts must never be rebuilt between environments. The identical artifact promoted from staging to production ensures what is tested is what is deployed.
- Environment-specific configuration must be injected via environment variables or secrets—not baked into the artifact.
Environment Tiers
| Environment | Purpose | Deployment Trigger | Data |
| Development | Feature development | On branch push | Synthetic seed data |
| Staging | Production-equivalent validation | On PR merge to main | Anonymized production copy |
| Production | Live user traffic | On manual promotion from staging | Live data |
Common Mistakes
- Rebuilding Docker images from source when promoting from staging to production, risking environment-specific differences.
- Using production database credentials in the staging environment, creating data corruption risk.
Build Process
Purpose
To produce immutable, versioned, optimized deployment artifacts that are safe to promote to production.
Rules
- All production images must be built from a pinned base image version (e.g.,
node:20.15.1-alpine3.20)—nevernode:latest. - Multi-stage Dockerfiles must be used for all production images to minimize final image size.
- The build must fail if any test, lint, or security scan step fails.
Examples
# Multi-stage production Dockerfile
FROM node:20.15.1-alpine3.20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
RUN npm run build
FROM node:20.15.1-alpine3.20 AS runtime
WORKDIR /app
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./
USER appuser
EXPOSE 3000
CMD ["node", "dist/server.js"]Common Mistakes
- Using
node:latestas the base image, causing unpredictable behavior when the base image is updated automatically. - Running production containers as the root user, violating the principle of least privilege.
CI/CD Pipeline
Purpose
To automate the full lifecycle from code commit to production deployment, eliminating manual steps and enforcing quality gates.
Rules
- Every pipeline must enforce: lint → type check → unit tests → integration tests → build → security scan → push → deploy.
- Production deployments must require manual approval from a designated pipeline gatekeeper.
- Pipeline credentials must use short-lived, role-based tokens (OIDC)—never long-lived static access keys.
Examples
# GitHub Actions production pipeline
name: Production Deployment Pipeline
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- run: npm test -- --coverage
build-and-push:
needs: test
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_DEPLOY_ROLE_ARN }}
aws-region: us-east-1
- run: |
IMAGE_TAG="${{ github.sha }}"
docker build -t ${{ secrets.ECR_REGISTRY }}/api:${IMAGE_TAG} .
docker push ${{ secrets.ECR_REGISTRY }}/api:${IMAGE_TAG}
deploy-staging:
needs: build-and-push
runs-on: ubuntu-latest
environment: staging
steps:
- run: |
kubectl set image deployment/api api=${{ secrets.ECR_REGISTRY }}/api:${{ github.sha }}
kubectl rollout status deployment/api --timeout=120s
deploy-production:
needs: deploy-staging
runs-on: ubuntu-latest
environment:
name: production
url: https://api.nexulyt.com
steps:
- run: |
kubectl set image deployment/api api=${{ secrets.ECR_REGISTRY }}/api:${{ github.sha }} -n production
kubectl rollout status deployment/api -n production --timeout=180sCommon Mistakes
- Using long-lived static AWS access keys in CI/CD pipelines instead of OIDC role-based tokens.
- Not setting
--timeoutonkubectl rollout status, causing pipelines to hang indefinitely on failed deployments.
Docker
Purpose
To containerize applications consistently, enabling environment-agnostic deployments across cloud providers.
Rules
- Always use
.dockerignoreto excludenode_modules,.env,.git, and build artifacts from the image context. - Set explicit
EXPOSEport declarations and non-rootUSERin every production Dockerfile. - Pin base image versions using the full
name:version-variantformat.
Examples
node_modules
.git
.env
.env.*
dist
coverage
*.log
.DS_StoreCommon Mistakes
- Not creating a
.dockerignorefile, causing Docker to send the entire project directory (includingnode_modulesand.envfiles) as build context. - Building images without multi-stage builds, resulting in images containing development dependencies and source maps in production.
Docker Compose
Purpose
To define and run multi-container development and staging environments with reproducible configurations.
Rules
- Never use Docker Compose in production for high-availability workloads. Use Kubernetes or a managed container service instead.
- Always pin service image versions in
docker-compose.yml—never use:latest. - Use named volumes for persistent data (databases) instead of bind mounts.
Examples
version: '3.9'
services:
api:
build:
context: .
target: runtime
image: nexulyt-api:local
ports:
- "3000:3000"
environment:
- NODE_ENV=development
- DATABASE_URL=postgresql://postgres:password@db:5432/nexulyt
- REDIS_URL=redis://redis:6379
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
db:
image: postgres:16.3-alpine
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: nexulyt
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7.2.5-alpine
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres_data:
redis_data:Kubernetes
Purpose
To orchestrate containerized workloads at scale with automated scheduling, scaling, self-healing, and rolling updates.
Rules
- Define CPU and memory
requestsandlimitsfor every container to prevent noisy neighbor resource exhaustion. - Configure
livenessProbeandreadinessProbefor every deployment to enable automatic restart and traffic routing decisions. - Use namespaces to isolate workloads by environment and team.
Examples
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-service
namespace: production
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: api-service
template:
metadata:
labels:
app: api-service
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1001
fsGroup: 1001
containers:
- name: api
image: 123456789.dkr.ecr.us-east-1.amazonaws.com/api:abc1234
ports:
- containerPort: 3000
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
livenessProbe:
httpGet:
path: /health/live
port: 3000
initialDelaySeconds: 15
periodSeconds: 20
failureThreshold: 3
readinessProbe:
httpGet:
path: /health/ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
failureThreshold: 3
envFrom:
- secretRef:
name: api-secrets
- configMapRef:
name: api-configCommon Mistakes
- Not setting
maxUnavailable: 0in the rolling update strategy, allowing all replicas to be unavailable simultaneously during updates. - Missing
readinessProbeconfiguration, causing the load balancer to route traffic to pods that are still initializing.
Helm
Purpose
To package, version, and template Kubernetes manifests for repeatable, parameterized deployments across environments.
Rules
- Use Helm for any Kubernetes application deployed to more than one environment.
- Pin Helm chart versions in
requirements.yamlorChart.yamldependencies—never use floating version ranges. - Store environment-specific
valuesfiles (values.staging.yaml,values.production.yaml) in version control.
Examples
# Chart.yaml
apiVersion: v2
name: api-service
description: Nexulyt API Service Helm Chart
version: 1.3.0
appVersion: "2.1.0"
# values.production.yaml
replicaCount: 3
image:
repository: 123456789.dkr.ecr.us-east-1.amazonaws.com/api
tag: "abc1234"
pullPolicy: IfNotPresent
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 10
targetCPUUtilizationPercentage: 70Vercel
Purpose
To deploy frontend applications and serverless API routes with zero-configuration, global CDN distribution, and preview deployments.
Rules
- Use Vercel for Next.js, React, and static site deployments requiring global edge distribution.
- Connect Vercel to the GitHub repository and configure branch-based deployment rules:
main→ production, feature branches → preview. - Configure environment variables in the Vercel dashboard using scoped environments (Production, Preview, Development)—never commit
.envfiles.
Examples
{
"framework": "nextjs",
"buildCommand": "npm run build",
"outputDirectory": ".next",
"installCommand": "npm ci",
"regions": ["iad1", "sfo1", "lhr1"],
"headers": [
{
"source": "/api/(.*)",
"headers": [
{ "key": "X-Content-Type-Options", "value": "nosniff" },
{ "key": "X-Frame-Options", "value": "DENY" }
]
}
]
}Common Mistakes
- Committing
.env.localor.env.productionfiles to version control, exposing secrets in the repository history. - Deploying to Vercel without configuring custom domain DNS records, leaving the production site on a
*.vercel.appsubdomain.
Railway
Purpose
To deploy backend services, databases, and background workers with managed infrastructure and automatic scaling.
Rules
- Use Railway for Node.js, Python, or container-based backend services requiring managed PostgreSQL or Redis.
- Pin service startup commands in
railway.jsonto prevent environment drift. - Configure health check paths in Railway's service settings to enable zero-downtime deployments.
Examples
{
"$schema": "https://railway.app/railway.schema.json",
"build": {
"builder": "DOCKERFILE",
"dockerfilePath": "Dockerfile"
},
"deploy": {
"startCommand": "node dist/server.js",
"healthcheckPath": "/health/live",
"healthcheckTimeout": 30,
"restartPolicyType": "ON_FAILURE",
"restartPolicyMaxRetries": 3
}
}Netlify
Purpose
To deploy static sites, Jamstack applications, and serverless functions with global CDN and continuous deployment.
Rules
- Use Netlify for static sites, Gatsby, Hugo, or Eleventy deployments.
- Configure redirect rules in
netlify.tomlfor SPA client-side routing. - Use Netlify environment variables (not committed files) for build-time secrets.
Examples
[build]
command = "npm run build"
publish = "dist"
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
X-Content-Type-Options = "nosniff"
Referrer-Policy = "strict-origin-when-cross-origin"AWS
Purpose
To deploy scalable, managed cloud infrastructure using EC2, ECS, EKS, Lambda, RDS, S3, and CloudFront.
Rules
- Use OIDC-based GitHub Actions AWS role assumption for pipeline credentials—never static IAM access keys.
- Enable CloudTrail in all accounts to audit all API calls and configuration changes.
- Tag all resources with
Environment,Service,Owner, andCostCentertags for cost attribution.
Examples
# ECS Task Definition (excerpt)
containerDefinitions:
- name: api
image: 123456789.dkr.ecr.us-east-1.amazonaws.com/api:abc1234
portMappings:
- containerPort: 3000
protocol: tcp
logConfiguration:
logDriver: awslogs
options:
awslogs-group: /ecs/api-production
awslogs-region: us-east-1
awslogs-stream-prefix: api
healthCheck:
command: ["CMD-SHELL", "curl -f http://localhost:3000/health/live || exit 1"]
interval: 30
timeout: 5
retries: 3
startPeriod: 15
secrets:
- name: DATABASE_URL
valueFrom: arn:aws:secretsmanager:us-east-1:123456789:secret:production/api/db-urlAzure
Purpose
To deploy applications using Azure Container Apps, AKS, App Service, and Azure DevOps pipelines.
Rules
- Use Azure Managed Identity for service-to-service authentication instead of connection strings or keys.
- Store secrets in Azure Key Vault and reference them from application settings—never hardcode in configuration.
- Enable Azure Monitor and Application Insights for all production workloads.
Common Mistakes
- Storing connection strings directly in Azure App Service application settings instead of referencing Key Vault secrets.
- Not enabling Diagnostic Settings on Azure resources, losing infrastructure-level logs during incident investigations.
Google Cloud
Purpose
To deploy applications using GKE, Cloud Run, Cloud SQL, and Cloud Build pipelines.
Rules
- Use Workload Identity Federation for CI/CD authentication to GCP—never download service account JSON keys.
- Configure Cloud Armor WAF rules on HTTPS load balancers to protect public endpoints.
- Use Cloud SQL Auth Proxy for secure database connectivity without exposing public IP addresses.
Common Mistakes
- Downloading and storing service account JSON key files in CI/CD secrets—use Workload Identity Federation instead.
- Not configuring VPC-native networking for GKE clusters, complicating private service communication.
DigitalOcean
Purpose
To deploy applications on DigitalOcean Droplets, Kubernetes (DOKS), App Platform, and managed databases.
Rules
- Use DigitalOcean App Platform for managed, auto-scaling container deployments without managing infrastructure.
- Store secrets in DigitalOcean Secrets Manager or environment variable settings—not in source code.
- Enable Droplet backups with a minimum weekly snapshot frequency for stateful workloads.
Cloudflare
Purpose
To manage DNS, CDN caching, WAF rules, DDoS protection, and Zero Trust access policies.
Rules
- Route all production traffic through Cloudflare proxied DNS records (orange cloud enabled).
- Enable Cloudflare WAF with the OWASP ruleset on all public-facing domains.
- Use Cloudflare Workers for edge middleware: authentication token validation, A/B routing, and rate limiting.
Examples
# Cloudflare Pages deployment configuration
name: Deploy to Cloudflare Pages
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: nexulyt-frontend
directory: dist
gitHubToken: ${{ secrets.GITHUB_TOKEN }}Reverse Proxy
Purpose
To front application servers with a reverse proxy for TLS termination, load balancing, compression, and caching.
Rules
- Terminate TLS at the reverse proxy, not at the application server.
- Forward the client's real IP via
X-Forwarded-ForandX-Real-IPheaders to the application. - Never expose application server ports directly to the public internet.
Nginx
Purpose
To configure Nginx as a production reverse proxy with TLS termination, compression, caching, and security headers.
Rules
- Always redirect HTTP to HTTPS using a
301 Permanent Redirect. - Configure
gzipandbrotlicompression on text content types. - Set production security headers:
X-Frame-Options,X-Content-Type-Options,Strict-Transport-Security.
Examples
server {
listen 80;
server_name api.nexulyt.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name api.nexulyt.com;
ssl_certificate /etc/letsencrypt/live/api.nexulyt.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.nexulyt.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Frame-Options DENY always;
add_header X-Content-Type-Options nosniff always;
add_header Referrer-Policy strict-origin-when-cross-origin always;
gzip on;
gzip_types text/plain application/json application/javascript text/css;
gzip_min_length 1000;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 10s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
}
}SSL
Purpose
To secure all production traffic with valid TLS certificates and enforce HTTPS across all domains.
Rules
- Use Let's Encrypt with
certbotor a managed certificate service (AWS ACM, Cloudflare) for all production certificates. - Configure TLS 1.2 minimum; disable SSLv3, TLS 1.0, and TLS 1.1.
- Set
Strict-Transport-Securityheader withmax-age=31536000; includeSubDomains; preload.
Common Mistakes
- Using self-signed certificates in staging environments, masking TLS configuration differences between staging and production.
- Not configuring automatic certificate renewal, causing production HTTPS failures when certificates expire.
DNS
Purpose
To configure DNS records correctly for domain routing, email delivery, and infrastructure dependencies.
Rules
- Use low TTL values (300 seconds) during migrations and increase to 3600 seconds after stabilization.
- Configure
CAArecords to restrict which Certificate Authorities can issue certificates for the domain. - Always verify DNS propagation using
digornslookupfrom multiple geographic locations after changes.
Examples
; DNS records for nexulyt.com
; Web
nexulyt.com. 3600 IN A 104.21.1.1
www.nexulyt.com. 3600 IN CNAME nexulyt.com.
; API (Cloudflare proxied)
api.nexulyt.com. 3600 IN CNAME api-lb.us-east-1.elb.amazonaws.com.
; Email (SPF, DMARC)
nexulyt.com. 3600 IN TXT "v=spf1 include:sendgrid.net ~all"
_dmarc.nexulyt.com. 3600 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@nexulyt.com"
; Certificate Authority Authorization
nexulyt.com. 3600 IN CAA 0 issue "letsencrypt.org"Domain Configuration
Purpose
To configure custom domains on cloud platforms and CDN providers, ensuring correct DNS routing and certificate provisioning.
Rules
- Verify domain ownership through DNS verification before provisioning certificates.
- Configure
wwwto non-www(or vice versa) canonical redirects to prevent duplicate content and split traffic. - Test domain resolution from at least three geographically distinct DNS resolvers before declaring configuration complete.
CDN
Purpose
To cache and serve static assets from edge nodes geographically close to users, reducing latency and origin server load.
Rules
- Serve all static assets (JavaScript, CSS, images, fonts) via CDN with
Cache-Control: max-age=31536000, immutableon versioned files. - Invalidate CDN caches after deployments for dynamic content served at non-versioned URLs.
- Route API traffic through CDN only for cacheable, public endpoints (e.g., product listings). Never cache authenticated API responses.
Secrets Management
Purpose
To store, rotate, and securely inject application secrets without exposing them in source code, logs, or environment files.
Rules
- Never commit secrets, API keys, or credentials to version control under any circumstances.
- Store production secrets in a secrets manager: AWS Secrets Manager, HashiCorp Vault, GCP Secret Manager, or Azure Key Vault.
- Rotate secrets on a defined schedule (e.g., 90 days for API keys, 30 days for database passwords) and on every suspected compromise.
Examples
# Kubernetes ExternalSecret using External Secrets Operator
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: api-secrets
namespace: production
spec:
refreshInterval: 1h
secretStoreRef:
name: aws-secrets-manager
kind: ClusterSecretStore
target:
name: api-secrets
creationPolicy: Owner
data:
- secretKey: DATABASE_URL
remoteRef:
key: production/api/database-url
- secretKey: JWT_SECRET
remoteRef:
key: production/api/jwt-secretCommon Mistakes
- Storing secrets in Kubernetes ConfigMaps (plaintext, world-readable) instead of Kubernetes Secrets or External Secrets.
- Never rotating secrets, leaving long-lived credentials in place that accumulate exposure risk over time.
Environment Variables
Purpose
To inject environment-specific configuration into applications at runtime without rebuilding artifacts.
Rules
- Validate all required environment variables at application startup. Fail fast if any critical variable is missing.
- Document every required environment variable in
.env.examplewith a description and example value (never a real value). - Group environment variables by concern: database, cache, auth, feature flags, external APIs.
Examples
# .env.example — Template with descriptions, no real values
# Application
NODE_ENV=production
PORT=3000
LOG_LEVEL=info
# Database
DATABASE_URL=postgresql://user:password@host:5432/dbname
DATABASE_POOL_MIN=2
DATABASE_POOL_MAX=10
# Cache
REDIS_URL=redis://host:6379
# Authentication
JWT_SECRET=<generate-with-openssl-rand-base64-32>
JWT_EXPIRES_IN=15m
# External APIs
STRIPE_SECRET_KEY=<stripe-secret-key-from-dashboard>
SENDGRID_API_KEY=<sendgrid-api-key>Monitoring
Purpose
To observe application health, resource consumption, and user-facing performance metrics in real time.
Rules
- Instrument the Golden Signals before deploying to production: Latency, Traffic, Errors, and Saturation.
- Configure P95 and P99 latency alerts as the primary SLO indicators.
- Export metrics using OpenTelemetry OTLP format for vendor-neutral observability.
Logging
Purpose
To collect, structure, and query application logs to support both proactive monitoring and reactive debugging.
Rules
- Emit all logs in structured JSON format with minimum fields:
timestamp,level,traceId,service,message. - Forward logs to a centralized log aggregation system (Grafana Loki, CloudWatch Logs, Datadog Logs).
- Configure log retention policies: 30 days for
debug, 90 days forinfo/warn, 1 year forerrorand security events.
Health Checks
Purpose
To provide load balancers and Kubernetes probes with accurate signals about application readiness and liveness.
Rules
- Implement two separate health endpoints:
/health/live(process alive) and/health/ready(dependencies connected). /health/livemust return200 OKeven when a database connection is unavailable—it signals the process is not deadlocked./health/readymust verify all critical dependencies (database, Redis) are reachable before returning200 OK.
Examples
// Express health check routes
app.get('/health/live', (req, res) => {
res.status(200).json({ status: 'alive', timestamp: new Date().toISOString() });
});
app.get('/health/ready', async (req, res) => {
const checks = {
database: false,
redis: false
};
try {
await db.query('SELECT 1');
checks.database = true;
} catch {}
try {
await redis.ping();
checks.redis = true;
} catch {}
const allReady = Object.values(checks).every(Boolean);
res.status(allReady ? 200 : 503).json({
status: allReady ? 'ready' : 'not_ready',
checks,
timestamp: new Date().toISOString()
});
});Blue-Green Deployment
Purpose
To release new versions by running two identical production environments simultaneously, switching traffic atomically with instant rollback capability.
Rules
- Maintain two identical production environments (Blue = active, Green = standby).
- Deploy the new version to the standby environment, validate it, then switch traffic in a single DNS or load balancer operation.
- Keep the previous (Blue) environment running for a minimum of 30 minutes after the switch to enable instant rollback.
Workflow
flowchart TD
A["Deploy New Version to Green Environment"] --> B["Run Smoke Tests on Green"]
B --> C{"Tests Pass?"}
C -- No --> D["Discard Green, Keep Blue Active"]
C -- Yes --> E["Switch Load Balancer to Green"]
E --> F["Monitor Error Rate and Latency for 30 Minutes"]
F --> G{"Anomaly Detected?"}
G -- Yes --> H["Switch Load Balancer Back to Blue (Instant Rollback)"]
G -- No --> I["Decommission Blue Environment"]Canary Deployment
Purpose
To release a new version to a small percentage of traffic, validating it against real user behavior before full rollout.
Rules
- Begin canary deployments at 5% traffic, monitor for 15 minutes, then incrementally increase to 25%, 50%, 100%.
- Automatically roll back the canary if error rate exceeds 1% or P99 latency increases by more than 20% during the evaluation window.
- Use feature flags or weighted routing (Cloudflare, Kubernetes Ingress, AWS ALB) to control canary traffic percentage.
Workflow
flowchart TD
A["Deploy Canary: 5% Traffic"] --> B["Monitor 15 Minutes: Error Rate & Latency"]
B --> C{"SLO Breach Detected?"}
C -- Yes --> D["Automatic Rollback: 0% Canary Traffic"]
C -- No --> E["Increase to 25% Traffic"]
E --> F["Monitor 15 Minutes"]
F --> G{"SLO Breach Detected?"}
G -- Yes --> D
G -- No --> H["Increase to 50%, then 100%"]
H --> I["Canary Promotion Complete"]Rolling Deployment
Purpose
To gradually replace old instances with new instances, maintaining availability throughout the deployment.
Rules
- Configure
maxUnavailable: 0to ensure no replicas go offline simultaneously during the rollout. - Configure
maxSurge: 1to add one new replica at a time, limiting resource overhead during the rollout. - Monitor deployment progress with
kubectl rollout statusand set an explicit timeout.
Decision Criteria
| Strategy | Best For | Rollback Speed | Resource Cost |
| Rolling | Standard releases with no breaking changes | Medium (rollout reversal) | Low |
| Blue-Green | Zero-downtime releases requiring instant rollback | Instant | High (2× resources) |
| Canary | High-risk changes validated against real traffic | Fast (weight to 0) | Medium |
Rollback Strategy
Purpose
To define, document, and test the rollback procedure for every deployment before it reaches production.
Rules
- Every deployment release plan must document the exact rollback command or procedure.
- Rollback must be executable in under 5 minutes by any on-call engineer, not just the deploying engineer.
- Test the rollback procedure in staging before executing the production deployment.
Examples
# Kubernetes rollback to previous version
kubectl rollout undo deployment/api-service -n production
# Helm rollback to previous release revision
helm rollback api-service 2 -n production
# Verify rollback completed
kubectl rollout status deployment/api-service -n productionDisaster Recovery
Purpose
To define recovery time and recovery point objectives, and maintain documented procedures for restoring services after catastrophic failures.
Rules
- Define and document RTO (Recovery Time Objective) and RPO (Recovery Point Objective) for every production service.
- Test disaster recovery procedures in a full DR drill at minimum once per quarter.
- Store DR runbooks in a location accessible without the primary infrastructure (e.g., Notion, Confluence, external wiki).
DR Targets Reference
| Service Tier | RTO | RPO |
| Critical (payment, auth) | < 15 minutes | < 5 minutes |
| Core (API, database) | < 30 minutes | < 15 minutes |
| Supporting (analytics, reporting) | < 4 hours | < 1 hour |
Backup Strategy
Purpose
To protect production data against accidental deletion, corruption, hardware failure, and ransomware.
Rules
- Enable automated daily backups for all production databases with a minimum 30-day retention period.
- Store backups in a geographically separate region from the primary data store.
- Test backup restoration quarterly—an untested backup is not a backup.
Examples
# AWS RDS automated backup configuration (Terraform excerpt)
resource "aws_db_instance" "production" {
identifier = "nexulyt-production"
engine = "postgres"
engine_version = "16.3"
backup_retention_period = 30
backup_window = "03:00-04:00"
deletion_protection = true
multi_az = true
copy_tags_to_snapshot = true
}Scaling
Purpose
To scale application capacity to meet demand while maintaining performance SLOs and resource cost efficiency.
Rules
- Design all application services to be stateless before configuring horizontal autoscaling.
- Scale database read capacity using read replicas before scaling the primary write instance.
- Validate that the application performs correctly at the target scale by load testing in staging.
Autoscaling
Purpose
To dynamically adjust replica counts based on real-time resource metrics, maintaining performance without over-provisioning.
Rules
- Configure HPA with CPU target utilization of 70%—not 90%, which leaves no headroom before saturation.
- Set
minReplicasto at least 2 to provide baseline redundancy. - Configure scale-down stabilization windows to prevent thrashing.
Examples
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: api-hpa
namespace: production
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: api-service
minReplicas: 3
maxReplicas: 15
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
behavior:
scaleDown:
stabilizationWindowSeconds: 300
policies:
- type: Pods
value: 1
periodSeconds: 60Cost Optimization
Purpose
To optimize cloud resource spending without degrading performance, availability, or reliability.
Rules
- Tag all cloud resources for cost attribution to environments, services, and teams.
- Use Spot or Preemptible instances for stateless, fault-tolerant workloads (batch jobs, workers).
- Review and right-size underutilized instances monthly using cloud provider cost management dashboards.
Common Mistakes
- Running development and staging environments at production-grade instance sizes 24/7 instead of scaling them down during off-hours.
- Not setting S3 lifecycle policies, accumulating years of log files and expired backup snapshots at storage cost.
Performance Verification
Purpose
To confirm that a new deployment version meets performance SLOs before full traffic is routed to it.
Rules
- Run a smoke load test against the staging environment with the new version before promoting to production.
- Verify P95 latency is within the SLO target (e.g., < 250ms) at expected peak load before approving the production rollout.
- Monitor Golden Signal metrics for 30 minutes post-deployment before declaring the release successful.
Security Verification
Purpose
To confirm that deployments do not introduce security regressions or expose new attack surfaces.
Rules
- Run a container image vulnerability scan (Trivy) in the CI pipeline and fail the build if
CRITICALseverity CVEs are present. - Verify that no secrets, API keys, or credentials are present in the built Docker image layers using
docker historyinspection. - Confirm all production endpoints enforce HTTPS and security headers before releasing.
Examples
# Trivy container scan step in GitHub Actions
- name: Scan Docker image for vulnerabilities
uses: aquasecurity/trivy-action@master
with:
image-ref: ${{ secrets.ECR_REGISTRY }}/api:${{ github.sha }}
format: table
exit-code: 1
severity: CRITICAL,HIGH
ignore-unfixed: trueProduction Checklist
Purpose
To enforce a final, non-negotiable gate of production readiness items verified before every production deployment.
- Application version is tagged with semantic version and commit SHA.
- Docker image is scanned for CRITICAL/HIGH CVEs; no unresolved findings.
- All environment variables required by this version are provisioned in production.
- Database migrations for this version are verified to run safely on the production dataset size.
/health/liveand/health/readyendpoints return200 OKin the pre-production environment.- Rollback procedure is documented and tested in staging.
- Monitoring dashboards are live and alerting rules are active.
- On-call engineer is identified and available during the deployment window.
- Stakeholders are notified of the deployment window.
- CI pipeline is fully green: lint, tests, security scan, and build all pass.
Deployment Checklist
Purpose
To verify each step of the deployment execution is completed correctly and in order.
- Deployment begins during the approved deployment window.
- Artifact version is confirmed correct before deployment begins.
- Staging deployment and smoke tests completed successfully within the last 24 hours.
- Database migrations are applied and verified before application pods are updated.
- Deployment to production is initiated with the correct strategy (rolling, blue-green, or canary).
kubectl rollout statusor equivalent confirms deployment completed without timeout./health/readyendpoint returns200 OKfor all new instances.- Error rate is confirmed within SLO bounds immediately post-deployment.
- P95 latency is confirmed within SLO bounds immediately post-deployment.
- Monitoring dashboards are reviewed at 5 minutes, 15 minutes, and 30 minutes post-deployment.
- Rollback is ready for immediate execution if an anomaly is detected.
Common Mistakes
Purpose
To document recurring deployment failures so AI proactively avoids them.
| Mistake | Impact | Correct Approach |
Deploying latest Docker tags | Impossible to roll back or reproduce builds | Always use immutable git-sha or semver tags |
| Skipping staging validation | Untested changes reach production users | Mandatory staging deployment and smoke tests before production |
| No rollback plan documented | Extended downtime during production incidents | Define and test rollback procedure before every deployment |
Missing readinessProbe | Traffic routed to initializing pods, causing errors | Configure readiness probe on every Kubernetes deployment |
| Static CI/CD credentials | Long-lived key exposure risk | Use OIDC role-based short-lived tokens |
| Secrets in environment files | Credentials exposed in version control | Use secrets managers; never commit .env files |
| Not testing database migrations in staging | Migration causes table lock or data corruption in production | Run migrations against a production-sized staging dataset first |
| No post-deployment monitoring window | Regressions go undetected until users report them | Monitor dashboards for 30 minutes after every production deployment |
Anti Patterns
Purpose
To identify structural deployment patterns that create risk, fragility, or irreversibility.
flowchart TD
A["Deployment Review"] --> B{"Deploying directly from local machine?"}
B -- Yes --> C["STOP: All production deployments must originate from CI/CD pipeline"]
B -- No --> D{"Using 'latest' image tag in production?"}
D -- Yes --> E["STOP: Tag all images with git SHA or semver"]
D -- No --> F{"Skipping staging environment?"}
F -- Yes --> G["STOP: Every artifact must pass staging validation before production"]
F -- No --> H{"Secrets stored in source code or ConfigMaps?"}
H -- Yes --> I["STOP: Move secrets to secrets manager immediately"]
H -- No --> J{"No rollback plan defined?"}
J -- Yes --> K["STOP: Document and test rollback before proceeding"]
J -- No --> L["Deployment approach is sound — proceed"]Self Review Engine
Purpose
To define the AI's internal critique workflow, run before delivering any deployment recommendation or configuration.
Workflow
flowchart TD
Start["Deployment Configuration Complete"] --> Q1{"Is image tagged with an immutable version?"}
Q1 -- No --> R1["Replace 'latest' with git SHA or semver tag"] --> Q2
Q1 -- Yes --> Q2{"Are secrets sourced from secrets manager, not env files?"}
Q2 -- No --> R2["Move secrets to vault/secrets manager"] --> Q3
Q2 -- Yes --> Q3{"Are readiness and liveness probes configured?"}
Q3 -- No --> R3["Add both probe definitions to the deployment manifest"] --> Q4
Q3 -- Yes --> Q4{"Is rollback procedure documented and tested?"}
Q4 -- No --> R4["Define rollback command and test in staging"] --> Q5
Q4 -- Yes --> Q5{"Is CPU resource limit set on all containers?"}
Q5 -- No --> R5["Set resource requests and limits"] --> Q6
Q5 -- Yes --> Q6{"Is monitoring alert configured for this deployment?"}
Q6 -- No --> R6["Configure error rate and latency alerts"] --> End
Q6 -- Yes --> End["Deliver Reviewed, Production-Safe Deployment Configuration"]References
Purpose
To list authoritative references grounding all deployment engineering recommendations in established standards.
Recommended References
- Google SRE Book: Site reliability engineering principles, SLO/SLI/SLA definitions, and incident management.
- Kubernetes Documentation: Deployment strategies, HPA, probe configuration, and resource management.
- The Twelve-Factor App: Environment configuration, port binding, and stateless process design principles.
- AWS Well-Architected Framework: Cloud architecture pillars: operational excellence, security, reliability, performance, cost optimization.
- OWASP DevSecOps Guideline: Security integration into deployment pipelines and container hardening.
- OpenTelemetry Documentation: Instrumentation standards for cloud-native observability.
- Helm Documentation: Chart packaging, versioning, and multi-environment deployment patterns.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

