plazercli 1.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 ADDED
@@ -0,0 +1,227 @@
1
+ <p align="center">
2
+ <h1 align="center">PlazerCLI</h1>
3
+ <p align="center">
4
+ Gerador de projetos fullstack com auto-configuracao completa.<br/>
5
+ Responda as perguntas e a <strong>Liz</strong> monta tudo pra voce.
6
+ </p>
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="#quick-start">Quick Start</a> |
11
+ <a href="#features">Features</a> |
12
+ <a href="#stack-suportada">Stack</a> |
13
+ <a href="#liz---ai-agent">Liz AI</a> |
14
+ <a href="#como-funciona">Como Funciona</a>
15
+ </p>
16
+
17
+ ---
18
+
19
+ ## Quick Start
20
+
21
+ ```bash
22
+ npx plazercli
23
+ ```
24
+
25
+ Ou instale globalmente:
26
+
27
+ ```bash
28
+ npm install -g plazercli
29
+ plazercli
30
+ ```
31
+
32
+ A Liz vai te perguntar sobre o projeto e configurar tudo automaticamente.
33
+
34
+ ## O que a Liz faz por voce
35
+
36
+ Ao rodar o `plazercli`, a Liz:
37
+
38
+ 1. **Pergunta** o nome do projeto e o que ele faz
39
+ 2. **Pergunta** qual stack voce quer (frontend, backend, banco, etc.)
40
+ 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
48
+
49
+ Resultado: projeto pronto pra rodar com `docker compose up -d && pnpm dev`
50
+
51
+ ## Features
52
+
53
+ ### Frontend
54
+ | Framework | Descricao |
55
+ |-----------|----------|
56
+ | **Next.js** | React SSR/SSG com App Router |
57
+ | **React (Vite)** | SPA com Vite + React |
58
+ | **Vue** | SPA com Vite + Vue 3 |
59
+ | **Angular** | SPA com Angular standalone |
60
+
61
+ ### Backend
62
+ | Framework | Descricao |
63
+ |-----------|----------|
64
+ | **Express** | Minimalista, flexivel |
65
+ | **Fastify** | Alta performance, plugins |
66
+ | **NestJS** | Enterprise, modular, decorators |
67
+
68
+ ### Banco de Dados
69
+ | Banco | ORM/ODM | Auto-config |
70
+ |-------|---------|-------------|
71
+ | **PostgreSQL** | Prisma | Schema com User model, docker service, DATABASE_URL |
72
+ | **MySQL** | Prisma | Schema com User model, docker service, DATABASE_URL |
73
+ | **MongoDB** | Mongoose | Models, conexao, docker service, MONGODB_URI |
74
+
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
+ ### Filas e Jobs
85
+ | Tecnologia | O que configura |
86
+ |------------|----------------|
87
+ | **BullMQ** | Queue config, worker de exemplo, auto-habilita Redis |
88
+ | **RabbitMQ** | Producer/consumer, docker service, connection manager |
89
+
90
+ ### Integracoes (multipla escolha)
91
+ | Integracao | O que configura |
92
+ |------------|----------------|
93
+ | **ViaCEP** | Service para consulta de CEP |
94
+ | **WhatsApp** | Service para API Meta WhatsApp Business |
95
+ | **Stripe** | Checkout, PaymentIntent, webhooks |
96
+ | **Mercado Pago** | Preferences, pagamentos PIX |
97
+ | **AbacatePay** | Pagamentos, PIX |
98
+
99
+ ### Infraestrutura
100
+ | Feature | O que configura |
101
+ |---------|----------------|
102
+ | **Redis** | Service com ioredis, docker service |
103
+ | **SMTP** | Email service com Nodemailer, template HTML |
104
+ | **MinIO** | Storage S3-compatible, upload/download, docker service |
105
+ | **PM2** | ecosystem.config.cjs, cluster mode, zero-downtime |
106
+ | **Multi-tenant** | Middleware de isolamento por header/subdomain |
107
+
108
+ ## Stack Suportada
109
+
110
+ ### Runtimes
111
+ - npm
112
+ - pnpm
113
+ - bun
114
+
115
+ ### Estrutura
116
+ Monorepo com workspaces nativos do runtime escolhido.
117
+
118
+ ```
119
+ meu-projeto/
120
+ ├── apps/
121
+ │ ├── api/ # Backend
122
+ │ └── web/ # Frontend
123
+ ├── docker-compose.yml
124
+ ├── CLAUDE.md # Liz (Claude Code)
125
+ ├── AGENTS.md # Liz (geral)
126
+ ├── .cursor/rules/ # Liz (Cursor)
127
+ └── README.md
128
+ ```
129
+
130
+ ## Liz - AI Agent
131
+
132
+ Todo projeto gerado vem com a **Liz**, uma agente de IA treinada na arquitetura do projeto.
133
+
134
+ ### O que a Liz sabe
135
+ - Toda a stack escolhida
136
+ - Estrutura de diretorios
137
+ - Convencoes de codigo
138
+ - Como criar novas features
139
+ - Como adicionar endpoints
140
+ - Como usar cada integracao
141
+
142
+ ### Integracao com editores
143
+
144
+ | Editor | Arquivo | Como funciona |
145
+ |--------|---------|--------------|
146
+ | **Claude Code** | `CLAUDE.md` | Carrega automaticamente |
147
+ | **Cursor** | `.cursor/rules/liz.mdc` | Regras contextuais |
148
+ | **Copilot / Outros** | `AGENTS.md` | Referencia completa |
149
+
150
+ ### 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
+
158
+ A Liz vai seguir as convencoes do projeto e usar os servicos ja configurados.
159
+
160
+ ## Como Funciona
161
+
162
+ ### Fluxo interativo (14 perguntas)
163
+
164
+ ```
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
179
+ ```
180
+
181
+ ### Dependencias implicitas
182
+
183
+ A Liz resolve automaticamente:
184
+
185
+ | Voce escolhe | Liz habilita |
186
+ |-------------|-------------|
187
+ | BullMQ | Redis |
188
+ | Magic Link | SMTP |
189
+
190
+ ### Auto-wiring
191
+
192
+ Apos criar os arquivos, a Liz reescreve o arquivo principal do backend para importar e conectar todos os modulos:
193
+
194
+ - **NestJS:** Todos os modules importados no `app.module.ts`
195
+ - **Express:** Todas as rotas registradas no `app.ts`, conexoes no `index.ts`
196
+ - **Fastify:** Todos os plugins registrados no `app.ts`, conexoes no `index.ts`
197
+
198
+ Nada de configuracao manual - tudo ja esta conectado.
199
+
200
+ ## CLI Flags
201
+
202
+ ```bash
203
+ plazercli --version # Mostra versao
204
+ plazercli --name meu-app # Pre-define nome do projeto
205
+ plazercli --yes # Usa valores padrao
206
+ ```
207
+
208
+ ## Desenvolvimento
209
+
210
+ ```bash
211
+ git clone https://github.com/pablocarss/plazercli.git
212
+ cd plazercli
213
+ npm install
214
+ npm run dev # Watch mode
215
+ npm run build # Build para dist/
216
+
217
+ # Testar localmente
218
+ node dist/index.js
219
+ ```
220
+
221
+ ## Licenca
222
+
223
+ MIT
224
+
225
+ ---
226
+
227
+ Feito com massa por [@pablocarss](https://github.com/pablocarss)