Last updated
Onboarding Checklist for New Developers
The manager generates a setup checklist for new team members:
- Copy .env.example to .env
- Set DATABASE_URL — get from team lead or create local PostgreSQL database
- Set REDIS_URL — install Redis locally or use Docker:
docker run -p 6379:6379 redis - Set JWT_SECRET — generate with:
openssl rand -hex 32 - Set STRIPE_SECRET_KEY — use test key from Stripe dashboard (sk_test_...)
- Leave SENDGRID_API_KEY empty — email is disabled in development mode
- Run validation:
npm run env:validateto confirm all required variables are set
The Environment Variable Manager on TechConverter.me brings structure and visibility to application configuration management, reducing deployment failures, onboarding friction, and security risks from misconfigured or missing environment variables.
Examples
Example 1: Organizing Variables by Category
A Node.js application with 30+ environment variables is organized into logical groups:
Category: Database
DATABASE_URL postgresql://... required connection string
DATABASE_POOL_MIN 2 optional min pool connections
DATABASE_POOL_MAX 10 optional max pool connections
DATABASE_SSL true required enable SSL in production
Category: Authentication
JWT_SECRET [secret] required min 32 chars
JWT_EXPIRES_IN 7d optional token expiry duration
SESSION_SECRET [secret] required express session secret
BCRYPT_ROUNDS 12 optional password hash rounds
Category: External Services
STRIPE_SECRET_KEY sk_live_... required payment processing
SENDGRID_API_KEY SG.... required transactional email
TWILIO_ACCOUNT_SID AC... optional SMS notifications
TWILIO_AUTH_TOKEN [token] optional SMS notifications
Category: Feature Flags
ENABLE_BETA_UI false optional new UI rollout
ENABLE_ANALYTICS true optional usage tracking
MAINTENANCE_MODE false optional disable all writes
Example 2: Environment Comparison (Drift Detection)
The manager compares variable configurations across environments to detect drift:
Variable Comparison: Development vs Production
Variable Development Production Status
DATABASE_URL localhost:5432/dev prod-host:5432/app ✓ different (expected)
JWT_EXPIRES_IN 30d 7d ⚠ different (review)
BCRYPT_ROUNDS 10 12 ⚠ different (review)
ENABLE_ANALYTICS false true ✓ different (expected)
NEW_RELIC_LICENSE_KEY (not set) abc123... ✗ missing in dev
REDIS_TLS (not set) true ✗ missing in dev
Issues found:
- NEW_RELIC_LICENSE_KEY missing in development (optional — OK if not needed locally)
- REDIS_TLS missing in development (may cause connection issues if Redis requires TLS)
- JWT_EXPIRES_IN differs — confirm this is intentional
Example 3: Variable Documentation with Validation Rules
Each variable can be documented with metadata that helps developers configure their environments correctly:
Variable: DATABASE_URL
Description: PostgreSQL connection string for the primary database
Format: postgresql://[user]:[password]@[host]:[port]/[database]
Required: yes
Default: (none)
Validation: must start with postgresql:// or postgres://
Example: postgresql://postgres:password@localhost:5432/myapp_dev
Where to find: Cloud provider dashboard (RDS, Supabase, Neon, etc.)
Notes: Add ?sslmode=require for production connections
Variable: BCRYPT_ROUNDS
Description: Number of bcrypt hashing rounds for password storage
Format: integer
Required: no
Default: 12
Validation: must be between 10 and 14
Notes: Higher = more secure but slower. 12 recommended for production.
Use 10 in development for faster test runs.