ideogram-multi-env-setup

Ideogram Multi-Environment Setup

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ideogram-multi-env-setup" with this command: npx skills add jeremylongshore/claude-code-plugins-plus-skills/jeremylongshore-claude-code-plugins-plus-skills-ideogram-multi-env-setup

Ideogram Multi-Environment Setup

Overview

Configure Ideogram across development, staging, and production environments with isolated API keys, environment-specific settings, and proper secret management. Each environment gets its own credentials and configuration to prevent cross-environment data leakage.

Prerequisites

  • Separate Ideogram API keys per environment

  • Secret management solution (environment variables, Vault, or cloud secrets)

  • CI/CD pipeline with environment-aware deployment

  • Application with environment detection logic

Environment Strategy

Environment Purpose API Key Source Settings

Development Local development .env.local

Debug enabled, relaxed limits

Staging Pre-production testing CI/CD secrets Production-like settings

Production Live traffic Secret manager Optimized, hardened

Instructions

Step 1: Configuration Structure

config/ ideogram/ base.ts # Shared defaults development.ts # Dev overrides staging.ts # Staging overrides production.ts # Prod overrides index.ts # Environment resolver

Step 2: Base Configuration

// config/ideogram/base.ts export const baseConfig = { timeout: 30000, # 30000: 30 seconds in ms maxRetries: 3, cache: { enabled: true, ttlSeconds: 300, # 300: timeout: 5 minutes }, };

Step 3: Environment-Specific Configs

// config/ideogram/development.ts import { baseConfig } from "./base";

export const developmentConfig = { ...baseConfig, apiKey: process.env.IDEOGRAM_API_KEY_DEV, debug: true, cache: { enabled: false, ttlSeconds: 60 }, };

// config/ideogram/staging.ts import { baseConfig } from "./base";

export const stagingConfig = { ...baseConfig, apiKey: process.env.IDEOGRAM_API_KEY_STAGING, debug: false, };

// config/ideogram/production.ts import { baseConfig } from "./base";

export const productionConfig = { ...baseConfig, apiKey: process.env.IDEOGRAM_API_KEY_PROD, debug: false, timeout: 60000, # 60000: 1 minute in ms maxRetries: 5, cache: { enabled: true, ttlSeconds: 600 }, # 600: timeout: 10 minutes };

Step 4: Environment Resolver

// config/ideogram/index.ts import { developmentConfig } from "./development"; import { stagingConfig } from "./staging"; import { productionConfig } from "./production";

type Environment = "development" | "staging" | "production";

const configs = { development: developmentConfig, staging: stagingConfig, production: productionConfig, };

export function detectEnvironment(): Environment { const env = process.env.NODE_ENV || "development"; if (env === "production") return "production"; if (env === "staging" || process.env.VERCEL_ENV === "preview") return "staging"; return "development"; }

export function getIdeogramConfig() { const env = detectEnvironment(); const config = configs[env];

if (!config.apiKey) { throw new Error(IDEOGRAM_API_KEY not set for environment: ${env}); }

return { ...config, environment: env }; }

Step 5: Secret Management

Local development (.env.local - git-ignored)

IDEOGRAM_API_KEY_DEV=your-dev-key

GitHub Actions

Settings > Environments > staging/production > Secrets

Add IDEOGRAM_API_KEY_STAGING and IDEOGRAM_API_KEY_PROD

AWS Secrets Manager

aws secretsmanager create-secret
--name ideogram/production/api-key
--secret-string "your-prod-key"

GCP Secret Manager

echo -n "your-prod-key" | gcloud secrets create ideogram-api-key-prod --data-file=-

.github/workflows/deploy.yml

jobs: deploy-staging: environment: staging env: IDEOGRAM_API_KEY_STAGING: ${{ secrets.IDEOGRAM_API_KEY_STAGING }}

deploy-production: environment: production env: IDEOGRAM_API_KEY_PROD: ${{ secrets.IDEOGRAM_API_KEY_PROD }}

Error Handling

Issue Cause Solution

Wrong environment Missing NODE_ENV Set environment variable in deployment

Secret not found Wrong secret path Verify secret manager configuration

Cross-env data leak Shared API key Use separate keys per environment

Config validation fail Missing field Add startup validation with Zod schema

Examples

Quick Environment Check

const config = getIdeogramConfig(); console.log(Running in ${config.environment}); console.log(Cache enabled: ${config.cache.enabled});

Startup Validation

import { z } from "zod";

const configSchema = z.object({ apiKey: z.string().min(1, "IDEOGRAM_API_KEY is required"), environment: z.enum(["development", "staging", "production"]), timeout: z.number().positive(), });

const config = configSchema.parse(getIdeogramConfig());

Resources

  • Ideogram API Reference

  • Ideogram Models

Next Steps

For deployment, see ideogram-deploy-integration .

Output

  • Configuration files or code changes applied to the project

  • Validation report confirming correct implementation

  • Summary of changes made and their rationale

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

backtesting-trading-strategies

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

svg-icon-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

performance-lighthouse-runner

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

mindmap-generator

No summary provided by upstream source.

Repository SourceNeeds Review