Creates RPC-style endpoint following layered architecture (Controller → Manager → Repository). Use when creating new API endpoints or CRUD operations.
The English summary is being prepared. Showing the original description.
PR review checklist for Terraform changes covering structure, state safety, security, naming, modules, variables, providers, and CI/CD. Use when reviewing Terraform PRs or doing pre-merge checks.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Runs an 8-category review checklist on Terraform changes. Produces an Approved / Needs Changes / Blocked verdict.
live/, modules/, envs/terraform.tf has backend + provider configvariables.tf, outputs.tf, locals.tf are separate files.terraform/ or *.tfstate* in the PR# CORRECT structure
terraform/
live/terraform.tf # backend + provider
live/variables.tf # inputs
live/locals.tf # computed values
live/outputs.tf # exports
modules/{service}/ # one resource per file
envs/{env}/ # per-environment config
# WRONG — everything in one file
terraform/main.tf # 500 lines of mixed resources
terraform state commands in automationprevent_destroy on critical resources (RDS, S3 with data)terraform state rm plan documentedcreate_before_destroy on security groups and launch configsterraform import CLI)# CORRECT — protect critical resources
resource "aws_db_instance" "main" {
lifecycle {
prevent_destroy = true
}
}
# CORRECT — zero-downtime SG updates
resource "aws_security_group" "app" {
name_prefix = "${local.name_prefix}-app-"
lifecycle {
create_before_destroy = true
}
}
.tf or .tfvars committed to gitsensitive = true0.0.0.0/0 ingress on non-ALB)* actions on * resources# WRONG — overly permissive
resource "aws_security_group_rule" "bad" {
cidr_blocks = ["0.0.0.0/0"]
from_port = 0
to_port = 65535
}
# CORRECT — scoped to specific source
resource "aws_security_group_rule" "good" {
source_security_group_id = var.alb_security_group_id
from_port = 8080
to_port = 8080
}
local.name_prefix (pattern: {project}-{service}-{env})# CORRECT
locals {
name_prefix = "${var.project}-${var.service}-${var.env}"
}
# WRONG
resource "aws_s3_bucket" "assets" {
bucket = "my-bucket-prod" # hardcoded
}
?ref=vX.Y.Z)versions.tf with required provider versions# CORRECT — pinned version
module "rds" {
source = "git::https://github.com/{project}/terraform-modules.git//rds?ref=v1.2.0"
}
# WRONG — no version pin
module "rds" {
source = "git::https://github.com/{project}/terraform-modules.git//rds"
}
description and typesensitive = true# CORRECT
variable "instance_class" {
description = "RDS instance class"
type = string
default = "db.t3.micro"
validation {
condition = can(regex("^db\\.", var.instance_class))
error_message = "Must be a valid RDS instance class."
}
}
# WRONG — no description, no type
variable "instance_class" {}
~> (pessimistic constraint)required_version for Terraform itselflive/terraform.tf, never in modulesterraform fmt -check runs in CIterraform validate runs in CI.tf files in the PR0.0.0.0/0 ingress, missing encryptionProduces a structured review:
## Terraform Review: {PR title}
### Verdict: Approved | Needs Changes | Blocked
### Findings
#### Blocked (if any)
- [ ] **[Security]** Secrets found in terraform.tfvars — file:line
#### Needs Changes (if any)
- [ ] **[Naming]** Hardcoded bucket name in s3.tf:12
- [ ] **[Modules]** Missing version pin on RDS module
#### Suggestions (if any)
- **[Variables]** Consider adding validation on `instance_class`
### Checklist Summary
| Category | Status |
|-----------|--------|
| Structure | Pass |
| State | Pass |
| Security | Fail |
| Naming | Warn |
| Modules | Warn |
| Variables | Pass |
| Providers | Pass |
| CI/CD | Pass |
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Creates RPC-style endpoint following layered architecture (Controller → Manager → Repository). Use when creating new API endpoints or CRUD operations.
The English summary is being prepared. Showing the original description.
Write blog posts, guides, tutorials, and long-form content. Sounds like a real person, not AI. Use when the user wants polished written content.
The English summary is being prepared. Showing the original description.
Design RPC-style APIs with layered architecture (Controller → Manager → Repository). Use when creating new API endpoints, designing API contracts, or reviewing API patterns.
The English summary is being prepared. Showing the original description.
Run a structured brainstorm session for startup ideas. Takes a theme or problem and generates ideas with quick gut-checks. Use when the user wants to explore a space or generate new ideas.
The English summary is being prepared. Showing the original description.
Run real browser QA with Playwright. Use when testing a frontend feature, verifying UI before PR, smoke testing after deploy, or investigating reported visual bugs.
The English summary is being prepared. Showing the original description.
CI/CD pipeline patterns for GitHub Actions, PR automation, and deployment workflows. Use when setting up CI, fixing broken pipelines, automating PR checks, or configuring deployment.
The English summary is being prepared. Showing the original description.