| name | miro-multi-env-setup |
| description | Configure Miro REST API v2 across development, staging, and production
with separate OAuth apps, isolated test boards, and secret management.
Trigger with phrases like "miro environments", "miro staging",
"miro dev prod", "miro environment setup", "miro multi env".
|
| allowed-tools | Read, Write, Edit, Bash(gcloud:*), Bash(aws:*), Bash(vault:*) |
| version | 1.6.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","miro","environments","configuration"] |
| compatibility | Designed for Claude Code |
Miro Multi-Environment Setup
Overview
Configure separate Miro app credentials, OAuth scopes, and board access for development, staging, and production. Miro does not provide a sandbox API; all environments use https://api.miro.com/v2/ — isolation is achieved through separate apps and dedicated boards.
Environment Strategy
| Environment | Miro App | Boards | Scopes | Token Storage |
|---|
| Development | MyApp (Dev) | 1 dedicated test board | boards:read, boards:write | .env.local |
| Staging | MyApp (Staging) | Staging workspace boards | All required scopes | Secret Manager |
| Production | MyApp (Production) | Production boards | Minimum required scopes | Secret Manager + rotation |
Key insight: Create a separate Miro app at https://developers.miro.com for each environment. This gives you independent client IDs, secrets, and OAuth redirect URIs.
Configuration Structure
config/
├── miro.base.ts # Shared settings (timeouts, retry policy)
├── miro.development.ts # Dev overrides
├── miro.staging.ts # Staging overrides
└── miro.production.ts # Prod overrides
Base Configuration
export const miroBaseConfig = {
apiBase: 'https://api.miro.com/v2',
tokenEndpoint: 'https://api.miro.com/v1/oauth/token',
timeout: 30000,
retries: 3,
backoff: { baseMs: 1000, maxMs: 32000, jitterMs: 500 },
: { : },
: { : , : },
};