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, written into the project that receives it, 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-tenantThe stack is locked, and says so
One document names every package, every version floor and the sixteen entries that were deliberately dropped. It is written to be treated as given: a generated project inherits it whole, and nothing is left to be settled again per project.
Open the locked stackPrumo 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.