Loading...
Loading...
Validate configuration early to fail fast. Apply when writing setup scripts, Lambda cold starts, or any initialization code that depends on environment variables.
npx skill4agent add loxosceles/ai-dev environment-validation// ✅ Preferred: Validate at entry point
function validateEnvironment() {
const required = ['AWS_REGION', 'PROJECT_ID', 'ENVIRONMENT'];
const missing = required.filter(key => !process.env[key]);
if (missing.length > 0) {
throw new Error(`Missing required environment variables: ${missing.join(', ')}`);
}
}
// At script/app entry point
validateEnvironment();
// Now proceed with business logic// shared/env-loader.ts
export function loadAndValidateEnv() {
const required = ['AWS_REGION', 'PROJECT_ID', 'ENVIRONMENT'];
const missing = required.filter(key => !process.env[key]);
if (missing.length > 0) {
throw new Error(`Missing: ${missing.join(', ')}`);
}
return {
awsRegion: process.env.AWS_REGION!,
projectId: process.env.PROJECT_ID!,
environment: process.env.ENVIRONMENT!
};
}
// Usage in scripts/handlers
const config = loadAndValidateEnv();
// All env vars validated, proceed with business logicEnvironmentManager// core/env-manager.ts
export class EnvironmentManager extends BaseManager {
loadEnv(stage: string): Record<string, string> {
this.log(`Loading environment for ${stage}`);
// Validate required variables
const required = ['AWS_REGION', 'PROJECT_ID'];
const missing = required.filter(key => !process.env[key]);
if (missing.length > 0) {
throw new Error(`Missing: ${missing.join(', ')}`);
}
return process.env;
}
}