Skip to main content

Getting Started

NestJS Toolbox is a growing collection of practical NestJS components — TypeORM utilities, logging, access control, API helpers, and more.

Each package is independently installable, lightweight, and follows a decorator-first, zero-config philosophy.

Installation

All packages are published under the @nest-toolbox npm scope. Install only what you need:

npm install @nest-toolbox/response-envelope
npm install @nest-toolbox/request-context
npm install @nest-toolbox/typeorm-audit-log
# ... etc

Packages Overview

🗄️ TypeORM Utilities

PackageDescription
typeorm-audit-logAutomatic audit logging with user attribution and diff tracking
typeorm-paginateSimple, efficient pagination for TypeORM queries
typeorm-soft-deleteSoft delete utilities with enhanced DX
typeorm-upsertUpsert (insert or update) operations for TypeORM

📝 Logging

PackageDescription
bunyan-loggerNestJS LoggerService backed by Bunyan
winston-loggerNestJS LoggerService backed by Winston
http-logger-middlewareHTTP request/response logging middleware
bootstrap-logPretty bootstrap log with your app configs

🔧 Utilities

PackageDescription
access-controlFlexible role-based access control using role-acl
request-contextLightweight AsyncLocalStorage-based request context with auto-generated request IDs
response-envelopeStandard API response envelope with interceptor and helpers
open-api-spec-to-tsGenerate TypeScript interfaces from OpenAPI specs
version-generatorGenerate version info from git metadata
progress-barSimple CLI progress bar for long-running tasks

Philosophy

  • Safety > Performance > Developer Experience — in that order
  • Decorator-first@SkipEnvelope(), @Auditable(), @ApiMessage() — just works
  • Zero config — sensible defaults, opt-in customization via forRoot()
  • Zero technical debt — tested, linted, typed
  • Minimal dependencies — each package pulls only what it needs

Contributing

PRs welcome! See the GitHub repository for contribution guidelines.