

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456## Context78This instruction file applies to AWS infrastructure code: CDK TypeScript stacks, Terraform HCL modules, CloudFormation templates, and SAM application templates. All AWS infrastructure must be designed and reviewed against the AWS Well-Architected Framework six pillars.910---1112## Well-Architected Non-Negotiables1314### Operational Excellence15- All resources must emit structured logs to CloudWatch Logs16- All stateful changes must produce CloudTrail audit events17- Runbooks must exist for all P1/P2 failure modes before go-live1819### Security20- **No hardcoded credentials** in any IaC file — use Secrets Manager, Parameter Store, or IAM roles21- **No `*` in IAM policies** without SCPs as compensating controls and documented justification22- All data at rest encrypted: S3 SSE-KMS (or SSE-S3 minimum), RDS KMS, EBS KMS23- All data in transit over TLS 1.2+; no HTTP endpoints for sensitive data24- VPC endpoints for S3, ECR, SSM, Secrets Manager to avoid NAT Gateway costs and internet exposure25- Enable GuardDuty, Security Hub, and CloudTrail in all accounts2627### Reliability28- **Multi-AZ for all production workloads** — minimum 2 AZs, prefer 329- RDS Multi-AZ enabled in production; Aurora Global Database for RPO < 1 min30- ECS/EKS workloads must have `minHealthyPercent: 100` during deployments31- SQS DLQ configured for all consumer-facing queues32- Circuit breakers on all external service calls3334### Performance Efficiency35- Right-size before deploying: use Graviton (ARM) instances where workload is compatible36- CloudFront in front of S3 static assets and API Gateway for edge caching37- ElastiCache (Redis) for session state and expensive read-only lookups38- Auto-scaling configured with warm-up periods; never fixed-capacity in production3940### Cost Optimisation41- Use Graviton instances (e.g., `t4g`, `m7g`, `r7g`) — ~20% cheaper than x86 equivalents42- S3 Intelligent-Tiering for infrequently accessed objects > 128 KB43- Reserved Instances or Savings Plans for stable baseline workloads44- NAT Gateway: one per AZ max; use VPC endpoints where possible45- Lambda: set memory correctly — over-allocated Lambda is wasted spend4647### Sustainability48- Consolidate workloads to reduce idle capacity49- Prefer serverless (Lambda, Fargate, Aurora Serverless) where workload is bursty5051---5253## CDK TypeScript Standards5455- **Use L2/L3 constructs** — prefer CDK patterns libraries over raw L1 CloudFormation resources56- **Stack props typed via interface** — no `any` types in CDK code57- **Environment-aware stacks** — read `env` from CDK context, never hardcode account/region58- **`RemovalPolicy.RETAIN`** for stateful resources (RDS, DynamoDB, S3) in production environments59- **CDK Aspects for tagging** — apply mandatory tags via `Aspects.of(app).add(new TaggingAspect(tags))`60- **Secrets via `SecretValue.ssmSecure()` or `Secret.fromSecretNameV2()`** — never `SecretValue.unsafePlainText()`6162```typescript63// CORRECT: Environment from context64const env = app.node.tryGetContext('env') ?? 'dev';65const isProd = env === 'prod';6667// CORRECT: Conditional removal policy68new s3.Bucket(this, 'DataBucket', {69 removalPolicy: isProd ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY,70 autoDeleteObjects: !isProd,71});72```7374---7576## Terraform Standards7778- **Remote state in S3 + DynamoDB locking** — no local state files committed to git79- **Modular structure**: `main.tf`, `variables.tf`, `outputs.tf`, `versions.tf` per module80- **`versions.tf` pins provider versions** with `~>` constraint — no unpinned providers81- **`default_tags` on AWS provider** for consistent resource tagging82- **Workspaces or directory-per-env** for environment isolation (prefer directory-per-env for production separation)8384```hcl85# CORRECT: Provider with default tags86provider "aws" {87 region = var.aws_region88 default_tags {89 tags = {90 Project = var.project_name91 Environment = var.environment92 ManagedBy = "Terraform"93 Owner = var.team_name94 }95 }96}97```9899---100101## Mandatory Tagging Strategy102103All AWS resources must carry:104105| Tag Key | Example Value | Required |106|---------|-------------|---------|107| `Project` | `smart-retail` | Yes |108| `Environment` | `prod` / `staging` / `dev` | Yes |109| `Owner` | `platform-team` | Yes |110| `CostCentre` | `CC-1234` | Yes |111| `ManagedBy` | `CDK` / `Terraform` | Yes |112113---114115## IAM Least Privilege Checklist116117- [ ] No `*` actions without documented justification118- [ ] No `*` resources; use specific ARNs with `${AWS::AccountId}` / `${AWS::Region}`119- [ ] Conditions used where applicable: `aws:RequestedRegion`, `aws:SourceAccount`120- [ ] Task roles for ECS/Lambda have only the permissions needed for that function121- [ ] Cross-account trust uses `aws:PrincipalOrgID` condition, not account IDs122
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| doubts-suplab/eeik-bootstrap.clinerules/golden-rules.md · 1 | Cline rules | gitsecuritydo-not | 61/100 | today | |
| doubts-suplab/eeik-bootstrap.clinerules/project.md · 1 | Cline rules | teststylegit | 63/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/architecture.mdc · 1 | Cursor rules | do-not | 52/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/capabilities.mdc · 1 | Cursor rules | teststylegit | 58/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/golden-rules.mdc · 1 | Cursor rules | gitsecuritydo-not | 61/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/python.mdc · 1 | Cursor rules | lint-formatstyletypesapi+1 | 77/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/security.mdc · 1 | Cursor rules | security | 39/100 | today | |
| doubts-suplab/eeik-bootstrap.github/copilot-instructions.md · 1 | Copilot instructions | lint-formatstyletesting-strategygit+2 | 54/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/a2a-protocol.instructions.md · 1 | Copilot instructions | styleagent-behaviour | 48/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/ai-governance.instructions.md · 1 | Copilot instructions | stylearchdo-notagent-behaviour | 61/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/angular.instructions.md · 1 | Copilot instructions | teststyletypestesting-strategy+4 | 69/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/architecture-governance.instructions.md · 1 | Copilot instructions | testlint-formatstylegit+4 | 65/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/autogen.instructions.md · 1 | Copilot instructions | typessecurityagent-behaviour | 50/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/aws-data-ml-ai.instructions.md · 1 | Copilot instructions | deployment | 54/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/cdk-terraform.instructions.md · 1 | Copilot instructions | teststylearchtypes+2 | 96/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/cicd.instructions.md · 1 | Copilot instructions | stylesecuritydeploymentdo-not+1 | 65/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/containerisation.instructions.md · 1 | Copilot instructions | buildstylesecuritydo-not | 77/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/crewai.instructions.md · 1 | Copilot instructions | styleagent-behaviour | 48/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/data-engineering.instructions.md · 1 | Copilot instructions | teststyletypesgit+5 | 69/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/deployment.instructions.md · 1 | Copilot instructions | teststylegitdeployment | 77/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| HerringtonDarkholme/megarepo.github/copilot-instructions.md · 17 | Copilot instructions | setupbuildtestlint-format+7 | 100/100 | 14 days ago | |
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 65 | Copilot instructions | buildlint-formatstylearch+4 | 100/100 | 14 days ago | |
| pytorch/pytorch.github/copilot-instructions.md · 102k | Copilot instructions | setupbuildteststyle+5 | 100/100 | 14 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 32k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 7 days ago | |
| bagisto/bagisto.github/copilot-instructions.md · 28k | Copilot instructions | setupbuildteststyle+5 | 97/100 | 14 days ago | |
| hiyouga/LlamaFactory.github/copilot-instructions.md · 74k | Copilot instructions | setupbuildtestlint-format+5 | 97/100 | 13 days ago | |
| darkmatter/nixmac.github/copilot-instructions.md · 25 | Copilot instructions | setupbuildtestlint-format+8 | 96/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/doubts-suplab-eeik-bootstrap-github-instructions-aws-architecture-instructions)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.