Core Concept: Prompt = Structured Work Order
Stop saying “fix my Dockerfile”! Cursor dislikes vague instructions. The more it resembles a Jira ticket, the better the results.
✅ Correct Usage Example:
Optimize this Node.js application's Dockerfile:
- Base image: node:20-slim
- Must run as a non-root user
- Use multi-stage builds (build + runtime)
- Final image < 200MB
- Validate with `docker build --no-cache`
Result: Cursor will generate a complete solution with USER node, COPY –from=builder, and .dockerignore, rather than a partial output.
Tips: Embed Official Documentation Links in Prompts
Generate an IAM Policy that only allows read/write access to a specific S3 bucket based on the AWS official least privilege guidelines (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).
This significantly reduces “AI hallucinations,” making outputs closer to production standards.
.cursorrules: Your AI Team Guidelines
This is the most underrated feature of Cursor—writing team coding standards for AI.
Create a .cursorrules file in the project root:
# .cursorrules
- All Terraform resources must be tagged: owner, env
- Hardcoding keys is prohibited; must be injected via provider or variables
- Kubernetes should prioritize Deployment + Service, disabling bare Pods
- YAML indentation must be uniform with 2 spaces, tabs are prohibited
- IAM policies must adhere to the principle of least privilege
Now, when you input:
“Create an EKS cluster module”
Cursor will automatically adhere to the above rules without you having to remind it each time!
Global Rules (Personal Preferences)
Configure global rules in Cursor settings:
- Default language: Go
- Prefer using IaC (Terraform/Helm) over manual configuration
- Must list pros and cons when explaining solutions
- Keep answers concise, avoiding fluff
A little humor: It’s like giving an intern a “handbook” that they will never forget, won’t get tired, and can work 24/7.
Workflow Innovations: Using Cursor as CI/CD
1. Notepad = Template Library
Create a Notepad named CI/CD Templates to store common templates:
# GitHub Actions: multi-stage Docker build
name: Build and Push
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build image
run: docker build -t ${{ github.repository }} .
Then in the chat, input:
/notepad CI/CD Templates — Change to support ARM64 + amd64 multi-architecture builds
Cursor will automatically adapt and output the complete workflow.
2. MCP Plugin: Directly Operate External Systems
After enabling Kubernetes MCP, you can directly say:
“View logs for pod orders-api-78d8 in the prod namespace”
Cursor will call kubectl logs, return the logs, and automatically analyze common errors (like CrashLoopBackOff, OOMKilled).
Also supports:
- GitHub PR review: “Review PR #1043 and point out security risks”
- AWS resource query: “List untagged EC2 instances in us-east-1”
3. .cursorignore: Prevent AI from Accessing Secrets
Similar to .gitignore, it prevents Cursor from misreading sensitive files:
# .cursorignore
*.tfstate
.env
secrets.yaml
node_modules/
Debugging Magic: YOLO Mode + Auto-Retry
Enable “YOLO Mode” (automatic command execution) in Agent settings, then input:
“Fix build errors in docker-compose.yml and keep running
docker compose up --dry-rununtil successful”
Cursor will:
- Modify files
- Automatically execute commands
- Adjust based on errors
- Loop until successful
✅ Applicable Scenarios:
- Terraform validate fails
- Helm upgrade returns schema errors
- pytest unit tests fail
Advanced Techniques: Beyond Generation, Focus on Decision-Making
❌ Beginner Usage:
“Write a blue-green deployment script”
✅ Advanced Usage:
“Give me 3 ways to implement blue-green deployment on EKS, listing:
- Cost
- Switch speed
- Rollback difficulty
- Whether ALB is needed”
Cursor will output a comparison table to help you make architectural decisions.
Large Project Optimization: Don’t Let AI Get Overloaded
In monorepos or large Terraform files, Cursor may face context overload. Solutions:
| Tip | Description |
|---|---|
| Split Files | Break main.tf into network.tf, iam.tf |
| @file Reference | Input @main.tf @variables.tf — Add S3 version control |
| Frequent Commits | Immediately git commit after AI modifications for easy rollback |
| Limit Context | Only open relevant files to avoid unrelated code interference |
Real DevOps Use Cases
High-impact use cases:
- ✅ Fully automate migration of Jenkinsfile to GitHub Actions, preserving conditional deployment logic
- ✅ Debug Helm upgrade failures: paste release diff, AI identifies values.yaml conflicts
- ✅ Generate Grafana dashboards + alert rules from Prometheus metrics JSON
- ✅ Batch upgrade 10+ Lambda functions from Node.js 14 → 20
- ✅ Automatically generate cost optimization strategies for S3 buckets
Final piece of advice: “Don’t let AI replace your thinking, but let it amplify your professional judgment.”
Comments
Discussion is powered by Giscus (GitHub Discussions). Add
repo,repoID,category, andcategoryIDunder[params.comments.giscus]inhugo.tomlusing the values from the Giscus setup tool.