Nothing to wire up
Next.js/Nuxt-inspired file-based routing for your backend. Drop a file into api/, ws/, services/, di/ or middlewares/ and it is live. No decorators, no module graph, no registration calls.
Project structure
The backend framework that configures itself. CloveJS brings Next.js/Nuxt-inspired file-based routing to Node.js — your folder structure defines your routes, services, middlewares and injectables, fully typed, with zero manual registration.
npm i clovejs
npx clove scaffold # create the default project structure
npm run devCreate src/api/v1/users/[id].get.ts:
import { get } from "clovejs"
export default get(async (req, res, ctx) => {
return ctx.users.findById(Number(req.params.id))
})GET /api/v1/users/1 now returns JSON. No router file was edited, and ctx.users is typed because a file exists at src/services/users.ts.
npx clove skillsWrites the conventions on this page into .claude/, .cursor/, .antigravity/ and AGENTS.md, so your coding agent drops a file into api/ instead of scaffolding a router you do not need. See AI editors.
Ready for the details? Start with Getting started.