# Learn NestJS > Free NestJS tutorials, plus how NestJS conventions make agent-generated backend code reviewable. Canonical: https://learn-nestjs.com/ Licence: content free to read and quote with attribution to Learn NestJS (https://learn-nestjs.com/). Maintainer: Code Learning Dojo. Last built 2026-09-06. ## Foundations The syntax and the mental model. Short, runnable, no fluff. - [Hello, World!](https://learn-nestjs.com/hello-world/): A running NestJS application in three commands, and what each generated file is actually for. - [Modules](https://learn-nestjs.com/modules/): The unit of organisation in Nest, and the thing that decides what can see what. - [Controllers and routing](https://learn-nestjs.com/controllers/): Parse the request, call a service, return a value. Everything else in a controller is a mistake. - [Providers and dependency injection](https://learn-nestjs.com/providers-and-di/): How Nest constructs your objects, and the injection patterns worth knowing beyond the constructor. - [DTOs and validation](https://learn-nestjs.com/dto-and-validation/): The boundary where untrusted input becomes a typed object. Get this right and most of your input-handling bugs disappear. - [Guards, authentication and authorisation](https://learn-nestjs.com/guards-and-auth/): Guards answer one question: may this request proceed? Getting the difference between authentication and authorisation right is where most back-end vulnerabilities live. - [Database access and testing](https://learn-nestjs.com/database-and-testing/): Wiring a database into a Nest module, and building the test setup that lets an agent iterate without a container. - [Interceptors](https://learn-nestjs.com/interceptors/): Code that wraps a handler — before and after. Logging, response shaping, caching, timeouts and cleanup all live here. - [Exception Filters](https://learn-nestjs.com/exception-filters/): Turning thrown errors into HTTP responses — in one place, with full detail in the log and none of it leaking to the client. - [Middleware and Lifecycle](https://learn-nestjs.com/middleware-and-lifecycle/): The layer beneath Nest's abstractions, and the module hooks that decide whether your redeploys leak database connections. - [Configuration and Environment](https://learn-nestjs.com/configuration/): An application that refuses to start on a missing secret is far better than one that starts and fails on the first request that needs it. ## AI-Native Configuring agents, harnesses and feedback loops for this language. Updated as the tooling moves. - [Nest conventions make agent-written code reviewable](https://learn-nestjs.com/ai/conventions-for-agents/): The framework's opinionated structure turns out to be exactly what makes generated back-end code fast to review. Here is how to lean on it. - [Writing an AGENTS.md for NestJS](https://learn-nestjs.com/ai/agents-md/): Nest already decides where things go, so this file has one real job: the security configuration the framework will happily let you get wrong. - [Per-tenant token budgets in NestJS](https://learn-nestjs.com/ai/tokenomics/): Nest's interceptors and guards are exactly the right shape for cost control: measure in one place, enforce before the handler runs, and no feature can be added without both. ## Review & Verify How generated code fails in this language, and the checks that catch it before your users do. - [The NestJS mistakes language models actually make](https://learn-nestjs.com/review/failure-modes/): TypeScript catches the type errors. What gets through is authorisation, validation configuration, and logic drifting out of services — and those are the ones that matter. - [Dependency hygiene for NestJS projects](https://learn-nestjs.com/review/dependencies/): npm's problems, plus a framework whose packages must all be on the same major version, plus a decorator ecosystem where a version mismatch produces a runtime error with no useful message. - [Security review checklist for NestJS applications](https://learn-nestjs.com/review/security/): The framework gives you the right places to put security controls. What it will not do is tell you when one is missing — and a missing global is invisible until someone finds it. - [The performance traps in generated NestJS code](https://learn-nestjs.com/review/performance/): Two Nest-specific problems dominate: N+1 queries through the ORM, and request-scoped providers that quietly make your entire dependency graph rebuild on every request. ## Reference pages - [About Learn NestJS, and how we make money](https://learn-nestjs.com/about/): Editorial policy, sourcing, corrections and affiliate disclosure for Learn NestJS, part of the Code Learning Dojo network. - [The NestJS stack we would set up today](https://learn-nestjs.com/tools/): An opinionated NestJS stack: ORM, validation, config, testing, observability, hosting, and the packages worth adding or avoiding.