Skip to content

CloveJSFiles in, routes out.

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.

CloveJS

Sixty seconds to a running API

bash
npm i clovejs
npx clove scaffold      # create the default project structure
npm run dev

Create src/api/v1/users/[id].get.ts:

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.

Bring your assistant along

bash
npx clove skills

Writes 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.

Released under the MIT License.