name, category, public, database, hosting_hints, audit_stack, plugins
name
category
public
database
hosting_hints
audit_stack
plugins
rest-api-node
api
false
optional
vps
docker
k8s
render
railway
fly
analyze
code-clean
cso
perf
doc
context7
ui-ux-pro-max
gstack
yes
no
no
REST API (Node.js)
API backend Node.js pure (Express / Fastify / Koa / Hapi / NestJS), sans frontend inclus.
Detection signals
Strong signals (× 3)
DEP: package.json contient l'un de : "express", "fastify", "koa", "@hapi/hapi", "@nestjs/core"
FILE: src/app.ts OR src/server.ts OR src/main.ts AVEC STRING "listen(" OR "createServer"
Medium signals (× 2)
FILE: src/routes/ OR src/controllers/ OR src/handlers/
DEP: ORM — prisma, typeorm, sequelize, drizzle-orm, mongoose, knex
DEP: Validation — zod, joi, yup, class-validator
Weak signals (× 1)
DEP: jsonwebtoken, passport, bcrypt, argon2
DEP: pino, winston, morgan (logging)
FILE: Dockerfile
DIR: tests/ OR src/__tests__/
Counter-signals (exclusion)
DEP: react, next, astro, vue → frontend présent, c'est un fullstack (archetype à créer plus tard) ou SPA+API séparé (monorepo)
DEP: react-native → mobile
Implications
Hébergement : VPS, Docker (Render, Railway, Fly.io), K8s, AWS ECS/Lambda
Base de données : FORTEMENT PROBABLE — la plupart des API backend ont une DB
SEO/GEO : N/A (API non indexée)
Surface sécurité : GRANDE — point d'entrée principal pour attaques (injections, auth, rate limit)
UI/UX : N/A
Typical pain points
Pas de versioning API (/api/v1/) — flag CLAUDE.md : "Web APIs always versioned"
Validation input absente (pas de Zod/Joi/class-validator)
SQL injections (string concat dans queries brutes)
Auth faible (pas de hash password, ou MD5/SHA1)
JWT secret en dur / faible / court
CORS * en production
Pas de rate limiting (express-rate-limit, @fastify/rate-limit)
Pas de helmet / CSP
Secrets dans le repo (.env committé)
Logs qui fuient PII / tokens
Pas de health check (/healthz) pour load balancer
Pas d'observability (Sentry / OTel)
Pas de tests (intégration absente)
Deps obsolètes (npm audit non exécuté)
Interview questions (adaptive)
En plus du set minimum business :
Framework : Express / Fastify / NestJS / Koa / Hapi ?
Base de données : PostgreSQL / MySQL / MongoDB / SQLite / autre / aucune ?
ORM : Prisma / Drizzle / TypeORM / Sequelize / Mongoose / raw SQL ?
Auth : JWT / OAuth / session / API key / aucun ?
Consommateurs : frontend propre / mobile / tierce partie / interne ?
Rate limiting en place ? (oui + comment / non)
Observability : Sentry / OpenTelemetry / logs seulement / aucun ?
Tests : unitaires + intégration ? couverture cible ?
Déploiement : VPS / Docker / Lambda / autre ?
Documentation API : OpenAPI/Swagger / Postman / aucune ?
Plugin recommendations
context7 : ON — Prisma/Drizzle/Fastify évoluent vite
ui-ux-pro-max : OFF
gstack : OFF (API non navigable)
Example project layout