Skip to main content

Environment Management

Facilitates multi-environment configuration and deployment patterns for consistent management across development, staging, and production.

Install this skill

or
0/100

Security score

The Environment Management skill was audited on Mar 1, 2026 and we found 80 security issues across 4 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 367

Template literal with variable interpolation in command context

SourceSKILL.md
367throw new Error(`Environment config directory not found: ${configDir}`);
medium line 380

Template literal with variable interpolation in command context

SourceSKILL.md
380console.warn(`Failed to load environment config: ${configName}`, error);
medium line 390

Template literal with variable interpolation in command context

SourceSKILL.md
390throw new Error(`Environment configuration not found: ${env}`);
medium line 402

Template literal with variable interpolation in command context

SourceSKILL.md
402throw new Error(`Unknown environment: ${environment}`);
medium line 453

Template literal with variable interpolation in command context

SourceSKILL.md
453.map(([key, value]) => `${key}=${value}`)
medium line 470

Template literal with variable interpolation in command context

SourceSKILL.md
470const fullKey = prefix ? `${prefix}.${key}` : key;
medium line 616

Template literal with variable interpolation in command context

SourceSKILL.md
616console.log(`${colors[color]}${message}${colors.reset}`);
medium line 626

Template literal with variable interpolation in command context

SourceSKILL.md
626const configPath = path.join(this.configDir, `${env}.json`);
medium line 629

Template literal with variable interpolation in command context

SourceSKILL.md
629colorLog(`❌ Environment config not found: ${configPath}`, 'red');
medium line 642

Template literal with variable interpolation in command context

SourceSKILL.md
642colorLog(`✅ Environment config is valid: ${env}`, 'green');
medium line 645

Template literal with variable interpolation in command context

SourceSKILL.md
645colorLog(`❌ Failed to validate environment config: ${env}`, 'red');
medium line 652

Template literal with variable interpolation in command context

SourceSKILL.md
652const configPath = path.join(this.configDir, `${env}.json`);
medium line 653

Template literal with variable interpolation in command context

SourceSKILL.md
653const envPath = path.join(this.envDir, `.env.${env}`);
medium line 656

Template literal with variable interpolation in command context

SourceSKILL.md
656colorLog(`❌ Environment config not found: ${configPath}`, 'red');
medium line 672

Template literal with variable interpolation in command context

SourceSKILL.md
672colorLog(`✅ Generated environment file: ${envPath}`, 'green');
medium line 675

Template literal with variable interpolation in command context

SourceSKILL.md
675colorLog(`❌ Failed to generate environment file: ${env}`, 'red');
medium line 697

Template literal with variable interpolation in command context

SourceSKILL.md
697.map(([key, value]) => `${key}=${value}`)
medium line 715

Template literal with variable interpolation in command context

SourceSKILL.md
715const envPath = path.join(this.envDir, `.env.${envName}`);
medium line 723

Template literal with variable interpolation in command context

SourceSKILL.md
723colorLog(`${configStatus} ${configPath}`, hasConfig ? 'green' : 'red');
medium line 724

Template literal with variable interpolation in command context

SourceSKILL.md
724colorLog(`${envStatus} ${envPath}`, hasEnvFile ? 'green' : 'red');
medium line 730

Template literal with variable interpolation in command context

SourceSKILL.md
730const config1Path = path.join(this.configDir, `${env1}.json`);
medium line 731

Template literal with variable interpolation in command context

SourceSKILL.md
731const config2Path = path.join(this.configDir, `${env2}.json`);
medium line 742

Template literal with variable interpolation in command context

SourceSKILL.md
742colorLog(`🔍 Comparing environments: ${env1} vs ${env2}`, 'blue');
medium line 751

Template literal with variable interpolation in command context

SourceSKILL.md
751colorLog(` ${key}:`, 'cyan');
medium line 752

Template literal with variable interpolation in command context

SourceSKILL.md
752colorLog(` ${env1}: ${JSON.stringify(values.env1)}`, 'yellow');
medium line 753

Template literal with variable interpolation in command context

SourceSKILL.md
753colorLog(` ${env2}: ${JSON.stringify(values.env2)}`, 'yellow');
medium line 769

Template literal with variable interpolation in command context

SourceSKILL.md
769const fullKey = prefix ? `${prefix}.${key}` : key;
medium line 865

Template literal with variable interpolation in command context

SourceSKILL.md
865console.log(`${colors[color]}${message}${colors.reset}`);
medium line 875

Template literal with variable interpolation in command context

SourceSKILL.md
875const envFile = path.join(this.envDir, `.env.${env}`);
medium line 878

Template literal with variable interpolation in command context

SourceSKILL.md
878colorLog(`❌ Environment file not found: ${envFile}`, 'red');
medium line 896

Template literal with variable interpolation in command context

SourceSKILL.md
896colorLog(`✅ Switched to environment: ${env}`, 'green');
medium line 897

Template literal with variable interpolation in command context

SourceSKILL.md
897colorLog(`📄 Environment file: ${this.rootEnvFile}`, 'cyan');
medium line 901

Template literal with variable interpolation in command context

SourceSKILL.md
901colorLog(`❌ Failed to switch environment: ${env}`, 'red');
medium line 919

Template literal with variable interpolation in command context

SourceSKILL.md
919colorLog(`📍 Current environment: ${env}`, 'blue');
medium line 943

Template literal with variable interpolation in command context

SourceSKILL.md
943colorLog(` • ${env}`, 'cyan');
low line 61

Access to .env file

SourceSKILL.md
61touch environments/development/.env.development
low line 62

Access to .env file

SourceSKILL.md
62touch environments/staging/.env.staging
low line 63

Access to .env file

SourceSKILL.md
63touch environments/production/.env.production
low line 345

Access to .env file

SourceSKILL.md
345const nodeEnv = process.env.NODE_ENV;
low line 346

Access to .env file

SourceSKILL.md
346const vercelEnv = process.env.VERCEL_ENV;
low line 523

Access to .env file

SourceSKILL.md
523return process.env.NODE_ENV === 'test';
low line 548

Access to .env file

SourceSKILL.md
548return process.env[key];
low line 653

Access to .env file

SourceSKILL.md
653const envPath = path.join(this.envDir, `.env.${env}`);
low line 715

Access to .env file

SourceSKILL.md
715const envPath = path.join(this.envDir, `.env.${envName}`);
low line 871

Access to .env file

SourceSKILL.md
871this.rootEnvFile = path.join(process.cwd(), '.env.local');
low line 875

Access to .env file

SourceSKILL.md
875const envFile = path.join(this.envDir, `.env.${env}`);
low line 886

Access to .env file

SourceSKILL.md
886// Backup current .env.local if it exists
low line 888

Access to .env file

SourceSKILL.md
888const backupFile = path.join(process.cwd(), '.env.local.backup');
low line 890

Access to .env file

SourceSKILL.md
890colorLog('📋 Backed up current .env.local to .env.local.backup', 'yellow');
low line 908

Access to .env file

SourceSKILL.md
908colorLog('❌ No .env.local file found', 'red');
low line 924

Access to .env file

SourceSKILL.md
924colorLog('⚠️ Environment not specified in .env.local', 'yellow');
low line 938

Access to .env file

SourceSKILL.md
938const envFiles = fs.readdirSync(this.envDir).filter(file => file.startsWith('.env.'));
low line 939

Access to .env file

SourceSKILL.md
939const environments = envFiles.map(file => file.replace('.env.', '').replace('.local', ''));
low line 1111

Access to .env file

SourceSKILL.md
1111│ └── .env.development
low line 1113

Access to .env file

SourceSKILL.md
1113│ └── .env.staging
low line 1115

Access to .env file

SourceSKILL.md
1115└── .env.production
medium line 606

Hex-encoded characters

SourceSKILL.md
606reset: '\x1b[0m',
medium line 607

Hex-encoded characters

SourceSKILL.md
607red: '\x1b[31m',
medium line 608

Hex-encoded characters

SourceSKILL.md
608green: '\x1b[32m',
medium line 609

Hex-encoded characters

SourceSKILL.md
609yellow: '\x1b[33m',
medium line 610

Hex-encoded characters

SourceSKILL.md
610blue: '\x1b[34m',
medium line 611

Hex-encoded characters

SourceSKILL.md
611cyan: '\x1b[36c',
medium line 612

Hex-encoded characters

SourceSKILL.md
612magenta: '\x1b[35m',
medium line 855

Hex-encoded characters

SourceSKILL.md
855reset: '\x1b[0m',
medium line 856

Hex-encoded characters

SourceSKILL.md
856red: '\x1b[31m',
medium line 857

Hex-encoded characters

SourceSKILL.md
857green: '\x1b[32m',
medium line 858

Hex-encoded characters

SourceSKILL.md
858yellow: '\x1b[33m',
medium line 859

Hex-encoded characters

SourceSKILL.md
859blue: '\x1b[34m',
medium line 860

Hex-encoded characters

SourceSKILL.md
860cyan: '\x1b[36c',
medium line 861

Hex-encoded characters

SourceSKILL.md
861magenta: '\x1b[35m',
low line 77

External URL reference

SourceSKILL.md
77"$schema": "http://json-schema.org/draft-07/schema#",
low line 193

External URL reference

SourceSKILL.md
193"domain": "http://localhost:3000",
low line 194

External URL reference

SourceSKILL.md
194"apiUrl": "http://localhost:3000/api",
low line 206

External URL reference

SourceSKILL.md
206"corsOrigins": ["http://localhost:3000", "http://localhost:3001"],
low line 228

External URL reference

SourceSKILL.md
228"domain": "https://staging.zeus-framework.dev",
low line 229

External URL reference

SourceSKILL.md
229"apiUrl": "https://staging-api.zeus-framework.dev",
low line 241

External URL reference

SourceSKILL.md
241"corsOrigins": ["https://staging.zeus-framework.dev", "https://staging-admin.zeus-framework.dev"],
low line 263

External URL reference

SourceSKILL.md
263"domain": "https://zeus-framework.dev",
low line 264

External URL reference

SourceSKILL.md
264"apiUrl": "https://api.zeus-framework.dev",
low line 276

External URL reference

SourceSKILL.md
276"corsOrigins": ["https://zeus-framework.dev", "https://admin.zeus-framework.dev"],
Scanned on Mar 1, 2026
View Security Dashboard