Skip to content

CLI y flags

Uso básico

bash
npx @carloscasteher/create-bb-app
pnpm dlx @carloscasteher/create-bb-app

Modo interactivo (local / desarrollo del CLI)

bash
pnpm build
node dist/cli.js
# o: pnpm dev

Obtendrás un wizard con:

  • respuestas tipadas (nombre del proyecto)
  • ↑ / ↓ + Enter para elegir database, events, install deps
  • resumen + confirmación final

Flags

FlagDescripción
[project-name]Directorio y nombre del paquete (kebab-case). . scaffolda in-place
--database <postgres|mongo>Adapter de persistencia; mutuamente excluyentes
--events / --no-eventsIncluir u omitir el installer de domain events
--agents / --no-agentsIncluir u omitir todo el tooling de IA (skills, Cursor, Serena)
--agents-skillsIncluir .agents, AGENTS.md y skills-lock.json
--agents-cursorIncluir .cursor
--agents-serenaIncluir .serena
--skip-installNo ejecutar pnpm install tras el scaffolding
--yesAcepta defaults de lo no pasado como flag
-v, --versionImprime la versión del CLI

El tooling de IA es opt-in: con --yes y sin flags --agents*, no se copia ninguno de esos archivos. Git se inicializa siempre (git init en main) sin commit inicial.

Layout del repositorio CLI

text
create-bb-app/
├── src/
│   ├── cli.ts
│   ├── prompts.ts
│   ├── installers/
│   │   ├── postgres.installer.ts
│   │   ├── mongo.installer.ts
│   │   ├── events.installer.ts
│   │   └── index.ts
│   ├── helpers/          # copy, merge, compose ApiModule/HealthCheckModule
│   └── types/Installer.ts
└── template/
    ├── base/             # Nest skeleton + shared kernel + liveness health-check
    └── extras/
        ├── postgres/     # TypeORM + users + docker + db-health
        ├── mongo/        # Mongoose + users + docker + db-health
        └── events/       # Domain event primitives, EventBus adapters, demo health check

Contrato de installers

Cada feature opcional/exclusiva es un Installer:

  • archivos bajo template/extras/<id>/
  • dependencies, devDependencies, scripts, envVars mergeados en el proyecto generado
  • postgres y mongo comparten exclusiveGroup: 'database' (XOR)

MIT License · Scaffold from backend-boiler