nestrs
NestJS-like API framework for Rust built on Axum and Tower.
nestrs gives you a familiar module/controller/provider mental model with Rust performance and explicit typing.
Highlights
- Module-oriented architecture (
module,controller,injectablemacros) - HTTP route macros (
get,post,put,patch,delete,options,head,all) - DI + application context
- DTO validation pipeline and class-validator-style ergonomics
- Cross-cutting pipeline: guards, pipes, interceptors, exception filters, strategies
- Production controls: backpressure, metrics, request tracing, security runbooks
- Performance hardening workflows: benchmark gating, history tracking, dashboard artifacts
Ownership and release
- Maintainer / code owner: @Joshyahweh
- Current workspace version:
0.1.1(fromVERSIONand workspace package settings) - Release notes template:
.github/release-template.md - Changelog:
CHANGELOG.md - Contribution guide:
CONTRIBUTING.md - Release process:
RELEASE.md - Code of conduct:
CODE_OF_CONDUCT.md - Security disclosure policy:
SECURITY.md - Licenses:
LICENSE-MITandLICENSE-APACHE
Project Layout
nestrs/- main framework crate (public runtime API)nestrs-core/- runtime primitives (context, traits, metadata, strategy)nestrs-macros/- proc macros and helper attributesnestrs-cli/- scaffold/generate CLI (crates.io package name:nestrs-scaffold, binary:nestrs)nestrs-prisma/- Prisma integration cratenestrs-microservices/- transport/client/event primitivesnestrs-openapi/,nestrs-graphql/,nestrs-ws/- parity extension crateswebsite/- landing page + docs hub (light/dark theme)
Quick Start
1) Build and test
2) Run an example app
If the example package name differs in your local setup, run:
3) Preview website/docs locally
Then open:
http://localhost:4173/website/(landing page)http://localhost:4173/website/docs.html(documentation hub)
Documentation Index
Core docs
website/docs.html- docs portal entrypointCHANGELOG.md- release history
Platform/operations
PRODUCTION_RUNBOOK.md- deployment/operations runbookSECURITY.md- security guidance and controlsMICROSERVICES.md- microservices/event-driven patterns
Performance and benchmark ops
benchmarks/BASELINE.md- how to run, compare, and track benchmarksbenchmarks/relative_thresholds.json- active relative regression gate config
Storage + publishing
BENCHMARK_STORAGE_PLAYBOOK.md- long-term storage layout and restore workflowBENCHMARK_STORAGE_SECRETS_CHECKLIST.md- provider setup checklist (OIDC/least privilege).github/workflows/benchmark-storage-sync.yml- manual-dispatch storage sync template
Common Commands
# benchmark gates
# benchmark reports and recommendation artifacts
CI Workflows
.github/workflows/security.yml- security checks.github/workflows/ci.yml- PR/push checks on MSRV + stable + beta, plus fmt/clippy/docs/audit.github/workflows/performance.yml- performance benches, gating, reporting, optional publishing.github/workflows/benchmark-storage-sync.yml- storage sync template for S3/GCS/Azure.github/workflows/release-version-check.yml- enforcesVERSIONand latestCHANGELOG.mdrelease heading stay in sync.github/workflows/publish-crates.yml- tag-driven crates.io publish after preflight; usesCARGO_REGISTRY_TOKEN(optional OIDC/trusted publishing can replace this)
GitHub community templates
.github/ISSUE_TEMPLATE/bug_report.yml.github/ISSUE_TEMPLATE/feature_request.yml.github/ISSUE_TEMPLATE/config.yml.github/pull_request_template.md
Status
The tracked roadmap implementation is complete. Ongoing work is maintenance mode: periodic benchmark history accumulation and threshold re-evaluation when data changes.