plazercli 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <p align="center">
2
- <h1 align="center">PlazerCLI</h1>
2
+ <h1 align="center">PlazerCLI v2.0</h1>
3
3
  <p align="center">
4
- Gerador de projetos fullstack com auto-configuracao completa.<br/>
4
+ Gerador de projetos fullstack SaaS prontos para producao.<br/>
5
5
  Responda as perguntas e a <strong>Liz</strong> monta tudo pra voce.
6
6
  </p>
7
7
  </p>
@@ -9,9 +9,12 @@
9
9
  <p align="center">
10
10
  <a href="#quick-start">Quick Start</a> |
11
11
  <a href="#features">Features</a> |
12
+ <a href="#presets">Presets</a> |
12
13
  <a href="#stack-suportada">Stack</a> |
14
+ <a href="#cli-flags">CLI Flags</a> |
13
15
  <a href="#liz---ai-agent">Liz AI</a> |
14
- <a href="#como-funciona">Como Funciona</a>
16
+ <a href="#como-funciona">Como Funciona</a> |
17
+ <a href="https://pablocarss.github.io/plazercli/">Docs</a>
15
18
  </p>
16
19
 
17
20
  ---
@@ -19,7 +22,14 @@
19
22
  ## Quick Start
20
23
 
21
24
  ```bash
25
+ # Modo interativo (18 perguntas)
22
26
  npx plazercli
27
+
28
+ # Preset rapido
29
+ npx plazercli --preset saas-starter
30
+
31
+ # Zero perguntas com defaults inteligentes
32
+ npx plazercli --yes --name meu-saas
23
33
  ```
24
34
 
25
35
  Ou instale globalmente:
@@ -36,20 +46,43 @@ A Liz vai te perguntar sobre o projeto e configurar tudo automaticamente.
36
46
  Ao rodar o `plazercli`, a Liz:
37
47
 
38
48
  1. **Pergunta** o nome do projeto e o que ele faz
39
- 2. **Pergunta** qual stack voce quer (frontend, backend, banco, etc.)
49
+ 2. **Pergunta** qual stack voce quer (frontend, backend, banco, auth, billing, etc.)
40
50
  3. **Cria** o monorepo completo com `apps/web` + `apps/api`
41
- 4. **Configura** o banco de dados com o nome do projeto
42
- 5. **Conecta** todos os modulos automaticamente (auth, filas, integracoes)
43
- 6. **Gera** `docker-compose.yml` com todos os servicos
44
- 7. **Gera** `.env` com todas as variaveis organizadas
45
- 8. **Instala** as dependencias
46
- 9. **Inicializa** o git com commit inicial
47
- 10. **Configura** a si mesma (Liz) como AI agent no projeto
51
+ 4. **Configura** banco de dados, autenticacao, RBAC, billing
52
+ 5. **Conecta** todos os modulos automaticamente (auto-wiring)
53
+ 6. **Gera** docker-compose.yml, .env, README, CI/CD, Dockerfiles
54
+ 7. **Instala** as dependencias
55
+ 8. **Inicializa** o git com commit inicial
56
+ 9. **Configura** a si mesma (Liz) como AI agent no projeto
48
57
 
49
58
  Resultado: projeto pronto pra rodar com `docker compose up -d && pnpm dev`
50
59
 
51
60
  ## Features
52
61
 
62
+ ### SaaS Core (v2.0)
63
+ | Feature | O que configura |
64
+ |---------|----------------|
65
+ | **RBAC** | Roles (Admin/User/Owner), CASL abilities, guards por framework |
66
+ | **Organizations** | Workspaces com CRUD, convites por email, gestao de membros |
67
+ | **Stripe Billing** | Planos Free/Pro/Enterprise, checkout, portal, webhooks |
68
+
69
+ ### API Quality (v2.0)
70
+ | Feature | O que configura |
71
+ |---------|----------------|
72
+ | **Zod** | Schemas de validacao prontos, pipes (NestJS) ou middleware |
73
+ | **Rate Limiting** | Limites globais e por rota, configuraveis por framework |
74
+ | **Pino Logging** | Logging estruturado com request ID, pretty-print em dev |
75
+ | **Swagger/OpenAPI** | Documentacao automatica da API em `/api/docs` |
76
+
77
+ ### Autenticacao (multipla escolha)
78
+ | Metodo | O que configura |
79
+ |--------|----------------|
80
+ | **JWT** | Login/register com bcrypt, guards/middleware, strategy |
81
+ | **Magic Link** | Token por email, verificacao, auto-habilita SMTP |
82
+ | **Google OAuth** | Strategy Passport, rotas de callback, env vars |
83
+
84
+ Todos adaptados automaticamente ao backend escolhido (Express/Fastify/NestJS).
85
+
53
86
  ### Frontend
54
87
  | Framework | Descricao |
55
88
  |-----------|----------|
@@ -61,9 +94,9 @@ Resultado: projeto pronto pra rodar com `docker compose up -d && pnpm dev`
61
94
  ### Backend
62
95
  | Framework | Descricao |
63
96
  |-----------|----------|
97
+ | **NestJS** | Enterprise, modular, decorators |
64
98
  | **Express** | Minimalista, flexivel |
65
99
  | **Fastify** | Alta performance, plugins |
66
- | **NestJS** | Enterprise, modular, decorators |
67
100
 
68
101
  ### Banco de Dados
69
102
  | Banco | ORM/ODM | Auto-config |
@@ -72,15 +105,6 @@ Resultado: projeto pronto pra rodar com `docker compose up -d && pnpm dev`
72
105
  | **MySQL** | Prisma | Schema com User model, docker service, DATABASE_URL |
73
106
  | **MongoDB** | Mongoose | Models, conexao, docker service, MONGODB_URI |
74
107
 
75
- ### Autenticacao (multipla escolha)
76
- | Metodo | O que configura |
77
- |--------|----------------|
78
- | **JWT** | Login/register com bcrypt, middleware de auth, guards |
79
- | **Magic Link** | Token por email, verificacao, auto-habilita SMTP |
80
- | **Google OAuth** | Strategy Passport, rotas de callback, env vars |
81
-
82
- Todos adaptados automaticamente ao backend escolhido (Express/Fastify/NestJS).
83
-
84
108
  ### Filas e Jobs
85
109
  | Tecnologia | O que configura |
86
110
  |------------|----------------|
@@ -105,39 +129,107 @@ Todos adaptados automaticamente ao backend escolhido (Express/Fastify/NestJS).
105
129
  | **PM2** | ecosystem.config.cjs, cluster mode, zero-downtime |
106
130
  | **Multi-tenant** | Middleware de isolamento por header/subdomain |
107
131
 
132
+ ### Extras (v2.0)
133
+ | Feature | O que configura |
134
+ |---------|----------------|
135
+ | **WebSockets** | Socket.IO com rooms, broadcast e notificacoes |
136
+ | **Tailwind CSS** | Config + paginas SaaS prontas (landing, login, dashboard, settings) |
137
+ | **CI/CD** | GitHub Actions (lint, build, Docker) + Dockerfiles multi-stage |
138
+ | **i18n** | Internacionalizacao pt-BR + en, setup por framework |
139
+
140
+ ## Presets
141
+
142
+ Use `--preset <nome>` pra criar projetos com configuracoes prontas:
143
+
144
+ | Preset | Stack | Descricao |
145
+ |--------|-------|-----------|
146
+ | `saas-starter` | NestJS + Next.js + PostgreSQL | Stack completa: auth, billing, RBAC, dashboard |
147
+ | `saas-multi-tenant` | NestJS + Next.js + PostgreSQL | SaaS B2B com isolamento por tenant |
148
+ | `ecommerce` | NestJS + Next.js + PostgreSQL | Loja online com pagamentos e storage |
149
+ | `api-platform` | Fastify + Next.js + PostgreSQL | API robusta com docs e monitoramento |
150
+ | `realtime-app` | NestJS + Next.js + PostgreSQL | App com comunicacao em tempo real |
151
+ | `minimal` | Express + Next.js + PostgreSQL | Minimo necessario pra comecar |
152
+
153
+ ```bash
154
+ # Exemplo
155
+ npx plazercli --preset saas-starter --name minha-plataforma
156
+ ```
157
+
108
158
  ## Stack Suportada
109
159
 
110
160
  ### Runtimes
111
- - npm
112
- - pnpm
161
+ - pnpm (recomendado)
113
162
  - bun
163
+ - npm
114
164
 
115
165
  ### Estrutura
116
166
  Monorepo com workspaces nativos do runtime escolhido.
117
167
 
118
168
  ```
119
- meu-projeto/
169
+ meu-saas/
120
170
  ├── apps/
121
- │ ├── api/ # Backend
122
- └── web/ # Frontend
171
+ │ ├── api/ # Backend
172
+ │ ├── src/
173
+ │ │ │ ├── auth/ # JWT, Magic Link, OAuth
174
+ │ │ │ ├── rbac/ # Roles + CASL
175
+ │ │ │ ├── organizations/ # Workspaces + convites
176
+ │ │ │ ├── billing/ # Stripe subscriptions
177
+ │ │ │ ├── database/ # Prisma/Mongoose
178
+ │ │ │ ├── infra/ # Redis, Email, Storage
179
+ │ │ │ ├── queue/ # Workers e jobs
180
+ │ │ │ ├── websockets/ # Socket.IO
181
+ │ │ │ ├── common/ # Validation, Logging
182
+ │ │ │ ├── integrations/ # APIs externas
183
+ │ │ │ ├── routes/
184
+ │ │ │ └── config/
185
+ │ │ ├── prisma/
186
+ │ │ └── .env
187
+ │ └── web/ # Frontend
188
+ │ └── src/
123
189
  ├── docker-compose.yml
124
- ├── CLAUDE.md # Liz (Claude Code)
125
- ├── AGENTS.md # Liz (geral)
126
- ├── .cursor/rules/ # Liz (Cursor)
190
+ ├── .github/workflows/ # CI/CD
191
+ ├── CLAUDE.md # Liz (Claude Code)
192
+ ├── AGENTS.md # Liz (geral)
193
+ ├── .cursor/rules/ # Liz (Cursor)
127
194
  └── README.md
128
195
  ```
129
196
 
197
+ ## CLI Flags
198
+
199
+ ```bash
200
+ plazercli --version # Mostra versao
201
+ plazercli --name meu-app # Pre-define nome
202
+ plazercli --yes # Defaults inteligentes, sem perguntas
203
+ plazercli --preset saas-starter # Usa preset pronto
204
+ plazercli --dry-run # Mostra o que seria gerado
205
+ plazercli --save-config config.json # Salva config pra reutilizar
206
+ plazercli --config config.json # Carrega config salva
207
+ ```
208
+
209
+ ### Valores padrao (--yes)
210
+
211
+ | Opcao | Default |
212
+ |-------|---------|
213
+ | Runtime | pnpm |
214
+ | Database | PostgreSQL (Prisma) |
215
+ | Frontend | Next.js |
216
+ | Backend | NestJS |
217
+ | Auth | JWT |
218
+ | Queue | BullMQ |
219
+ | RBAC / Zod / Rate Limiting / Pino / Swagger | Sim |
220
+ | Tailwind / CI/CD | Sim |
221
+ | Redis / SMTP / PM2 | Sim |
222
+
130
223
  ## Liz - AI Agent
131
224
 
132
- Todo projeto gerado vem com a **Liz**, uma agente de IA treinada na arquitetura do projeto.
225
+ Todo projeto gerado vem com a **Liz**, uma agente de IA configurada pra conhecer a arquitetura do projeto.
133
226
 
134
227
  ### O que a Liz sabe
135
228
  - Toda a stack escolhida
136
229
  - Estrutura de diretorios
137
230
  - Convencoes de codigo
138
- - Como criar novas features
139
- - Como adicionar endpoints
140
- - Como usar cada integracao
231
+ - Como criar novas features seguindo os patterns
232
+ - Como adicionar endpoints, models, workers e integracoes
141
233
 
142
234
  ### Integracao com editores
143
235
 
@@ -148,63 +240,84 @@ Todo projeto gerado vem com a **Liz**, uma agente de IA treinada na arquitetura
148
240
  | **Copilot / Outros** | `AGENTS.md` | Referencia completa |
149
241
 
150
242
  ### Exemplo de uso
151
- Ao abrir o projeto no editor com IA, voce pode pedir:
152
-
153
- - "Liz, cria um endpoint de listagem de produtos"
154
- - "Liz, adiciona um model de Order no Prisma"
155
- - "Liz, cria um job para enviar email de boas-vindas"
156
- - "Liz, integra o webhook do Stripe"
157
243
 
158
- A Liz vai seguir as convencoes do projeto e usar os servicos ja configurados.
244
+ ```
245
+ "Liz, cria um endpoint de listagem de produtos"
246
+ "Liz, adiciona um model de Order no Prisma"
247
+ "Liz, cria um job para enviar email de boas-vindas"
248
+ "Liz, integra o webhook do Stripe"
249
+ ```
159
250
 
160
251
  ## Como Funciona
161
252
 
162
- ### Fluxo interativo (14 perguntas)
253
+ ### Fluxo interativo (18 perguntas)
163
254
 
164
255
  ```
165
- 1. Nome do projeto (texto)
166
- 2. Descricao (texto)
167
- 3. Runtime npm | pnpm | bun
168
- 4. Banco de dados PostgreSQL | MySQL | MongoDB | Nenhum
169
- 5. Multi-tenant? sim | nao
170
- 6. SMTP (emails)? sim | nao
171
- 7. Autenticacao JWT | Magic Link | Google (multipla)
172
- 8. Redis? sim | nao
173
- 9. Filas/Jobs BullMQ | RabbitMQ | Nenhum
174
- 10. Frontend Next.js | React | Vue | Angular
175
- 11. Backend Express | Fastify | NestJS
176
- 12. Integracoes ViaCEP | WhatsApp | Stripe | MP | Abacate (multipla)
177
- 13. MinIO (storage)? sim | nao
178
- 14. PM2 (zero-downtime)? sim | nao
256
+ 1. Modo (Custom ou Preset)
257
+ 2. Nome do projeto (validado como pacote npm)
258
+ 3. Descricao (texto)
259
+ 4. Runtime pnpm | bun | npm
260
+ 5. Banco de dados PostgreSQL | MySQL | MongoDB | None
261
+ 6. Frontend Next.js | React | Vue | Angular
262
+ 7. Backend NestJS | Express | Fastify
263
+ 8. Autenticacao JWT | Magic Link | Google (multipla)
264
+ 9. SaaS Features RBAC | Organizations | Stripe (multipla)
265
+ 10. API Quality Zod | Rate Limiting | Pino | Swagger (multipla)
266
+ 11. Multi-tenant? sim | nao
267
+ 12. SMTP (emails)? sim | nao
268
+ 13. Redis? sim | nao
269
+ 14. Filas/Jobs BullMQ | RabbitMQ | None
270
+ 15. Integracoes ViaCEP | WhatsApp | Stripe | MP | Abacate (multipla)
271
+ 16. MinIO (storage)? sim | nao
272
+ 17. Extras Tailwind | CI/CD | WebSockets | i18n (multipla)
273
+ 18. PM2 (zero-downtime)? sim | nao
179
274
  ```
180
275
 
181
276
  ### Dependencias implicitas
182
277
 
183
- A Liz resolve automaticamente:
184
-
185
278
  | Voce escolhe | Liz habilita |
186
279
  |-------------|-------------|
187
280
  | BullMQ | Redis |
188
281
  | Magic Link | SMTP |
282
+ | Stripe Billing | Integracao Stripe |
189
283
 
190
284
  ### Auto-wiring
191
285
 
192
- Apos criar os arquivos, a Liz reescreve o arquivo principal do backend para importar e conectar todos os modulos:
286
+ A Liz reescreve o arquivo principal do backend pra importar e conectar todos os modulos:
193
287
 
194
288
  - **NestJS:** Todos os modules importados no `app.module.ts`
195
289
  - **Express:** Todas as rotas registradas no `app.ts`, conexoes no `index.ts`
196
290
  - **Fastify:** Todos os plugins registrados no `app.ts`, conexoes no `index.ts`
197
291
 
198
- Nada de configuracao manual - tudo ja esta conectado.
292
+ ## Documentacao
199
293
 
200
- ## CLI Flags
294
+ O PlazerCLI tem um site de documentacao completo com 39 paginas cobrindo todas as features:
295
+
296
+ - **[Documentacao Online](https://pablocarss.github.io/plazercli/)** — Site completo com Next.js
297
+
298
+ ### Rodar localmente
201
299
 
202
300
  ```bash
203
- plazercli --version # Mostra versao
204
- plazercli --name meu-app # Pre-define nome do projeto
205
- plazercli --yes # Usa valores padrao
301
+ cd docs
302
+ npm install
303
+ npm run dev
206
304
  ```
207
305
 
306
+ ### O que tem na documentacao
307
+
308
+ | Categoria | Paginas |
309
+ |-----------|---------|
310
+ | Comecando | Introducao, Instalacao, Quick Start, CLI Flags, Presets, Arquitetura |
311
+ | Stack | Frontend, Backend, Banco de Dados |
312
+ | Autenticacao | Visao Geral, JWT, Magic Link, Google OAuth |
313
+ | SaaS Features | RBAC, Organizations, Stripe Billing |
314
+ | API Quality | Zod, Rate Limiting, Pino Logging, Swagger |
315
+ | Infraestrutura | Redis, SMTP, MinIO, WebSockets, Filas, Multi-tenant, PM2 |
316
+ | Extras | Tailwind CSS, CI/CD, i18n |
317
+ | Integracoes | Visao Geral, ViaCEP, WhatsApp, Stripe, Mercado Pago, AbacatePay |
318
+ | IA | Liz AI Agent |
319
+ | Avancado | Docker, Variaveis de Ambiente |
320
+
208
321
  ## Desenvolvimento
209
322
 
210
323
  ```bash
@@ -213,8 +326,6 @@ cd plazercli
213
326
  npm install
214
327
  npm run dev # Watch mode
215
328
  npm run build # Build para dist/
216
-
217
- # Testar localmente
218
329
  node dist/index.js
219
330
  ```
220
331
 
@@ -224,4 +335,4 @@ MIT
224
335
 
225
336
  ---
226
337
 
227
- Feito com massa por [@pablocarss](https://github.com/pablocarss)
338
+ Feito por [@pablocarss](https://github.com/pablocarss)