awesome-nestjs Documentation

A curated list of awesome things related to NestJS 😎

13,186 stars Unknown 1 file · ~18,536 tokens #awesome#awesome-list#list#nestjs
RAW Doc

File: README.md

Contents

Resources

Official Resources

Community

Community-made documentations

Talks

Trainings

Podcasts

Tutorials

Examples

Boilerplate

  • Clean NestJs architecture - This boilerplate show how to setup a clean architecture with NestJs including unit, integration and e2e tests.
  • 🧪 Fully tested NestJS Prisma Clean Architecture Boilerplate - This boilerplate shows how to test your NestJS API with unit, integration and e2e tests. Use-cases are written in functionnal programming with FP-TS.
  • NestJS Permission Boilerplate - This is a basic NestJS boilerplate project built on the more powerful Node.js framework. The main purpose of this project is to dynamically handle roles and permissions assigned to the user.
  • SQB NestJS Boilerplate - A production-ready 🏭 NestJS boilerplate with batteries 🔋 included. No Kidding!.
  • Nest BFF - A boilerplate BFF web application starter-project using NestJS. Includes CLI, and MongoDB migrations features.
  • NestJS Template - Scaffold your next TypeScript API with this production-ready NestJS template crafted for Docker environments.
  • MEAN Todo with NestJS - A simple Todo application with NestJS and Swagger. Included Authorization/Authentication.
  • NestJS Boilerplate - Boilerplate with available authentication, typeorm, env configuration and swagger. Everything you need to start making great things.
  • Awesome Nest Boilerplate - Typescript, Postgresql, TypeORM, Swagger for Api documentation, Role base access control, and best application architecture.
  • NestJS Prisma Starter - Starter project for NestJS includes Graphql with Prisma Client, Passport-JWT authentication, Swagger Api and Docker.
  • TeanJS - TeanJS is a starter that provides you all the keys to be able to start writing your code as quickly as possible.
  • NestJS DDD Boilerplate - Domain Driven Design Base app with NestJS, Class Validator and TypeORM. SOLID principles applied to create fully testable applications.
  • Nest Mongo Graphql - Starter Kit using NestJS MongoDB Graphql and type-graphql inspired the type schema first approach.
  • Ultimate Backend - Enterprise multi-tenant SaaS starter kit with CQRS GraphQL microservice architecture, apollo federation, event source and authentication.
  • NestJS GraphQL Boilerplate - Dockerized API boilerplate with NestJS, TypeORM, TypeGraphQL, MongoDB, GraphQL and automated tasks with Makefile. Code first approach.
  • NextJS & NestJS GraphQL Starter - GraphQL NestJS with NextJS boilerplace. Includes GitHub, Reddit & Google OAuth.
  • The Knests Stack - Full stack/end starter with: PostgreSQL, Knex.js, NestJS, Next.js, GraphQL, React, Material-UI, Docker multistage images for, Docker compose and a GitLab CI/CD pipeline fully configured.
  • Nest Hackathon Starter - Hackathon starter project for NestJS. Includes Prisma, email verification, Passport-JWT authentication, Swagger and more.
  • Stator - A full-stack boilerplate that does it all - automatic releases, deployments, enforced conventions.
  • NestJS REST Starter Kit - By MonstarLab - Features: JWT Auth, RBAC Authorization, TypeORM, winston logger, Pagination, Auto-generated Swagger. Other: prettier, commit-linting husky hooks, SonarCloud, docker-compose.
  • NestJS Api Boilerplate JWT - An API Boilerplate to create a ready-to-use REST API in seconds with NestJS + TypeORM and JWT Auth.
  • NestJS REST API boilerplate for typical project - Boilerplate with Auth, TypeORM, PostgreSQL, Mailing, I18N, Docker, File uploads (support local and Amazon S3 drivers), Swagger, Tests, CI.
  • Truthy NestJS Headless CMS - Open source headless CMS API written using NestJS, that has built-in modules like User Management, Role Management, Permission Management, Email Module, Account Settings, 2FA settings, Throttling, RBAC support, Localization, frontend application written with ReactJS & Redux Saga, UI built with Ant design and many more. Other: unit test using Jest, prettier, commit-linting husky hooks, PostgreSQL, Redis, docker etc.
  • NestJS Realtime Chat - Boilerplate for a realtime chat based on Websockets, TypeORM, PostgreSQL, REST, Docker which includes PassportJS/JWT auth, rooms, kick/ban user functionality
  • Nest Sequelize JWT - Starter kit Nest + Sequelize + jwt.
  • Nest sequelize-typescript - Nest + sequelize-typescript + JWT + Jest + Swagger.
  • Samchon Backend - Template project for NestJS which utilizes Nestia, Safe-TypeORM and PostgreSQL. It supports developers to follow the TDD (Test Driven Development) and BDD (Behavior Driven Development) principles. Documents are well-formed and additional example projects are provided.
  • NestJS Starter - Starter for BFF, MS and API Rest with NestJS, scalable by environments with centralized configuration to use GitOps, CI/CD with GitHub Actions, Dockerization, Conventional commits, versioning, etc... and much more.
  • NestJS HTTP Boilerplate - A template for NestJS, Fastify, Typegoose, Vitest, custom Logger implementation, Redis and more, fast and simple boilerplate.
  • Ultimate NestJs - Nestjs template with Mikroorm, postgres, i18n , twilio, CI/CD with Github actions, conventiona commits with cz and husky, caching, mailer , sentry. Extended ESLint config for best practices. Also has nest's new repl added
  • Zen NestJS Prisma Apollo Angular Starter - An Nx monorepo for creating user portals as a progressive web application. Zen integrates the most widely adopted dependencies within the NestJS, Prisma, Apollo & Angular eco-systems. Code generating the entire data access layer for you.
  • NestJS Webpack Boilerplate - Boilerplate for NestJS with Webpack, Pnpm, Fastify, Swagger, Pino Logger, Airbnb JavaScript Guide, Google JSON Style, ESLint, Prettier, Editorconfig, Husky, Lint-Staged, Commitlint, Axios, Docker, Alias Path, Error Handling and Clustering.
  • Nest Prisma Zod Boilerplate - A best practice for NestJS framework with using Prisma + Postgres, Socket.IO, Zod and Vitest.
  • Nestier - A production-ready NestJS boilerplate with Hexagonal Architecture, Domain-Driven Design, Generic Repository Pattern, CRUD operations, TypeORM, MongoDB, JWT Authentication, Swagger, Winston Logger, Mailjet, AutoMapper, Advanced Search, Pagination, Soft Delete, Docker, Jest, ESLint, Prettier and SonarQube.
  • NestJS Drizzle Auth.js - A Nest.js Boilerplate Using Drizzle + Postgres and integrates Auth.js.
  • Stytch NestJS Starter - A production-ready NestJS backend starter with Stytch authentication integration. Features complete email/password auth with session management, Redis session caching, smart session refresh, TypeORM with PostgreSQL, Docker setup, and TypeScript throughout.
  • NestJS Boilerplate with Awesome Docs - A NestJS boilerplate with SWC builder, PNPM, Auth, TypeORM, PostgreSQL, Seeding data (TypeORM Extension), Mailing (@nestjs-modules/mailer, nodemailer), Logging (Pino), Exception Handling, I18N, Dockerization (Local development, production), Swagger, Document (Vuepress), Lint & format (ESLint, Prettier, Editorconfig, Husky, Lint-Staged, Commitlint), Tests, CI.
  • NestJS Boilerplate with Turborepo - A robust boilerplate integrating NestJS for the backend and Next.js for the frontend, optimized with Turborepo for a monorepo architecture. It leverages SWC for lightning-fast compilation, PNPM for efficient package management, and implements JWT-based authentication with refresh token support. The backend uses TypeORM with PostgreSQL, and includes a mail service powered by Nodemailer. The frontend is pre-configured with Shadcn UI, supports a micro-frontend architecture, and includes built-in linting and formatting tools—making it ideal for building scalable and modern full-stack applications.
  • NestForge - More than a boilerplate — it's a complete AI-powered development platform that takes you from database schema to production-ready API in minutes. Unlike traditional boilerplates, NestForge uses AI-assistance generators to create production-ready CRUD modules and guides you in extending them with business logic while keeping your code fully aligned with architectural standards. Features zero-config setup, hexagonal architecture, enterprise features (JWT, Biometric login, Social Auth, File Management, Mailing System, i18n, GitHub Actions), Hygen code generation, AI that codes with you, and full testing suite (Unit, E2E, Load tests).
  • Nestify - A powerful CLI toolkit for generating production-ready NestJS projects in one command. Includes authentication scaffolding, Prisma/TypeORM support, database integrations (MySQL, PostgreSQL, MongoDB), Docker setup, testing, GitHub Actions CI/CD, and pre-configured development tools (ESLint, Prettier, Swagger). Documentation
  • NestJS Boilerplate - Enterprise-grade full-stack SaaS starter with NestJS, Drizzle ORM, Turborepo monorepo, React 19 admin panels (Ant Design Pro & shadcn/ui), authentication, authorization, audit logging, and DDD architecture.

Projects using NestJS

Open Source

  • Ever® - Open-Source Commerce Platform for On-Demand Economy and Digital Marketplaces.
  • Gauzy - Open-Source Profits Sharing Platform for modern agencies and studios.
  • Novu - The open-source notification infrastructure with fully functional embedded notification center.
  • Pimp My PR - Open-Source platform for statistics and pull request management.
  • Teable - A Super fast, Real-time, Professional, Developer-friendly, No code database.
  • ToolJet - ToolJet is the open-source low-code framework alternative to Retool & Mendix to build & deploy internal tools with minimal engineering effort. (Source Code) GPL-3.0
  • Vendure - Open-Source headless GraphQL ecommerce framework built on NestJS, with a focus on developer productivity and ease of customization.
  • iola - Socket client with Rest API.
  • Amplication - Amplication is an open-source low-code devtool that auto-generates backend apps built with TypeScript and Node.js, and a client built with React.
  • Necord/Toolkit - Toolkit is an open-source bot for searching and sending documentation, built with Necord.
  • Eicrud - An opinionated framework that extends NestJS with CRUD services, user management commands, and authorization controls.
  • apitable - APITable, an API-oriented low-code platform for building collaborative apps and better than all other Airtable open-source alternatives.
  • Ghostfolio - Ghostfolio is a privacy-focused, open-source dashboard that simplifies asset tracking and supports informed financial decisions.
  • Twenty - An open-source full-stack CRM system designed as an alternative to Salesforce for managing customer data and workflows efficiently.
  • Manifest - Open-source real-time cost observability for AI agents. Built with NestJS 11, TypeORM, SQLite. Tracks tokens, costs, messages, model usage. Self-hostable, privacy-focused, OTLP-native. (Source Code) MIT
  • Syncle - Keeps PostgreSQL, MySQL, SQLite, MongoDB and Redis in sync with each other, by one-off backfill, cursor polling, or real-time change data capture. (Source Code) MIT
  • IdeaForge - A powerful document collaboration platform that combines Notion-like functionality with AI capabilities. It offers a seamless environment for real-time collaborative editing, AI-powered writing assistance, and intuitive document management.
  • Bunnychess - Open-source, scalable chess server built with NestJS microservices and NATS JetStream.
  • Hoppscotch - Open source API development ecosystem with NestJS backend - alternative to Postman.
  • Enclave - Open-source, self-hosted, single-owner AI social world. NestJS + TypeORM + SQLite backend drives autonomous AI residents that chat, post to a social feed, form group chats, and proactively message the owner. Works with any OpenAI-compatible endpoint (DeepSeek default). docker compose up -d to self-host. MIT
  • gitcard-studio - Open-source, production-grade SVG stats generator microservice built with NestJS, Astro, Clean Architecture (DDD), PostgreSQL/TypeORM, and Vitest.

Components & Libraries

Utilities

  • @nestjs/cqrs - A lightweight CQRS module for Nest framework.
  • @nestjs/throttler - A rate limiting module for NestJS with multiple storage strategies.
  • @nestjs-architects/typed-cqrs - A wrapper for the Nest CQRS library for better typing of query and command results.
  • nestjs-config - A Great module to handle project configurations.
  • nest-typed-config - Intuitive, type-safe configuration module for Nest framework.
  • configfy - A decorator based configuration module that makes it easier to deal with configuration files and secrets.
  • @nestcloud/cli - A Node.js micro-service solution based on Consul, writing by Typescript language and NestJS framework.
  • nestjs-easyconfig - A NestJS module for managing configs that provides some sleek features.
  • nest-schedule - Schedule job easier by decorator.
  • nest-queue - Easy queue management based on Redis for your application.
  • NestJS Toolbox - The repository contains a suite of components and modules for NestJS.
  • nestjs-multer-extended - Extended MulterModule for NestJS framework with flexible Amazon S3 upload and helpful features.
  • nestjs-cls - A continuation-local storage module for Nest (using async_hooks)
  • nestjs-http-promise - A Promise-based alternative to @nestjs/axios, with retries feature using axios-retry and axios.
  • NestJS Toolkit - This toolkit is intended to be used in NestJs Starter, or any project that uses a centralized configuration, following the same architecture of the starter. Pks: http-client, typeorm, redis, filter exceptions, test utilities with test containers.
  • typia: 20,000x times faster runtime validator using pure TypeScript type.
  • @nestia/core: 20,000x times faster validation and 200x faster JSON serialization decorators using typia. Enable to utilize pure TypeScript interface type as DTO, and overall server performance improved by about 30x times. Also, supports advanced websocket controlle methods through tgrid.
  • @nestia/migrate: Migration program generating NestJS project from swagger.json file. Also possible to generate SDK (collection of fetch functions with type definitions) and Mockup Simulator (backend server simulator embedded in SDK) from swagger.json file through @nestia/sdk
  • dto-classes: Developer-friendly parsing, validation & serialization. Pipes auto-parse via type declarations. Uses properties for field schemas, not decorators.
  • nestjs-zod - A NestJS module that integrates Zod for schema validation and transformation.
  • @nest-openapi/validator - Automatic request and response validation using OpenAPI specifications with AJV. (Documentation)
  • @nest-openapi/serializer - High-performance response serialization using fast-json-stringify based on OpenAPI schemas. (Documentation)
  • nestjs-conditional-exception-filter - A tiny utility to support attribute-based exception filtering, ie., no need to use classes for @Catch().
  • murlock - MurLock is a distributed lock solution designed for the NestJS framework. It provides a decorator @MurLock() that allows for critical sections of your application to be locked to prevent race conditions.
  • @nestjs-library/config - A NestJS module for managing environment variables easily and securely
  • @youba/nestjs-dbvalidator - A NestJS module has some built-in database validators using class-validator and typeorm
  • @jmcdo29/nestjs-spelunker - A NestJS module that does a bit of a dive through the provided module and reads through the dependency tree from the point of entry given.
  • nestjs-context-logger - A contextual logger for NestJS applications using ALS under the hood.
  • prisma-nestjs-graphql - Generate object types, inputs, args, etc. from prisma schema file for usage with @nestjs/graphql module.
  • @nestjstools/messaging - A NestJS library for managing asynchronous and synchronous messages (service bus | message bus) with support for buses, handlers, channels, and consumers.
  • nestjs-openapi-validation - Validate NestJS DTOs with Zod using TypeScript/OpenAPI spec.
  • @abinnovision/nestjs-configx - Simple configuration management for NestJS, supporting Standard Schema.
  • @stitchapi/nest - Injectable, typed and schema-validated HTTP clients with streaming, retries, throttling and caching, plus Logger and ConfigService bridges, an exception filter and an SSE bridge.
  • dicoshot-nest - Discord webhook notifications for NestJS app lifecycle events.
  • @nestjs-pipeline - Pipeline behaviors for NestJS CQRS with advanced patterns including caching, idempotency, and Clean Architecture support.

Code Style

Web Sockets

  • @nestjs/websockets
  • tgrid - TypeScript RPC (Remote Procedure Call) framework supporting websocket and worker protocols with pure TypeScript types. Supports NestJS websocket controller methods with @nestia/core.

Cache

  • @nestjs/cache-manager - Official caching module for NestJS with support for multiple stores (Redis, Memcached, etc.).
  • nestjs-omacache - A simple, flexible and powerful cache decorator factory for NestJS framework.

Redis

  • @nestjs-modules/ioredis - A ioredis module for Nest framework.
  • @liaoliaots/nestjs-redis - Redis(ioredis) module for NestJS framework.
  • @csenshi/nestjs-redis - NestJS Redis toolkit for node-redis — Client, Redlock, health checks and more.
  • @nestjs-redisx/* - Modular Redis toolkit with plugin architecture: L1+L2 caching (SWR, anti-stampede, tags), distributed locks, rate limiting, idempotency, streams, Prometheus metrics, and OpenTelemetry tracing.
  • nestjs-redlock-universal - Distributed Redis and Valkey lock module with decorators, supporting node-redis, ioredis, and Valkey GLIDE clients.

Mail

API

  • @nestjs/swagger - This's an OpenAPI (Swagger) module for Nest. [Tutorial].
  • nestjs-asyncapi - AsyncAPI module for NestJS.
  • @ptc-org/nestjs-query-* - Nest CRUD for GraphQL APIs.
  • @nestia/sdk - Automatic SDK (Software Development Kit, collection of fetch functions with type definitions like tRPC), Mockup Simulator (backend server simulator embedded in SDK like msw) and Swagger generators, evolved than ever. Also, it can automatically generate e2e test functions for every API routes by analyzing your NestJS server codes.
  • nicot - Metadata-driven REST framework on top of NestJS + TypeORM; generates CRUD endpoints, DTOs, validation and OpenAPI schema from your entities with field-level access-control decorators.
  • nest-problem-details - Nest exception filter to standardize HTTP error responses by converting responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs.
  • @nestjs-library/crud - Automatically generates CRUD routes of a controller for given TypeORM entity.
  • nest-ndjson-req-stream - Accept and automatically deserialize NDJSON request streams in NestJS
  • @nest-native/trpc - Native, decorator-first tRPC integration for NestJS. Build typesafe APIs with full support for Nest dependency injection, guards, and interceptors.
  • @nest-openapi/mcp - Spec-driven Model Context Protocol (MCP) server for exposing OpenAPI operations as AI tools. (Documentation)
  • @silkweave/nestjs - Expose existing controllers as Model Context Protocol (MCP) tools with a single @Mcp() decorator, reflecting tool schemas from route, param, and DTO metadata.

Middleware

Errors

  • @nestjs/observe - Official observability and APM agent for NestJS - error tracking, distributed traces, runtime metrics and CPU profiles.
  • nestjs-flub - Pretty Error :tired_face: Stack Viewer for NestJS Framework :hammer_and_wrench:.
  • nestjs-sentry - Another NestJS Sentry module, with injectable sentry client.

Lint

Router🚦

  • nest-router - Router Module For NestJS Framework 🚦 🚀
    for organizing your Routes, creating a routes tree, and more.

HTTP Adapters

Dialogflow :satellite:

  • nestjs-dialogflow - Dialog flow module that simplify the web hook handling for your NLP application using NestJS.

Logging

  • nest-winston - Winston module for NestJS.
  • nestjs-pino - Pino module for NestJS Log with request context in any place.
  • @ogma/* - A monorepo for the Ogma logger and related packages.

Monitoring

  • @nestjs/observe - Official observability and APM agent for NestJS - error tracking, distributed traces, runtime metrics and CPU profiles.
  • @nestjs/terminus - Integrated healthchecks, based on Terminus package.
  • @metinseylan/nestjs-opentelemetry - Deeply integrated NestJS OpenTelemetry module with auto instrumentations.
  • nest-status-monitor - Simple, self-hosted module based on Socket.io and Chart.js to report realtime server metrics for NestJS based node servers.
  • @narando/nest-xray - Record incoming and outgoing request for AWS X-Ray, also supports custom instrumentation.
  • nestjs-otel - OpenTelemetry module for NestJS.
  • nestjs-hot-shots - Hot-shots Module for NestJS. A Node.js client for Etsy's StatsD server, Datadog's DogStatsD server, and InfluxDB's Telegraf StatsD server.
  • nestjs-prometheus - NestJS module for Prometheus.
  • apitally - Client library for Apitally, a simple API monitoring & analytics tool with alerting for NestJS.
  • nestjs-metrics-reporter - A zero-dependency-injection global metrics reporter for NestJS.
  • @abinnovision/nestjs-healthz - Self-mounting health check module with cross-module attestor discovery and Kubernetes-style probes.
  • @eleven-labs/nest-profiler - Symfony Web Profiler-inspired devtools panel to inspect requests, logs, exceptions, database queries and performance spans in real time, through an extensible collector architecture.

Internationalization (i18n)

  • nestjs-i18n - Adds i18n support easily to your server, with a rich formatting api build in.
  • intlayer - Scoped i18n for error handling, response message and email templates.

Currency

Event

  • @nestjs/event-emitter - Official event emitter module for NestJS based on eventemitter2.
  • nest-event - Event handling with decorators for NestJS Framework.

Auth

  • nestjs-session - Idiomatic Session Module for NestJS. Built on top of express-session.
  • @nestjs-cognito/auth - Complete AWS Cognito authentication and authorization solution for NestJS. Supports REST, GraphQL, WebSocket with JWT verification, guards, decorators and testing utilities.

Reliability

  • nestjs-resilience - A module for improving the reliability and fault-tolerance of your NestJS applications.
  • nestjs-graceful-shutdown - A powerful package for gracefully shutting down NestJS applications.

RBAC (Role-based access control)

  • nestjs-rbac - RBAC module for NestJS, with a dynamic storage and cache.
  • nestjs-keycloak-admin - Keycloak Admin Client with support for User Managed Access protocol.
  • nestjs-oso - Library that simplifies the implementation of OSO (open-source policy engine for authorization).

Multi Tenancy

  • nestjs-mtenant - A module for NestJS to enable multitenancy support with deep integration into the system as whole (based on async_hooks).

Microservice

Database

  • nestjs-prisma - Library and schematics adding Prisma integration to a NestJS application

Testing

Collections of examples

  • Testing Nestjs - A repository to show off to the community methods of testing NestJS including Unit Tests, Integration Tests, E2E Tests, pipes, filters, interceptors, GraphQL, Mongo, TypeORM, and more!

Utilities

  • @golevelup/ts-jest and @golevelup/ts-vitest - Utilities for making testing NestJS applications easier. Currently supports Jest and Vitest
  • @nest-openapi/mock - Spec-driven mock server utility for generating realistic mock responses from OpenAPI specifications. (Documentation)
  • mockingbird - A library to create typed tests fixtures/mocks using decorators and built-in faker support
  • NestJS + Pact - Injectable Pact.js Consumer/Provider for NestJS
  • Suites - Unit testing framework for TypeScript backends working with inversion of control (IoC) and dependency injection frameworks.
  • Keploy - Records real requests through a running NestJS app and replays them as tests with dependency mocks in isolated sandboxes.

Integrations

Auth

Databases

GraphQL

Pattern

Editors

  • VSCode
  • Vast Studio - Vast Studio is a free low-code platform for rapidly scaffolding RESTful APIs with NestJS.
  • @nestia/editor - Enhanced Swagger-UI with online TypeScript IDE of StackBlitz and SDK library of RPC functions

AMQP

EventStore

  • nestjs-geteventstore by PrestaShopCorp - An evenstore.org module for NestJS CQRS with Projects and Subscriptions. Supports Eventstore 21.10.0+
  • @juicycleff/nestjs-event-store - An evenstore.org module for NestJS CQRS with adapter support to persist lastcheckpoint for Catchup subscription.
  • @ocoda/event-sourcing - Event Sourcing, CQRS and DDD building blocks with typed command and query buses, snapshots, and event stores for PostgreSQL, MariaDB and MongoDB that read all events in order.
  • @event-nest/core - A collection of NestJs libraries to help you build applications based on event sourcing with PostgreSQL or MongoDB.

Payment Gateways

Frontend

Scheduling

  • @nestjs/schedule - Official schedule module for NestJS providing cron jobs, timeouts, and intervals.
  • @nestjs/bull - A Bull module for Nest framework.

Workflow Automation

Chatbots

File Storage

Cloud Managed Configuration

SDK

Runtime

Command Line / Terminal

  • @nestjs/cli - CLI tool for NestJS applications.
  • nest-commander - A module for using NestJS to build up CLI applications
  • generator-nestjs-app - A yeoman generator for NestJS apps.
  • nestjs-console - A NestJS module that provide a cli to application.
  • nest-sdk-generator - A command-line utility to generate a fully typed SDK from a Nest.js REST API
  • @cortex-docs/cli - Generates interactive documentation and typed SDKs from the OpenAPI document exposed by @nestjs/swagger.

Meetups

Contribute

Contributions welcome! Read the contribution guidelines first.

License

To the extent possible under law, juliandavidmr has waived all copyright and
related or neighboring rights to this work.


File: CODE_OF_CONDUCT.md

Contributor Covenant Code of Conduct

Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment
include:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery and unwelcome sexual attention or
    advances
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or electronic
    address, without explicit permission
  • Other conduct which could reasonably be considered inappropriate in a
    professional setting

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
available at http://contributor-covenant.org/version/1/4


File: CONTRIBUTING.md

Contribution Guidelines

Thank you for your interest in contributing to Awesome NestJS! 🎉

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


Table of Contents

How to Contribute

  1. Fork the repository
  2. Create a branch for your changes
  3. Make your changes following the guidelines below
  4. Submit a Pull Request with a clear description

Adding a New Resource

Before You Submit

  • Search existing entries to avoid duplicates
  • Verify the resource is actively maintained
  • Ensure all links are working
  • Check that the resource has proper documentation

Requirements

  • Repositories must have at least 10 GitHub stars
  • Resources should be relevant to NestJS development
  • Content must be in English (or have English documentation)
  • Commercial products should offer significant free functionality

Entry Format

Standard Entry

markdown
- [Resource Name](https://link-to-resource) - Brief description ending with a period.

Entry with GitHub Stars Badge

For libraries and tools, include a star badge:

markdown
- ![](https://img.shields.io/github/stars/username/repo.svg?style=flat-square) [`package-name`](https://github.com/username/repo) - Brief description ending with a period.

Guidelines

  • Name: Use the official name of the resource
  • Link: Use the most canonical URL (GitHub repo preferred)
  • Description:
    • Start with a capital letter
    • Be concise (one sentence)
    • End with a period
    • Don't start with "A" or "An" unless necessary
    • Don't include "NestJS" if it's obvious from context

Examples

✅ Good:

markdown
- ![](https://img.shields.io/github/stars/nestjs/throttler.svg?style=flat-square) [`@nestjs/throttler`](https://github.com/nestjs/throttler) - Rate limiting module with multiple storage strategies.

❌ Bad:

markdown
- [nestjs throttler](https://github.com/nestjs/throttler) - A NestJS module for rate limiting

Quality Standards

Resources should meet these criteria:

Criteria Requirement
GitHub Stars ≥ 10 (for repositories)
Documentation Clear and comprehensive
Maintenance Active within the last year
Relevance Directly related to NestJS
Quality Well-tested and production-ready

Categories

Place your resource in the most appropriate category:

Category Description
Resources Official docs, tutorials, talks, examples
Projects using NestJS Open source applications built with NestJS
Components & Libraries Reusable modules and packages
Testing Testing utilities and frameworks
Integrations Third-party service integrations
Runtime CLI tools and runtime utilities

Adding a New Category

If your resource doesn't fit existing categories:

  1. Open an issue to discuss the new category
  2. Ensure at least 3 resources would fit the category
  3. Follow existing naming conventions

Updating Your PR

If maintainers request changes:

  1. Make the requested updates in your branch
  2. Push the changes to update the PR automatically
  3. No need to open a new PR

Need help? Check out this guide on updating PRs.


Questions?

Thank you for helping make Awesome NestJS even more awesome! 🚀


File: SECURITY.md

Security Policy

Reporting Security Issues

The Awesome NestJS list is a curated collection of links to external resources. While we don't handle sensitive data directly, we take the security of our community seriously.

If You Find a Security Issue

If you discover a security vulnerability in any of the linked resources:

  1. Do NOT open a public issue
  2. Contact the maintainers of the affected project directly
  3. Optionally, let us know so we can update or remove the link

If you find that a link in this list leads to:

  • Malware or malicious content
  • Phishing websites
  • Compromised repositories
  • Abandoned projects with known vulnerabilities

Please open an issue or contact the maintainers immediately.

Our Commitment

We commit to:

  • ✅ Reviewing reported security concerns promptly
  • ✅ Removing or updating problematic links
  • ✅ Running automated link checks weekly
  • ✅ Maintaining the integrity of the curated list

Contact


Thank you for helping keep the NestJS community safe! 🛡️


File: .github/funding.yml

These are supported funding model platforms

github: [kamilmysliwiec]
open_collective: nest


File: .github/PULL_REQUEST_TEMPLATE.md

Pull Request

Type of Change

  • Adding a new resource
  • Updating an existing resource
  • Removing an outdated resource
  • Fixing a bug (broken link, typo, etc.)
  • Other (please describe)

Description

Checklist

Please ensure your PR meets the following requirements:

  • I have read the contribution guidelines
  • The resource I'm adding has at least 10 GitHub stars (if applicable)
  • The link I'm adding is working and points to the correct resource
  • I have placed the resource in the appropriate category
  • The description is clear and concise
  • I have followed the existing format:
    • - [Name](URL) - Description.
    • For libraries with star badges: - [Name](URL) - Description.

Resource Details (if adding a new resource)

  • Name:
  • URL:
  • Category:
  • GitHub Stars (if applicable):
  • Why is this resource valuable to the NestJS community?

File: .github/pull_request_template.md

Resource type _(required)_

  • GitHub Repository:
    • (Required) I confirm that the GitHub repository has more than 10 stars.
    • (Required) The repository is not archived.
  • Video.
  • Tutorial.
  • Meetups.
  • Improve documentation (grammatical corrections, improve doc style, ...).

If your contribution is NOT a GitHub repository, then you can skip the next titles, except "Rules".

Description _(required)_

Brief description of the resource you are adding.

Paste link here.

Rules _(required)_

  • NestJS / Nest: It's not nest, nestjs, nest.js, and other variants.
  • Node.js: It's not nodejs, node, and other variants.

File: .github/ISSUE_TEMPLATE/add-resource.yml

name: Suggest a Resource
title: "[Resource]: "
labels: ["enhancement", "new-resource"]
body:

  • type: markdown
    attributes:
    value: |
    Thanks for suggesting a resource for Awesome NestJS!
    Please fill out the information below.

  • type: input
    id: name
    attributes:
    label: Resource Name
    placeholder: e.g., nestjs-awesome-library
    validations:
    required: true

  • type: input
    id: url
    attributes:
    label: Resource URL
    placeholder: https://github.com/username/repo
    validations:
    required: true

  • type: dropdown
    id: category
    attributes:
    label: Category
    options:
    - Official Resources
    - Community
    - Tutorials
    - Examples
    - Boilerplate
    - Open Source Projects
    - Utilities
    - Database
    - Authentication
    - Testing
    - Logging
    - Monitoring
    - GraphQL
    - Microservices
    - Other

    validations:
    required: true

  • type: input
    id: stars
    attributes:
    label: GitHub Stars
    placeholder: e.g., 150

  • type: textarea
    id: description
    attributes:
    label: Description
    placeholder: A NestJS module that provides...
    validations:
    required: true

  • type: textarea
    id: why
    attributes:
    label: Why should this be added?
    placeholder: This resource is useful because...
    validations:
    required: true

  • type: checkboxes
    id: checklist
    attributes:
    label: Checklist
    options:
    - label: This resource has at least 10 GitHub stars (if it's a repository)
    required: false
    - label: This resource is actively maintained
    required: false
    - label: I have verified the link is working
    required: true


File: .github/ISSUE_TEMPLATE/config.yml

blank_issues_enabled: false
contact_links:


File: .github/ISSUE_TEMPLATE/new-resource.md

blank_issues_enabled: false
contact_links:


File: .github/ISSUE_TEMPLATE/report-issue.yml

name: Report an Issue
title: "[Issue]: "
labels: ["bug"]
body:

  • type: markdown
    attributes:
    value: |
    Thanks for helping improve Awesome NestJS!
    Please describe the issue you found.

  • type: dropdown
    id: issue-type
    attributes:
    label: Issue Type
    options:
    - Broken link
    - Outdated resource
    - Incorrect information
    - Duplicate entry
    - Wrong category
    - Other

    validations:
    required: true

  • type: input
    id: resource
    attributes:
    label: Affected Resource
    placeholder: e.g., nestjs-example or https://github.com/...
    validations:
    required: true

  • type: textarea
    id: description
    attributes:
    label: Description
    placeholder: The link to X is broken because...
    validations:
    required: true

  • type: textarea
    id: suggestion
    attributes:
    label: Suggested Fix
    placeholder: The correct link should be...


File: .github/workflows/awesome-lint.yml

name: Awesome Lint

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
awesome-lint:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

text
- name: Setup Node.js
    uses: actions/setup-node@v4
    with:
      node-version: '20'

  - name: Install awesome-lint
    run: npm install awesome-lint

  - name: Run awesome-lint
    run: awesome-lint

name: Check Links

on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
# Run weekly on Sunday at midnight
- cron: '0 0 * * 0'
workflow_dispatch:

jobs:
link-check:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

text
- name: Check links
    uses: lycheeverse/lychee-action@v1
    with:
      args: >-
        --verbose
        --no-progress
        --accept 200,204,206,301,302,303,307,308,403,429
        --exclude-mail
        --exclude "^https://t.me/"
        --exclude "^https://www.facebook.com/"
        --exclude "^https://twitter.com/"
        --exclude "^https://x.com/"
        --exclude "linkedin.com"
        --exclude "meetup.com"
        --timeout 30
        --max-retries 3
        --retry-wait-time 5
        "**/*.md"
      fail: false
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  - name: Upload link check report
    uses: actions/upload-artifact@v4
    if: always()
    with:
      name: link-check-report
      path: ./lychee/out.md
      retention-days: 30

name: Links Checker

on:

Allow triggering this workflow manually via GitHub CLI/web

workflow_dispatch:

Run this workflow automatically every month

schedule:
- cron: '0 0 1 * *'

jobs:
linkChecker:
name: Check links and create automated issue
runs-on: ubuntu-latest
timeout-minutes: 3
env:
REPORT_FILE: links-report
steps:
## Check out code using Git
- uses: actions/checkout@v2

text
- name: Check all links at README.md file
    id: lychee
    uses: lycheeverse/[email protected]
    with:
      format: markdown
      output: ${{ env.REPORT_FILE }}
      fail: false
      ## Allow pages replying with 200 (Ok), 204 (No Content), 400 (Bad Request)
      ## 206 (Partial Content) in at most 20 seconds with HTML content.
      args: >-
        --verbose
        --accept 200,204,206,400
        --headers "accept=text/html"
        --timeout 20
        --no-progress
    env:
      ## Avoid rate limiting when checking github.com links
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  - name: Lychee's exit code
    ## https://github.com/lycheeverse/lychee#exit-codes
    run: echo Lychee exit with ${{ steps.lychee.outputs.exit_code }}

  - name: Find the last report issue open
    uses: micalevisk/last-issue-action@v1
    id: last_issue
    with:
      state: open
      labels: |
        report
        automated issue
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  - name: Create an issue from report file
    if: ${{ steps.last_issue.outputs.has_found == 'false' }}
    uses: peter-evans/create-issue-from-file@v3
    with:
      title: Link checker report
      content-filepath: ${{ env.REPORT_FILE }}
      issue-number: ${{ steps.last_issue.outputs.issue_number }}
      labels: |
        report
        automated issue

  - name: Update the last report open issue open
    if: ${{ steps.last_issue.outputs.has_found == 'true' }}
    uses: peter-evans/create-issue-from-file@v3
    with:
      title: Link checker report
      content-filepath: ${{ env.REPORT_FILE }}
      issue-number: ${{ steps.last_issue.outputs.issue_number }}
      labels: |
        report
        automated issue

  - name: Close the last report open issue
    if: >-
      steps.last_issue.outputs.has_found == 'true' &&
      steps.lychee.outputs.exit_code == 0
    uses: peter-evans/close-issue@v1
    with:
      issue-number: ${{ steps.last_issue.outputs.issue_number }}