@nimbuslab/cli 0.7.0 → 0.9.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/MIGRATION-ROADMAP.md +201 -0
- package/dist/index.js +801 -69
- package/docs/CI-CD.md +11 -2
- package/package.json +1 -1
- package/src/commands/analyze.ts +210 -0
- package/src/commands/create.ts +432 -59
- package/src/commands/upgrade.ts +251 -0
- package/src/index.ts +19 -3
|
@@ -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*
|