Files
vm-cloudflare/AGENTS.md
Vault Sovereign 37a867c485 Initial commit: Cloudflare infrastructure with WAF Intelligence
- Complete Cloudflare Terraform configuration (DNS, WAF, tunnels, access)
- WAF Intelligence MCP server with threat analysis and ML classification
- GitOps automation with PR workflows and drift detection
- Observatory monitoring stack with Prometheus/Grafana
- IDE operator rules for governed development
- Security playbooks and compliance frameworks
- Autonomous remediation and state reconciliation
2025-12-16 18:31:53 +00:00

239 lines
5.8 KiB
Markdown

# OpenCode Agents for CLOUDFLARE Project
This document defines custom agents and rules for working with the Cloudflare infrastructure project.
## Available Agents
### cloudflare-ops
**Purpose:** Manages Cloudflare infrastructure via Terraform and GitOps
**Tools Available:**
- filesystem (explore project structure)
- git (track and review changes)
- github (search implementations, manage PRs)
- gh_grep (find code examples on GitHub)
**When to Use:**
- Implementing Terraform changes
- Reviewing GitOps pipelines
- Creating infrastructure documentation
- Troubleshooting Cloudflare configurations
**Example Usage:**
```
/agent cloudflare-ops
I need to add a new DNS record for api.example.com and update the WAF rules. Can you use gh_grep to find similar implementations first?
```
---
### security-audit
**Purpose:** Performs security analysis and compliance checks
**Tools Available:**
- filesystem (read security policies)
- git (review audit logs)
- github (search security implementations)
- gh_grep (find security best practices)
**When to Use:**
- Auditing security configurations
- Reviewing compliance requirements
- Analyzing WAF rules
- Checking access controls
**Example Usage:**
```
/agent security-audit
Review the WAF rules in terraform/waf.tf and check if we're compliant with PCI-DSS requirements.
```
---
### data-engineer
**Purpose:** Works with databases and data processing
**Tools Available:**
- filesystem (examine data schemas)
- git (track data model changes)
- postgres (query production data)
- sqlite (work with local data)
**When to Use:**
- Working with database schemas
- Processing analytics data
- Troubleshooting data pipeline issues
- Running data queries
---
## Global Rules
These rules apply to all interactions with OpenCode in this project:
1. **Always Use Version Control**
- When making infrastructure changes, use git to stage and review modifications
- Commit meaningful changes with descriptive messages
2. **Search Before Implementing**
- Before creating new Terraform resources, use gh_grep to find similar implementations
- This helps maintain consistency and avoid reinventing the wheel
3. **Understand the Project Structure**
- Use filesystem operations to explore the project before making changes
- Familiar with key directories:
- `terraform/` - Infrastructure code
- `gitops/` - CI/CD and automation
- `observatory/` - Monitoring and observability
- `scripts/` - Utility scripts
- `playbooks/` - Security and incident response playbooks
4. **Compliance-Driven Development**
- When implementing security features, reference compliance frameworks (PCI-DSS, GDPR, etc.)
- Document compliance mappings in resource comments
- Use context7 to search compliance documentation when needed
5. **Validate Before Applying**
- Always run `terraform validate` before planning
- Always run `terraform plan` before applying changes
- Review the plan summary for risk assessment
---
## MCP Tool Quick Reference
### filesystem
Search and read files in the project:
```
use filesystem to explore the directory structure of terraform/
```
### git
Review git history and diffs:
```
use git to show recent commits in the gitops/ directory
```
### github
Search implementations and manage repositories:
```
use github to search for similar Terraform patterns
```
### gh_grep
Find code examples on GitHub:
```
use gh_grep to find examples of Cloudflare Terraform patterns
```
### context7
Search documentation (if API key configured):
```
use context7 to find information about PCI-DSS requirements
```
---
## Environment Variables
When using MCPs that require authentication, ensure these env vars are set:
```bash
# GitHub integration
export GITHUB_TOKEN="your-github-token"
# Context7 (optional knowledge search)
export CONTEXT7_API_KEY="your-context7-key"
# Database connections (if using data-engineer agent)
export DATABASE_URL="postgresql://..."
# AWS credentials (if using AWS MCP)
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
# Slack (if using notifications)
export SLACK_BOT_TOKEN="..."
# Linear (if using issue tracking)
export LINEAR_API_KEY="..."
```
### Multiple Accounts Configuration 🔐
For managing multiple GitHub, GitLab, or Cloudflare accounts, see: [MULTI_ACCOUNT_AUTH.md](MULTI_ACCOUNT_AUTH.md)
---
## Getting Started
1. **Initialize OpenCode**
```bash
cd /Users/sovereign/Desktop/CLOUDFLARE
opencode
/init
```
2. **Check MCP Status**
```bash
/mcp list
```
3. **Start an Agent Conversation**
```
/agent cloudflare-ops
I need to add HTTPS enforcement to all zones. Can you create a plan?
```
4. **Use Plan Mode for Complex Tasks**
```
<TAB> # Switch to plan mode
Add a new tunnel configuration for production
```
5. **Review and Apply Changes**
```
<TAB> # Switch back to build mode
Looks good, go ahead and implement it
```
---
## Troubleshooting
**MCP Server Not Starting:**
```bash
# Check which MCPs are enabled
opencode mcp list
# Try disabling problematic MCPs temporarily
# Edit opencode.jsonc and set "enabled": false for that MCP
```
**Context Limit Exceeded:**
- Some MCPs (like GitHub) add many tokens
- Disable less frequently used MCPs in the `"tools"` section
- Use per-agent tools configuration instead of global enablement
**Missing Environment Variables:**
- MCPs won't fail silently - they'll error if env vars are missing
- Check `.env` or export variables before running opencode
---
## Contributing to this File
When you learn new patterns or create reusable workflows, add them to this AGENTS.md file so other team members can benefit.
Examples of things to document:
- New agent use cases
- Useful MCP combinations
- Common tasks and their solutions
- Links to relevant documentation
---
**Last Updated:** December 8, 2025
**OpenCode Version:** 1.0+