TwinMind Multi-Environment Setup
Contents
Overview
Configure TwinMind for development, staging, and production environments with proper isolation, environment-aware client factory, validation scripts, config promotion workflows, and feature flags.
Prerequisites
- Multiple TwinMind API keys (one per environment)
- Understanding of environment management
- CI/CD pipeline for deployments
Instructions
Step 1: Environment Configuration Structure
Define EnvironmentConfig interface covering TwinMind settings (API key, model, features, debug mode), rate limits, concurrency, daily quotas, and integration settings (Slack channel, calendar, email). Configure dev (ear-2, 30/min, quota 10), staging (ear-3, 60/min, quota 50), and production (ear-3, 300/min, unlimited).
Step 2: Environment Variable Files
Create .env.development, .env.staging, .env.production with environment-specific API keys and webhook secrets. Commit .env.example with empty values.
Step 3: Environment-Aware Client Factory
Build getTwinMindClient() factory that creates and caches clients per environment, automatically selecting the right API key and config.
Step 4: Environment Validation
Create validation script that checks required environment variables, API key format (starts with tm_sk_), and API connectivity for each environment.
Step 5: Config Promotion Workflow
Build promoteConfig() script to promote feature settings, webhook events, and integration configs from dev -> staging -> production while preserving environment-specific values.
Step 6: Feature Flags per Environment
Implement FeatureFlags with environment overrides: beta features in dev only, diarization off in dev (faster), email follow-ups only in production, audio duration limits per environment.
See detailed implementation for complete environment configs, client factory, validation scripts, promotion workflow, and feature flag code.
Output
- Environment configuration structure
- Environment variable templates
- Client factory with environment awareness
- Environment validation script
- Config promotion workflow
- Feature flags per environment
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Wrong API key used | Env mismatch | Validate before deploy |
| Feature not available | Wrong environment | Check feature flags |
| Config not loading | Missing file | Verify config paths |
| Promotion failed | Schema mismatch | Validate configs first |
Examples
Basic usage: Apply twinmind multi env setup to a standard project setup with default configuration options.
Advanced scenario: Customize twinmind multi env setup for production environments with multiple constraints and team-specific requirements.
Environment Matrix
| Setting | Development | Staging | Production |
|---|---|---|---|
| Model | ear-2 | ear-3 | ear-3 |
| Diarization | Off | On | On |
| Debug mode | On | On | Off |
| Rate limit | 30/min | 60/min | 300/min |
| Email sending | Off | Off | On |
Resources
Next Steps
For monitoring setup, see twinmind-observability.