# Example .cursorrules Configuration
# Copy this file to your project root as .cursorrules and customize
#
# NOTE: This file is OPTIONAL. Rules with alwaysApply: true in their
# frontmatter load automatically without needing this file.
#
# Use .cursorrules when you want:
#   - Explicit control over which rules load
#   - Version-controlled configuration for team projects
#   - Project-specific rule subsets
#
# Rules that auto-load (alwaysApply: true):
#   - 010-workflow.mdc     (Plan/Implement/Review workflow)
#   - 020-agent-audit.mdc  (Agent audit requirements)
#   - 100-core.mdc         (Core coding standards)
#   - 130-git.mdc          (Git conventions)
#   - 120-utilities.mdc    (CLI tools)
#   - 110-configuration.mdc (Configuration management)
#   - 310-security.mdc     (Security best practices)
#   - 800-markdown.mdc     (Markdown formatting)

# ═══════════════════════════════════════════════════════════════
# OPTION 1: Use All Rules (Recommended for consistency)
# ═══════════════════════════════════════════════════════════════

rulesDirectory: .cursor/rules

# This will load all .mdc files from the rules directory
# Ensure you've symlinked or copied the rules:
#   ln -s /path/to/agent-engineering-handbook/rules .cursor/rules

# ═══════════════════════════════════════════════════════════════
# OPTION 2: Selective Rules (For specific technology stacks)
# ═══════════════════════════════════════════════════════════════

# Uncomment and customize based on your project:

# --- Python + AWS + Terraform Project ---
# rules:
#   - .cursor/rules/100-core.mdc            # Core standards (always)
#   - .cursor/rules/130-git.mdc             # Git conventions (always)
#   - .cursor/rules/200-python.mdc          # Python best practices
#   - .cursor/rules/410-aws.mdc             # AWS patterns
#   - .cursor/rules/180-terraform.mdc       # Terraform standards
#   - .cursor/rules/310-security.mdc        # Security (always)
#   - .cursor/rules/300-testing.mdc         # Testing strategies

# --- TypeScript + React + GCP Project ---
# rules:
#   - .cursor/rules/100-core.mdc            # Core standards
#   - .cursor/rules/130-git.mdc             # Git conventions
#   - .cursor/rules/240-typescript.mdc      # TypeScript patterns
#   - .cursor/rules/230-javascript.mdc      # JavaScript patterns
#   - .cursor/rules/420-gcp.mdc             # GCP patterns
#   - .cursor/rules/440-docker.mdc          # Docker containers
#   - .cursor/rules/310-security.mdc        # Security
#   - .cursor/rules/300-testing.mdc         # Testing

# --- Go + Kubernetes + Azure Project ---
# rules:
#   - .cursor/rules/100-core.mdc            # Core standards
#   - .cursor/rules/130-git.mdc             # Git conventions
#   - .cursor/rules/210-go.mdc              # Go best practices
#   - .cursor/rules/450-kubernetes.mdc      # Kubernetes patterns
#   - .cursor/rules/430-azure.mdc           # Azure patterns
#   - .cursor/rules/460-helm.mdc            # Helm charts
#   - .cursor/rules/310-security.mdc        # Security
#   - .cursor/rules/300-testing.mdc         # Testing

# --- Full-Stack (Python + TypeScript + AWS) ---
# rules:
#   - .cursor/rules/100-core.mdc            # Core standards
#   - .cursor/rules/130-git.mdc             # Git conventions
#   - .cursor/rules/200-python.mdc          # Backend (Python)
#   - .cursor/rules/240-typescript.mdc      # Frontend (TypeScript)
#   - .cursor/rules/230-javascript.mdc      # Frontend (JavaScript)
#   - .cursor/rules/410-aws.mdc             # Cloud (AWS)
#   - .cursor/rules/180-terraform.mdc       # Infrastructure
#   - .cursor/rules/470-postgresql.mdc      # Database
#   - .cursor/rules/310-security.mdc        # Security
#   - .cursor/rules/300-testing.mdc         # Testing
#   - .cursor/rules/320-api-design.mdc      # API patterns

# --- DevOps / Platform Engineering ---
# rules:
#   - .cursor/rules/100-core.mdc            # Core standards
#   - .cursor/rules/130-git.mdc             # Git conventions
#   - .cursor/rules/140-bash.mdc            # Shell scripting
#   - .cursor/rules/180-terraform.mdc       # Terraform
#   - .cursor/rules/170-cloudformation.mdc  # CloudFormation
#   - .cursor/rules/450-kubernetes.mdc      # Kubernetes
#   - .cursor/rules/160-github-actions.mdc             # GitHub Actions
#   - .cursor/rules/190-ansible.mdc         # Ansible
#   - .cursor/rules/440-docker.mdc          # Docker
#   - .cursor/rules/310-security.mdc        # Security
#   - .cursor/rules/330-observability.mdc   # Monitoring

# --- AI/ML Application Development ---
# rules:
#   - .cursor/rules/100-core.mdc            # Core standards
#   - .cursor/rules/130-git.mdc             # Git conventions
#   - .cursor/rules/200-python.mdc          # Python (primary language)
#   - .cursor/rules/500-ai-ml.mdc           # AI/ML patterns
#   - .cursor/rules/510-mcp-servers.mdc     # MCP servers
#   - .cursor/rules/410-aws.mdc             # AWS (Bedrock)
#   - .cursor/rules/420-gcp.mdc             # GCP (Vertex AI)
#   - .cursor/rules/310-security.mdc        # Security
#   - .cursor/rules/320-api-design.mdc      # API design

# ═══════════════════════════════════════════════════════════════
# OPTION 3: Minimal (Core + Language Only)
# ═══════════════════════════════════════════════════════════════

# For small projects, start with just core rules and your primary language:
# rules:
#   - .cursor/rules/100-core.mdc
#   - .cursor/rules/130-git.mdc
#   - .cursor/rules/200-python.mdc  # Or your primary language

# ═══════════════════════════════════════════════════════════════
# Project-Specific Overrides
# ═══════════════════════════════════════════════════════════════

# Add local overrides at the end (highest priority):
# rules:
#   - .cursor/rules/999-local-overrides.mdc

# ═══════════════════════════════════════════════════════════════
# Notes
# ═══════════════════════════════════════════════════════════════

# 1. This file is OPTIONAL - rules with alwaysApply: true load automatically
# 2. Rules are applied in order - later rules override earlier ones
# 3. alwaysApply rules load even when using explicit rule lists (cannot be disabled)
# 4. Use 999-local-overrides.mdc for project-specific exceptions
# 5. See rules/INDEX.md for complete rule catalog
# 6. Test your configuration by asking Cursor to generate code
