The decisions are already made.
And written down.
Prumo starts a TypeScript project with the framework, the module layout, the database rules, the auth wiring and the test boundaries already chosen. Each one was decided once, recorded with its reasoning and its price, and turned into something that runs.
npx @stjoseph/prumo new my-appA new project arrives with two things
- Code that already works
- Installed, wired together, and proven by starting rather than by compiling. Every template is committed in full and none of them calls somebody else’s scaffolder at install time.
- The conventions it follows
- A .prumo/ folder holding the rules that code obeys. Any AI assistant working in the repository reads it and knows them without anyone explaining. The conventions live in the project, not in someone’s head.
Four types, and what each one is made of
| Type | What you get |
|---|---|
| api | NestJS, MikroORM on PostgreSQL, Better Auth in a schema of its own, Swagger, Vitest with Testcontainers |
| web | Vite, React, TanStack Router and Query, Tailwind, shadcn/ui, forms validated with Zod |
| mobile | Expo with Expo Router, NativeWind, MMKV, and the session kept in expo-secure-store |
| site | Next on the App Router, static by default, for pages that have to be indexed |
One type produces that project alone. Several produce a pnpm workspace, with the wire contract shared so a change on one side breaks the other at typecheck.
Nothing important is decided by silence
Every question the CLI asks also has a flag, which is how it runs in CI without a terminal. Outside an interactive terminal a missing answer is an error rather than a default.
npx @stjoseph/prumo new my-app --types api,web --single-tenantEvery choice states what it costs
The decision log is not a changelog. Each entry names the options that were weighed, why one won, and what the winner costs — including the choices that were rejected and the gaps found while deciding.
Open the decision logPrumo Desktop
A desktop application that creates Prumo projects, lists them, reads their conventions and runs their apps. The foundation runs; the features are being built one at a time.