The field guide
Aviary is a habitat of plug-n-play, fully-configurable libraries for NestJS, published under @dudousxd.
Aviary is a collection of libraries for NestJS that are designed to live together —
in the spirit of TanStack for the React world and
Laravel for the PHP world. Every library is independent, every
library is typed end-to-end, and every library ships under the @dudousxd scope.
Two promises hold across the whole habitat:
- Plug-n-play — import a module, get defaults that work. No config marathon.
- Fully configurable — every adapter, store, transport and validator is a public API.
They also share a common nervous system: Context. Adopt one library and the next one is cheaper, because they already speak the same language.
Pick a specimen
Each library is its own section in the sidebar (tap the selector at the top of it). Start with whichever solves your problem today — you can always add more of the flock later.
The collection
Authz
Laravel-style Gates & Policies. Zero-DB authorization core.
Codegen
Typed client artifacts with pluggable validators.
Context
Shared AsyncLocalStorage context for the whole stack.
Durable
Durable, resumable cross-app workflows.
Filter
A query filter language with ORM adapters.
Inertia
TypeScript-first Inertia.js adapter, multi-app.
Notifications
Laravel-style notifications, many channels.
Telescope
Telescope-style observability console.
Conventions
Across every package you'll find the same shapes:
| You'll see | It means |
|---|---|
XxxModule.forRoot(options) | Global, configured-once setup. |
XxxModule.forFeature(...) | Per-feature / per-module registration. |
@dudousxd/nestjs-<lib>-<adapter> | An optional adapter you opt into. |
@dudousxd/nestjs-<lib>-testing | First-class testing helpers. |
Ready? Open a specimen from the sidebar, or jump straight to Context — the library everything else builds on.