# AI coding agent rules (AGENTS.md, Cursor, Claude)

> Setup instructions and rule files for AI coding agents: AGENTS.md, .cursorrules, CLAUDE.md, and hosted MCP configuration.

Give your AI coding assistant (Cursor, Claude Code, Windsurf, Copilot) the exact rules, security constraints, and code recipes needed to integrate SadaSend without hallucinations.

## Quick install via terminal (1-liner commands)

Add SadaSend instructions to your repository with a single terminal command. Compatible with all modern coding assistants.

```bash
# 1. Universal Standard (AGENTS.md - Linux Foundation & Supabase standard)
curl -fsSL https://www.sadasend.com/AGENTS.md >> AGENTS.md

# 2. Claude Code CLI (CLAUDE.md)
curl -fsSL https://www.sadasend.com/CLAUDE.md >> CLAUDE.md

# 3. Cursor IDE (.cursorrules)
curl -fsSL https://www.sadasend.com/.cursorrules >> .cursorrules
```

## File naming across tools and platforms

Different tools recognize different instruction files. SadaSend provides unified guidance for all of them:

| Tool / Platform | Standard File Path | How It Works |

| --- | --- | --- |

| Universal / Linux Foundation | AGENTS.md | Root instruction file adopted by multi-agent frameworks, Supabase, and CI bots |
| Google Antigravity | AGENTS.md or GEMINI.md or .agents/rules/*.md | Hierarchical rule discovery and MCP tool bindings across Antigravity IDE and CLI |
| Cursor IDE | .cursorrules or .cursor/rules/*.mdc | Injected into Cursor Composer and Chat context for code completions |
| Cline (VS Code) | .clinerules | Custom system instructions read by the Cline autonomous agent in VS Code |
| Anthropic Claude Code | CLAUDE.md | Read automatically by the Claude Code CLI at the start of every session |
| Windsurf (Codeium) | .windsurfrules | Root configuration for Windsurf Cascade agent workflows |
| OpenCode CLI | AGENTS.md or opencode.json | Agent guidelines and tool permissions for OpenCode terminal sessions |
| GitHub Copilot | .github/copilot-instructions.md | Official repository-wide instructions for GitHub Copilot Chat |
| Hosted MCP Connection | mcp_config.json or .cursor/mcp.json or cline_mcp_settings.json | Direct connection to SadaSend hosted MCP tools (https://mcp.sadasend.com) |

## Universal rule template (Copy & Paste)

If you prefer to manually configure your rules, place the following content in your repository:

```markdown
# SadaSend Email Integration Rules

1. Environment & Credentials:
   - Read from `process.env.SADASEND_API_KEY` and `process.env.SADASEND_FROM_EMAIL`. Never hardcode keys.
   - Use scoped keys (`[send]`, `[read]`) and recipient allowlists (`*@yourcompany.com`) during local development.

2. API Standards:
   - Primary Endpoint: `POST https://api.sadasend.com/v1/emails`
   - SMTP Gateway: `smtp.sadasend.com:587` (STARTTLS), User: `sadasend`, Pass: `$SADASEND_API_KEY`
   - Always include an `Idempotency-Key` UUID header on transactional sends to prevent duplicate delivery.

3. Error Handling:
   - 400: Syntax or burner address invalid.
   - 401: Invalid API key.
   - 403: Allowlist or permission scope refusal. Requires human configuration.
   - 422: Domain missing verified SPF/DKIM DNS records.
   - 429: Rate limit hit. Back off exponentially.
```

## Connecting the hosted MCP server

To equip AI coding agents with direct email preview and diagnostic tools without giving them your entire account, connect to the hosted MCP server:

```json
{
  "mcpServers": {
    "sadasend": {
      "url": "https://mcp.sadasend.com",
      "headers": {
        "Authorization": "Bearer YOUR_SADASEND_API_KEY"
      }
    }
  }
}
```

## Verification command

An agent can run this command in your terminal to verify that credentials and domain verification are active before generating application code:

```bash
curl -s -w "\nStatus: %{http_code}\n" \
  https://api.sadasend.com/v1/domains \
  -H "Authorization: Bearer $SADASEND_API_KEY"
```
