API starters · Rank #36

C

node-boilerplate

Grade C: derived only from the two verdicts below. How grades work

Node Typescript Boilerplate for Microservices. Skeleton for Node.js Apps written in TypeScript (with Setup Instructions for ESLint, Prettier, and Husky)

Slowing1 major behindFree

Why this verdict

How we check →
  • No commits in 90 days; last commit 168 days ago. receipt ↗
  • Latest release v2.0.0, 1015 days ago. receipt ↗
  • Express 4 declared; latest is 5 (1 major behind). receipt ↗
  • Not counted in verdict: TypeScript 5 → 7. receipt ↗

Snapshot: commit 1f57b01 on master, checked 2026-10-19 06:27 UTC. Receipts link to files at this exact commit.

Dependency freshness

PackageDeclaredLatestStatus
TypeScript typescript5.7.37.0.2Behind, not counted
Express express4.21.25.3.01 major behind

Declared = lowest version the kit's dependency file (package.json, pyproject.toml or requirements.txt) allows. Latest = the npm "latest" tag or the newest PyPI release. TypeScript, the Stripe SDK, FastAPI and other 0.x packages are shown but not counted in the verdict.

What's in the stack

Framework
Express
Testing
Jest

Detected from declared dependencies. A listed package means it's installed, not necessarily fully wired up.

What the README says you get

  • API
    Swagger UI docsSwagger UI mounted at `/docs` in non-production.
  • Auth
    Header-based auth demoDemo of header-based auth (requires `x-internal-authorization` and `Authorization`)
  • Deploy
    Hardened DockerfileMulti-stage Dockerfile on `node:22-bookworm-slim`, runs as non-root with `tini` as PID 1, healthcheck baked in.
  • Deploy
    Hardened docker-compose`docker-compose.yml` with `read_only`, `cap_drop: ALL`, `no-new-privileges` and resource limits.
  • Deploy
    Graceful shutdownGraceful shutdown on `SIGINT` / `SIGTERM` with a 10 s drain window.
  • Other
    Helmet security headersHelmet (HSTS in prod), `x-powered-by` disabled, `x-request-id` propagation.
  • Other
    CORS allow-listAllow-list driven CORS via `CORS_ORIGINS`.
  • Other
    Global rate limiterGlobal rate limiter (`express-rate-limit`, draft-7 standard headers).
  • Other
    Body size limitBody size capped at 1 MB by default (configurable via `BODY_LIMIT`).
  • Other
    AES-256-GCM encryptionPBKDF2-HMAC-SHA512 key derivation at OWASP-2023 strength (600 000 iters) + AES-256-GCM with per-message salt + IV embedded in the ciphertext.
  • Other
    Config validationCentralized config validation – the app refuses to boot with bad/missing values.
  • Other
    Structured Winston loggingStructured Winston logging (separate `error.log`, JSON format, level via `LOG_LEVEL`).
  • Other
    Health and readiness endpoints`/healthz` and `/readyz` liveness/readiness endpoints (skipped from rate-limit).
  • Other
    Request ID middlewarePer-request id middleware (echoes/forwards `x-request-id`, falls back to `crypto.randomUUID()`).

Extracted from the kit's README by a local AI model (deepseek-flash) on Sep 29, 2026. Every item is checked against an exact README quote. A README claim is the maker's description, not something we tested.

Watch node-boilerplate

Get told if it goes dormant, gets archived, falls further behind on a core dependency, or changes its license or price.

You'll get a confirmation email first. One click to unsubscribe. Watch as many kits as you like.

RSS feed for node-boilerplate · all changes

History

Sep 29, 2026 → Oct 19, 2026. One square per check, colored by maintenance status. Hover for details.

Show as a table
DateMaintenanceDependenciesCommits (90d)
Oct 19, 2026Slowing1 major behind0
Oct 12, 2026Slowing1 major behind0
Sep 29, 2026Slowing1 major behind0

Sources

Every claim on this page comes from these public records, checked . Open them to verify.

Maintainer? Add the badge

It updates automatically every time we refresh the evidence. Clicking it opens this page.

kitproof badge for node-boilerplate
[![kitproof](https://kitproof.dev/badge/node-boilerplate.svg)](https://kitproof.dev/kits/node-boilerplate/)