As decisões já foram tomadas.
E estão escritas.
O Prumo começa um projeto TypeScript com o framework, o desenho dos módulos, as regras do banco, a ligação da autenticação e os limites de teste já escolhidos. Cada um foi decidido uma vez, escrito dentro do projeto que o recebe, e transformado em algo que roda.
Pelo terminal
Um comando pergunta o que construir e escreve o projeto.
npx @stjoseph/prumo new my-appNode 22.23.4 ou mais novo e pnpm 10.26 ou mais novo, no macOS, no Linux ou no Windows. Ler os documentos
Com o Prumo Desktop
O mesmo CLI num aplicativo que cria, lista e roda os seus projetos, no macOS, no Linux e no Windows.
macOS · Apple silicon e Intel
Apple siliconIntelNão assinado: confirme uma vez com Abrir Mesmo Assim.
Não assinado: instale com apt ou dnf.
Windows · x64
Setup.exeNão assinado: Mais informações, depois Executar assim mesmo. Bloqueado onde o Controle Inteligente de Aplicativos está ligado.
Prévias não assinadas da versão 0.0.9. Todo build precisa de Node 22.23.4 ou mais novo e de pnpm 10.26 ou mais novo. Como instalar
Um projeto novo chega com duas coisas
- Código que já funciona
- Instalado, ligado e provado por iniciar, não por compilar. Todo template está commitado por inteiro e nenhum deles chama o scaffolder de terceiros na hora da instalação.
- As convenções que ele segue
- Uma pasta .prumo/ com as regras que esse código obedece. Qualquer assistente de IA que trabalhe no repositório a lê e passa a conhecê-las sem ninguém explicar. As convenções vivem no projeto, não na cabeça de alguém.
Três tipos, e do que cada um é feito
api
O servidor
- Fastify com uma estrutura domain/infra
- tsyringe e Zod
- MikroORM sobre PostgreSQL
- Autenticação JWT própria
- Swagger UI
- Vitest com Testcontainers
web
O app do navegador
- Vite, Next ou Astro, com React
- O mesmo login em todos
- Tailwind e shadcn/ui
- Formulários validados com Zod
mobile
O app do celular
- Expo com Expo Router
- NativeWind e MMKV
- Tokens guardados no expo-secure-store
- Rodando numa development build
Um tipo produz aquele projeto sozinho. Vários produzem um workspace pnpm, com o contrato de comunicação compartilhado, de modo que uma mudança de um lado quebra o outro no typecheck.
Nada importante é decidido pelo silêncio
Toda pergunta que o CLI faz também tem uma flag, que é como ele roda na CI sem terminal. Fora de um terminal interativo, uma resposta que falta é erro, não valor padrão.
npx @stjoseph/prumo new my-app --types api,web --single-tenant --single-language --languages en --no-mcp --sign-in password --email --no-socialA stack está travada, e diz isso
Um documento nomeia cada pacote, cada piso de versão e as dezenove entradas descartadas de propósito. Ele foi escrito para ser tratado como dado: um projeto gerado herda tudo aquilo, e nada volta a ser resolvido projeto a projeto.
Abrir a stack travadaPrumo Desktop
Um aplicativo de desktop que cria projetos Prumo, lista-os, lê suas convenções e roda seus apps. A versão 0.0.9, uma prévia não assinada para macOS, Linux e Windows, já pode ser baixada.