@nimbuslab/cli 0.8.0 → 0.10.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.
@@ -0,0 +1,201 @@
1
+ # Roadmap - Sistema de Migracao nimbuslab
2
+
3
+ > Lola Migration Assistant - Facilitar migracoes de projetos para o ecossistema nimbuslab
4
+
5
+ ---
6
+
7
+ ## Visao Geral
8
+
9
+ O sistema de migracao permite:
10
+ 1. **Analisar** projetos existentes (detectar stack)
11
+ 2. **Planejar** caminho de migracao
12
+ 3. **Executar** transformacoes automaticas (codemods)
13
+ 4. **Verificar** resultado final
14
+
15
+ ---
16
+
17
+ ## Fase 1: Fundacao (v0.9.0)
18
+
19
+ ### M80: Estrutura base do sistema de migracao
20
+ - [ ] Criar `src/commands/migrate.ts`
21
+ - [ ] Criar `src/commands/analyze.ts`
22
+ - [ ] Criar `src/commands/upgrade.ts`
23
+ - [ ] Estrutura de pastas para codemods
24
+
25
+ ### M81: Comando `nimbus analyze`
26
+ - [ ] Detectar package.json (name, version, dependencies)
27
+ - [ ] Detectar framework (Next.js, React, Angular, Vue, etc)
28
+ - [ ] Detectar styling (Tailwind, CSS Modules, styled-components)
29
+ - [ ] Detectar package manager (bun, pnpm, npm, yarn)
30
+ - [ ] Detectar monorepo (Turborepo, Nx, Lerna)
31
+ - [ ] Detectar auth (Better Auth, NextAuth, Clerk, etc)
32
+ - [ ] Detectar DB (Drizzle, Prisma, TypeORM, etc)
33
+ - [ ] Output: JSON com analise completa
34
+
35
+ ### M82: Comando `nimbus upgrade --plan`
36
+ - [ ] Comparar versoes atuais com recomendadas
37
+ - [ ] Listar breaking changes conhecidos
38
+ - [ ] Gerar plano de upgrade
39
+ - [ ] Estimar complexidade (low/medium/high)
40
+
41
+ ---
42
+
43
+ ## Fase 2: Codemods (v0.10.0)
44
+
45
+ ### M83: Infraestrutura de codemods
46
+ - [ ] Criar `src/codemods/` estrutura
47
+ - [ ] Runner de codemods (jscodeshift ou ts-morph)
48
+ - [ ] Sistema de dry-run (preview)
49
+ - [ ] Rollback automatico em caso de erro
50
+
51
+ ### M84: Codemod Tailwind 3 -> 4
52
+ - [ ] Migrar classes depreciadas
53
+ - [ ] Atualizar config (tailwind.config.js -> CSS)
54
+ - [ ] Converter @apply para novo formato
55
+ - [ ] Atualizar imports
56
+
57
+ ### M85: Codemod React 18 -> 19
58
+ - [ ] Remover forwardRef (nao mais necessario)
59
+ - [ ] Atualizar tipos (ref como prop)
60
+ - [ ] Ajustar Suspense boundaries
61
+ - [ ] Atualizar async components
62
+
63
+ ### M86: Codemod pnpm -> bun
64
+ - [ ] Converter pnpm-lock.yaml para bun.lockb
65
+ - [ ] Atualizar scripts no package.json
66
+ - [ ] Remover .npmrc especifico pnpm
67
+ - [ ] Atualizar CI/CD configs
68
+
69
+ ### M87: Codemod Prisma -> Drizzle
70
+ - [ ] Converter schema.prisma para drizzle schema
71
+ - [ ] Gerar migrations Drizzle
72
+ - [ ] Atualizar queries (findMany -> select, etc)
73
+ - [ ] Atualizar auth config
74
+
75
+ ---
76
+
77
+ ## Fase 3: Templates Modulares (v0.11.0)
78
+
79
+ ### M88: Refatorar templates em camadas
80
+ - [ ] Extrair `layers/base` (tsconfig, eslint, prettier)
81
+ - [ ] Extrair `layers/nextjs` (next.config, app structure)
82
+ - [ ] Extrair `layers/tailwind` (tailwind config, globals.css)
83
+ - [ ] Extrair `layers/shadcn` (components.json, ui/)
84
+ - [ ] Extrair `layers/auth` (Better Auth setup)
85
+ - [ ] Extrair `layers/db` (Drizzle setup)
86
+ - [ ] Extrair `layers/monorepo` (Turborepo config)
87
+
88
+ ### M89: Comando `nimbus add <layer>`
89
+ - [ ] `nimbus add auth` - Adiciona Better Auth
90
+ - [ ] `nimbus add db` - Adiciona Drizzle
91
+ - [ ] `nimbus add shadcn` - Adiciona shadcn/ui
92
+ - [ ] `nimbus add monorepo` - Converte para Turborepo
93
+ - [ ] Detectar conflitos antes de aplicar
94
+ - [ ] Merge inteligente de configs
95
+
96
+ ---
97
+
98
+ ## Fase 4: Migracao Assistida (v0.12.0)
99
+
100
+ ### M90: Lola Migration Assistant
101
+ - [ ] Criar `.claude/agents/lola-migrate.md`
102
+ - [ ] Criar `.gemini/lola-migrate.md`
103
+ - [ ] Prompts especializados para migracao
104
+ - [ ] Checklist interativo
105
+ - [ ] Documentacao de decisoes
106
+
107
+ ### M91: Comando `nimbus migrate`
108
+ - [ ] `nimbus migrate --from=angular` - Plano Angular -> Next.js
109
+ - [ ] `nimbus migrate --from=php` - Plano PHP -> Next.js
110
+ - [ ] `nimbus migrate --from=vue` - Plano Vue -> React
111
+ - [ ] Gerar plano detalhado (markdown)
112
+ - [ ] Estimar esforco (horas/dias)
113
+
114
+ ### M92: Migration Guides
115
+ - [ ] `knowledge/migrations/nextjs-15-to-16.md`
116
+ - [ ] `knowledge/migrations/tailwind-3-to-4.md`
117
+ - [ ] `knowledge/migrations/prisma-to-drizzle.md`
118
+ - [ ] `knowledge/migrations/pnpm-to-bun.md`
119
+ - [ ] `knowledge/migrations/angular-to-nextjs.md`
120
+ - [ ] `knowledge/migrations/php-laravel-to-nextjs.md`
121
+
122
+ ---
123
+
124
+ ## Fase 5: Automacao Completa (v1.0.0)
125
+
126
+ ### M93: Pipeline de migracao
127
+ - [ ] `nimbus migrate --execute` (aplica codemods)
128
+ - [ ] `nimbus migrate --verify` (roda build + lint + tests)
129
+ - [ ] Relatorio de migracao (o que mudou, o que revisar)
130
+ - [ ] Integracao com CI/CD
131
+
132
+ ### M94: Atualizacao automatica
133
+ - [ ] `nimbus upgrade` detecta atualizacoes disponiveis
134
+ - [ ] `nimbus upgrade --all` aplica todas seguras
135
+ - [ ] Notificacao de breaking changes
136
+ - [ ] Changelog automatico
137
+
138
+ ---
139
+
140
+ ## Prioridade de Implementacao
141
+
142
+ | Milestone | Prioridade | Dependencia |
143
+ |-----------|------------|-------------|
144
+ | M80 | Alta | - |
145
+ | M81 | Alta | M80 |
146
+ | M82 | Alta | M81 |
147
+ | M83 | Alta | M80 |
148
+ | M84 | Media | M83 |
149
+ | M85 | Media | M83 |
150
+ | M86 | Media | M83 |
151
+ | M87 | Media | M83 |
152
+ | M88 | Media | M80 |
153
+ | M89 | Media | M88 |
154
+ | M90 | Alta | M80 |
155
+ | M91 | Media | M81, M83 |
156
+ | M92 | Media | - |
157
+ | M93 | Baixa | M91 |
158
+ | M94 | Baixa | M93 |
159
+
160
+ ---
161
+
162
+ ## Stack dos Codemods
163
+
164
+ - **Parser:** ts-morph (TypeScript AST)
165
+ - **Runner:** Custom (baseado em jscodeshift patterns)
166
+ - **Configs:** JSON transforms
167
+ - **CSS:** PostCSS para Tailwind
168
+
169
+ ---
170
+
171
+ ## Exemplo de Uso Final
172
+
173
+ ```bash
174
+ # Analisar projeto
175
+ nimbus analyze ./meu-projeto
176
+ # Output: Next.js 15, React 18, Tailwind 3, pnpm, Prisma
177
+
178
+ # Ver plano de upgrade
179
+ nimbus upgrade --plan
180
+ # Output: Recomendado: Next 16, React 19, Tailwind 4, bun, Drizzle
181
+
182
+ # Upgrade especifico
183
+ nimbus upgrade tailwind
184
+ # Executa codemod Tailwind 3 -> 4
185
+
186
+ # Adicionar camada
187
+ nimbus add auth
188
+ # Adiciona Better Auth ao projeto
189
+
190
+ # Migracao completa
191
+ nimbus migrate --from=angular --plan
192
+ # Gera plano de migracao Angular -> Next.js
193
+
194
+ # Usar Lola para assistir
195
+ claude --agent lola-migrate
196
+ # Lola especializada em migracoes
197
+ ```
198
+
199
+ ---
200
+
201
+ *Ultima atualizacao: Janeiro 2026*
package/README.md CHANGED
@@ -1,105 +1,118 @@
1
1
  # @nimbuslab/cli
2
2
 
3
- CLI para criar projetos Next.js com templates modernos e prontos para producao.
4
-
5
- ## Instalacao
3
+ CLI oficial da nimbuslab para criar, analisar e migrar projetos.
6
4
 
7
5
  ```bash
8
- # Via bun (recomendado)
9
6
  bun add -g @nimbuslab/cli
10
-
11
- # Via npm
12
- npm install -g @nimbuslab/cli
13
7
  ```
14
8
 
15
- ## Uso
16
-
17
- ```bash
18
- # Criar novo projeto (interativo)
19
- nimbus create
9
+ ---
20
10
 
21
- # Criar projeto com nome
22
- nimbus create meu-projeto
11
+ ## Comandos
23
12
 
24
- # Modo automatico
25
- nimbus create meu-projeto -y
13
+ | Comando | Descricao | Docs |
14
+ |---------|-----------|------|
15
+ | `nimbus create` | Criar novo projeto | [docs/create.md](./docs/create.md) |
16
+ | `nimbus analyze` | Analisar stack existente | [docs/analyze.md](./docs/analyze.md) |
17
+ | `nimbus upgrade` | Planejar upgrades | [docs/upgrade.md](./docs/upgrade.md) |
18
+ | `nimbus migrate` | Migrar de outras tecnologias | [docs/migrate.md](./docs/migrate.md) |
26
19
 
27
- # Ajuda
28
- nimbus help
29
- ```
30
-
31
- ## Templates
20
+ ---
32
21
 
33
- | Template | Descricao | Stack |
34
- |----------|-----------|-------|
35
- | Landing Page | Site institucional | Next.js 16 + Tailwind 4 + shadcn/ui |
36
- | Web App | Aplicacao com auth | Landing + Better Auth + Prisma |
37
- | Monorepo | Multiplos apps | Turborepo + apps/packages |
22
+ ## Quick Start
38
23
 
39
- ### Flags de template
24
+ ### Criar landing page
40
25
 
41
26
  ```bash
42
- # Landing page
43
27
  nimbus create meu-site --landing
28
+ cd meu-site
29
+ bun dev
30
+ ```
31
+
32
+ ### Criar web app
44
33
 
45
- # Web app com autenticacao
34
+ ```bash
46
35
  nimbus create meu-app --app
36
+ cd meu-app
37
+ bun setup
38
+ bun dev
39
+ ```
40
+
41
+ ### Analisar projeto existente
47
42
 
48
- # Monorepo
49
- nimbus create meu-monorepo --turborepo
43
+ ```bash
44
+ nimbus analyze
45
+ nimbus upgrade --plan
50
46
  ```
51
47
 
52
- ## Opcoes
48
+ ---
53
49
 
54
- | Flag | Descricao |
55
- |------|-----------|
56
- | `-y, --yes` | Aceitar defaults |
57
- | `--no-git` | Nao inicializar Git |
58
- | `--no-install` | Nao instalar dependencias |
59
- | `--template <url>` | Usar template customizado |
50
+ ## Templates
60
51
 
61
- ## Exemplos
52
+ | Template | Descricao | Docs |
53
+ |----------|-----------|------|
54
+ | `--landing` | Next.js 16 + Tailwind 4 + shadcn/ui | [docs/create.md#landing](./docs/create.md#landing-page---landing) |
55
+ | `--app` | Landing + Better Auth + Drizzle | [docs/create.md#app](./docs/create.md#web-app---app) |
56
+ | `--turborepo` | Monorepo com apps e packages | [docs/create.md#turborepo](./docs/create.md#turborepo---turborepo) |
57
+ | `--package` | Pacote npm com tsup + CI/CD | [docs/package.md](./docs/package.md) |
62
58
 
63
- ```bash
64
- # Landing page rapida
65
- nimbus create meu-site --landing -y
59
+ **Repos Open Source:**
60
+ - [create-next-landing](https://github.com/nimbuslab/create-next-landing)
61
+ - [create-next-app](https://github.com/nimbuslab/create-next-app)
62
+ - [create-turborepo](https://github.com/nimbuslab/create-turborepo)
66
63
 
67
- # Web app sem instalar deps
68
- nimbus create meu-app --app --no-install
64
+ ---
69
65
 
70
- # Template customizado
71
- nimbus create projeto --template usuario/repositorio
72
- ```
66
+ ## Stack Alvo
67
+
68
+ | Categoria | Tecnologia |
69
+ |-----------|------------|
70
+ | Framework | Next.js 16+ |
71
+ | Runtime | React 19+ |
72
+ | Styling | Tailwind CSS 4+ |
73
+ | Components | shadcn/ui |
74
+ | Package Manager | Bun |
75
+ | Auth | Better Auth |
76
+ | Database | Drizzle ORM |
77
+ | Monorepo | Turborepo |
78
+
79
+ ---
80
+
81
+ ## Documentacao
82
+
83
+ | Arquivo | Conteudo |
84
+ |---------|----------|
85
+ | [docs/create.md](./docs/create.md) | Templates, opcoes, fluxo interativo |
86
+ | [docs/package.md](./docs/package.md) | Criar pacotes npm |
87
+ | [docs/analyze.md](./docs/analyze.md) | Deteccao de stack, recomendacoes |
88
+ | [docs/upgrade.md](./docs/upgrade.md) | Breaking changes, codemods |
89
+ | [docs/migrate.md](./docs/migrate.md) | Strangler Fig, estrategias |
90
+ | [MIGRATION-ROADMAP.md](./MIGRATION-ROADMAP.md) | Roadmap de migracao |
91
+
92
+ ---
73
93
 
74
94
  ## Requisitos
75
95
 
76
96
  - [Bun](https://bun.sh) - Runtime e package manager
77
97
  - [Git](https://git-scm.com) - Controle de versao
78
98
 
79
- ### Instalando Bun
80
-
81
99
  ```bash
82
- # Linux/Mac
83
100
  curl -fsSL https://bun.sh/install | bash
84
-
85
- # Windows (PowerShell)
86
- powershell -c "irm bun.sh/install.ps1 | iex"
87
101
  ```
88
102
 
89
- ## Templates Open Source
103
+ ---
90
104
 
91
- Os templates publicos estao disponiveis em:
105
+ ## Desenvolvimento
92
106
 
93
- - [create-next-landing](https://github.com/nimbuslab/create-next-landing) - Landing page
94
- - [create-next-app](https://github.com/nimbuslab/create-next-app) - Web app com auth
95
- - [create-turborepo](https://github.com/nimbuslab/create-turborepo) - Monorepo
96
-
97
- ## Stack
107
+ ```bash
108
+ gh repo clone nimbuslab/cli
109
+ cd cli
110
+ bun install
111
+ bun run dev
112
+ ```
98
113
 
99
- - **Runtime:** Bun
100
- - **Prompts:** @clack/prompts
101
- - **Cores:** picocolors
114
+ ---
102
115
 
103
116
  ## Licenca
104
117
 
105
- MIT - [nimbuslab](https://nimbuslab.com.br)
118
+ UNLICENSED - [nimbuslab](https://nimbuslab.com.br) 2026