agentsclimarketplace

Nestjs configuration

Skill FilippoDeSilva/skills/skills/nestjs/nestjs-configuration

Environment variables validation and ConfigModule setup. Use when validating environment variables with Joi/Zod or configuring ConfigModule in NestJS.From its SKILL.md

Install
npx -y skills add FilippoDeSilva/skills --skill nestjs-configuration

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

2.5 KB, 475 tokens by cl100k_base, as published. Nobody here has run it

NestJS Configuration Standards

Priority: P1 (OPERATIONAL)

Setup

  1. Library: Use @nestjs/config.
  2. Initialization: Import ConfigModule.forRoot({ isGlobal: true }) in AppModule.

Validation

  • Mandatory: Validate environment variables at startup.
  • Tool: Use joi or custom validation class.
  • Effect: app must crash immediately if required env var (e.g., DB_URL) 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 ConfigService to access values.
  • Typing: Avoid magic strings. Use type-safe getter helper or dedicated configuration object/interface.
  • Secrets: Never commit .env files. Add .env* to .gitignore.

⚠️ Adding New Variables

When adding new environment variable to application, you MUST update all of following:

  1. src/config/env.validation.ts: Add class property with appropriate class-validator decorators.
  2. .env.example: Add placeholder value so other developers know about it.
  3. .env.development / .env.test: Add actual development values.
  4. CI/CD Pipelines & Infrastructure: You MUST map 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 container runtime. Failure to this will cause 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.

What ships with it: 1 file

2.0 KB alongside SKILL.md

evals/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.