Nestjs configuration
Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/nestjs-configuration
š§ The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill nestjs-configurationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Environment variables validation and ConfigModule setup. Use when validating environment variables with Joi/Zod or configuring ConfigModule in NestJS. (triggers: .env, app.module.ts, **/config.ts, ConfigModule, Joi, env)
SKILL.md
2.4 KB, as published. Nobody here has run it
NestJS Configuration Standards
Priority: P1 (OPERATIONAL)
Environment configuration and validation patterns for NestJS applications.
Setup
- Library: Use
@nestjs/config. - Initialization: Import
ConfigModule.forRoot({ isGlobal: true })inAppModule.
Validation
- Mandatory: Validate environment variables at startup.
- Tool: Use
joior a custom validation class. - Effect: The app must crash immediately if a required env var (e.g.,
DB_URL) is missing.
// app.module.ts
ConfigModule.forRoot({
validationSchema: Joi.object({
NODE_ENV: Joi.string()
.valid('development', 'production')
.default('development'),
PORT: Joi.number().default(3000),
DATABASE_URL: Joi.string().required(),
}),
});
Usage
- Injection: Inject
ConfigServiceto access values. - Typing: Avoid magic strings. Use a type-safe getter helper or a dedicated configuration object/interface.
- Secrets: Never commit
.envfiles. Add.env*to.gitignore.
ā ļø Adding New Variables
When adding a new environment variable to the application, you MUST update all of the following:
src/config/env.validation.ts: Add the class property with appropriateclass-validatordecorators..env.example: Add a placeholder value so other developers know about it..env.development/.env.test: Add the actual development values.- CI/CD Pipelines & Infrastructure: You MUST map the new variable in your deployment scripts (e.g.,
.github/workflows/*.yml,gitlab-ci.yml, Terraform, or Azure Pipelines). Most modern cloud platforms (Cloud Run, ECS, Kubernetes) require explicit mapping of secrets/env-vars into the container runtime. Failure to do this will cause the production deployment to crash or silently fail.
Anti-Patterns
- No unchecked env vars: Validate all required variables at startup; app must crash if missing.
- No committed secrets: Add
.env*to.gitignore; load values via ConfigService only. - No new vars without CI/CD update: Always update
env.validation.ts,.env.example, and pipeline manifests.