@mocoto/mahoraga 0.14.6 → 0.14.8

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.
Files changed (33) hide show
  1. package/README.md +165 -511
  2. package/dist/analysts/css/analysts/analyst-css.js +10 -1
  3. package/dist/analysts/detectors/detector-bugs-ml.js +81 -19
  4. package/dist/analysts/js-ts/registrar.js +1 -1
  5. package/dist/analysts/react/analysts/analyst-react-hooks.js +109 -90
  6. package/dist/analysts/react/detectors/detector-react-best-practices.js +100 -6
  7. package/dist/cli/commands/command-perf.js +1 -1
  8. package/dist/cli/commands/command-update.js +3 -2
  9. package/dist/core/config/auto/auto-fix-config.js +9 -4
  10. package/dist/core/config/config.js +1 -1
  11. package/dist/core/messages/en/core/formatters-messages.js +1 -0
  12. package/dist/core/messages/ja/core/formatters-messages.js +1 -0
  13. package/dist/core/messages/pt/core/formatters-messages.js +1 -0
  14. package/dist/core/messages/shared/icons.js +3 -3
  15. package/dist/core/messages/zh/core/formatters-messages.js +1 -0
  16. package/dist/core/parsing/langs/json.js +2 -2
  17. package/dist/core/parsing/langs/typescript.js +33 -7
  18. package/dist/core/schema/version.js +1 -1
  19. package/dist/core/utils/exec-safe.js +47 -25
  20. package/dist/lib/api.js +14 -0
  21. package/dist/shared/data-processing/occurrences.js +3 -0
  22. package/dist/shared/formatters/code-min-formatter.js +1 -1
  23. package/dist/shared/formatters/formatters/commons.js +19 -5
  24. package/dist/shared/formatters/formatters/shell.js +128 -9
  25. package/dist/shared/helpers/ast-visitor-utils.js +3 -0
  26. package/dist/shared/helpers/imports.js +1 -1
  27. package/dist/shared/helpers/reader-report.js +13 -0
  28. package/dist/shared/helpers/structure.js +2 -2
  29. package/dist/types/guardian/result.js +38 -0
  30. package/dist/types/reports/processing.js +12 -0
  31. package/dist/types/shared/validation.js +111 -0
  32. package/dist/vulnerabilities/scanner.js +7 -2
  33. package/package.json +11 -18
package/README.md CHANGED
@@ -1,135 +1,153 @@
1
1
  ---
2
- Proveniência e Autoria: Este documento integra o projeto Mahoraga (licença MIT-0).
2
+ Proveniência e Autoria: Este documento integra o projeto @mocoto/mahoraga (licença MIT-0).
3
3
  ---
4
4
 
5
5
  <div align="center">
6
6
 
7
- <p><b>CLI modular para análise, diagnóstico e manutenção de projetos JavaScript/TypeScript com suporte multi-linguagem</b><p>
7
+ <p><b>@mocoto/mahoraga</b>: CLI modular para análise, diagnóstico e manutenção de projetos JavaScript/TypeScript com suporte multi-linguagem<p>
8
8
 
9
9
  </div>
10
10
 
11
- <p> Desisti de desistir do projeto, até parece que vou aceitar perder pra vocês ...</p>
12
-
13
- <p> caso tenha interesse em ajudar no projeto o E-mail é esse ai em baixo o **lint que me aguarde 😜 </p>
11
+ Caso tenha receio em ajudar com codigo você pode me ajudar ao usar e encontrar falsos postivos/negativos e me mandar relatorios por meio desse e-mail ai em baixo, me ajudaria muito, pois nem todos os erros e bugs eu consigo resolver em ambiente de desenvolvimento sendo preciso uso em produção para serem encontrados
14
12
 
15
13
  [Gmail](mailto:mocoto.persona@gmail.com)
16
14
 
17
- <h5> Alias!! ignora o sugestoes-00*.json ainda esta em ajustes.</h5>
15
+ ---
18
16
 
19
17
  ## Começar Rápido (30 segundos)
20
18
 
21
19
  ```bash
22
- # 1. Instalar
20
+ # 1. Instalar globalmente
23
21
  npm install -g @mocoto/mahoraga
24
22
 
25
23
  # 2. Analisar seu projeto
26
24
  cd meu-projeto
27
25
  mahoraga diagnosticar
28
26
 
29
- # 3. Ver problemas críticos
30
- mahoraga diagnosticar --gravidade critic
31
-
32
- # 4. Exportar relatório
33
- mahoraga diagnosticar --relatorio json --saida relatorio.json
34
- ```
35
-
36
- **Próximos passos imediatos:**
37
-
38
- ```bash
39
- # Revisar correções disponíveis
40
- mahoraga corrigir --revisar
41
-
42
- # Aplicar correções automáticas seguras
43
- mahoraga corrigir --auto
44
-
45
- # Estabelecer baseline de saúde (assinatura GPG)
46
- mahoraga guardian --accept-baseline
27
+ # 3. Ver análise completa
28
+ mahoraga diagnosticar --full
47
29
 
48
- # Verificar mudanças
49
- mahoraga guardian
30
+ # 4. Exportar relatório em JSON
31
+ mahoraga diagnosticar --json > relatorio.json
50
32
  ```
51
33
 
52
34
  ---
53
35
 
54
- ## Fluxo Passo a Passo
55
-
56
- O Mahoraga foi projetado para guiar você por um fluxo completo de análise e manutenção do seu projeto:
36
+ ## Comandos da CLI
57
37
 
58
- ### Passo 1: Diagnóstico Inicial
38
+ ### Comandos Principais
59
39
 
60
- Analise todo o projeto para identificar problemas de qualidade, segurança e arquitetura:
40
+ | Comando | Descrição | Exemplo |
41
+ |---------|-----------|---------|
42
+ | `diagnosticar` (ou `diag`) | Análise completa do projeto | `mahoraga diagnosticar --full` |
43
+ | `guardian` | Monitoramento de integridade com GPG | `mahoraga guardian --accept-baseline` |
44
+ | `fix-types` | Corrigir tipos inseguros (`any`/`unknown`) | `mahoraga fix-types --target src` |
45
+ | `formatar` | Formatação automática de código | `mahoraga formatar --write` |
46
+ | `podar` | Remover arquivos órfãos e código morto | `mahoraga podar` |
47
+ | `names` | Extração e renomeação em massa de variáveis | `mahoraga names --scan` |
48
+ | `imports` | Gerenciar aliases de import (`@/`) | `mahoraga imports --scan` |
49
+ | `barrels` | Gerenciar barrels (`index.ts`) | `mahoraga barrels --generate` |
50
+ | `analistas` | Listar analistas e detectores disponíveis | `mahoraga analistas --json` |
51
+ | `metricas` | Ver métricas de execução | `mahoraga metricas --analistas` |
52
+ | `perf` | Snapshots e comparação de performance | `mahoraga perf baseline` |
53
+ | `atualizar` | Auto-update do Mahoraga | `mahoraga atualizar --global` |
54
+ | `convert` (ou `conv`) | Converter CI/CD templates | `mahoraga convert --from github --to gitlab` |
55
+ | `reverter` | Reverter movimentações de arquivos | `mahoraga reverter listar` |
56
+ | `compliance` | Relatórios de compliance | `mahoraga compliance report iso-27001` |
57
+
58
+ ### Diagnóstico
61
59
 
62
60
  ```bash
63
- # Análise completa
64
- mahoraga diagnosticar
65
-
66
- # Mais detalhes
67
- mahoraga diagnosticar --verbose
68
-
69
- # Apenas críticos
70
- mahoraga diagnosticar --gravidade critic
71
-
72
- # Exportar resultados
73
- mahoraga diagnosticar --relatorio json --saida analise.json
74
- mahoraga diagnosticar --relatorio markdown --saida RELATORIO.md
61
+ mahoraga diagnosticar # análise padrão
62
+ mahoraga diagnosticar --full # análise completa
63
+ mahoraga diagnosticar --fast # modo rápido
64
+ mahoraga diagnosticar --compact # saída compacta
65
+ mahoraga diagnosticar --json # saída JSON
66
+ mahoraga diagnosticar --detalhado # saída detalhada
67
+ mahoraga diagnosticar --executive # relatório executivo
68
+ mahoraga diagnosticar --monorepo # análise de monorepo
69
+ mahoraga diagnosticar --guardian-check # verificar Guardian junto
70
+ mahoraga diagnosticar --stream # streaming para projetos grandes
71
+ mahoraga diagnosticar --verbose # log detalhado
72
+ mahoraga diagnosticar --debug # modo debug
73
+ mahoraga diagnosticar --include "src/**" --exclude "**/*.test.ts"
74
+ mahoraga diagnosticar --path ./frontend --path ./backend
75
+ mahoraga diagnosticar --auto-fix # corrigir automaticamente
75
76
  ```
76
77
 
77
- ### Passo 2: Estabelecer Baseline
78
+ ### Guardian (Integridade com GPG)
78
79
 
79
- Crie um baseline criptográfico com assinaturas GPG do projeto para monitorar mudanças:
80
+ O Guardian utiliza **assinatura GPG (Ed25519)** em vez de hashes convencionais para garantir a integridade dos arquivos.
80
81
 
81
82
  ```bash
82
- mahoraga guardian --accept-baseline
83
+ mahoraga guardian # verificar integridade
84
+ mahoraga guardian --accept-baseline # aceitar estado atual como baseline
85
+ mahoraga guardian --diff # mostrar diferenças
86
+ mahoraga guardian --full-scan # scan completo
87
+ mahoraga guardian --json # saída JSON estruturada
83
88
  ```
84
89
 
85
- ### Passo 3: Corrigir Problemas
86
-
87
- Aplique correções automáticas com segurança:
90
+ ### CI/CD
88
91
 
89
92
  ```bash
90
- # Revisar o que pode ser corrigido
91
- mahoraga corrigir
92
-
93
- # Aplicar correções automáticas
94
- mahoraga corrigir --auto
95
-
96
- # Corrigir tipos inseguros
97
- mahoraga fix-types --auto
93
+ mahoraga github-actions scan # GitHub Actions
94
+ mahoraga github-actions gate --threshold 80 # quality gate
95
+ mahoraga github-actions app --port 3000 # servidor GitHub App
96
+ mahoraga gitlab-ci scan # GitLab CI
97
+ mahoraga circleci scan # CircleCI
98
+ mahoraga jenkins scan # Jenkins
99
+ mahoraga azure scan # Azure Pipelines
100
+ mahoraga convert --from github --to gitlab # converter templates
98
101
  ```
99
102
 
100
- ### Passo 4: Organizar com Sugestões e Barrels
101
-
102
- Revise sugestões estruturais e organize os barrels do projeto:
103
+ ### Licenças e Compliance
103
104
 
104
105
  ```bash
105
- # Ver sugestões de reorganização (apenas sugestões, sem modificações)
106
- mahoraga diagnosticar --export --export-to ./sugestoes
106
+ mahoraga licencas scan # scan de dependências
107
+ mahoraga licencas notices generate # gerar THIRD-PARTY-NOTICES
108
+ mahoraga licencas disclaimer add # adicionar disclaimer
109
+ mahoraga licencas disclaimer verify # verificar disclaimers
110
+ mahoraga compliance report iso-27001 # relatório ISO 27001
111
+ mahoraga compliance report soc2 --json # relatório SOC 2
112
+ ```
107
113
 
108
- # Gerar barrels estruturados (index.ts)
109
- mahoraga barrels --scan # preview do que será criado
110
- mahoraga barrels --generate # criar/atualizar barrels
114
+ ### Manutenção
111
115
 
112
- # Remover arquivos órfãos
113
- mahoraga podar
116
+ ```bash
117
+ mahoraga fix-types --target src # corrigir tipos inseguros
118
+ mahoraga fix-types --dry-run # simular correção
119
+ mahoraga fix-types --interactive # modo interativo
120
+ mahoraga formatar --write # formatar código
121
+ mahoraga formatar --check # apenas verificar
122
+ mahoraga podar # remover arquivos órfãos
123
+ mahoraga names --scan # extrair nomes de variáveis
124
+ mahoraga names --apply # aplicar renomeações
125
+ mahoraga reverter listar # listar reversões disponíveis
126
+ mahoraga reverter move <id> # reverter movimento específico
114
127
  ```
115
128
 
116
- ### Passo 5: Monitoramento Contínuo
117
-
118
- Mantenha a saúde do projeto ao longo do tempo:
129
+ ### Plugins e Marketplace
119
130
 
120
131
  ```bash
121
- # Verificar integridade contra baseline
122
- mahoraga guardian
123
-
124
- # Mostrar diferenças detalhadas
125
- mahoraga guardian --diff
132
+ mahoraga plugins list # listar plugins instalados
133
+ mahoraga plugins install <pacote> # instalar plugin
134
+ mahoraga plugins remove <pacote> # remover plugin
135
+ mahoraga marketplace search <termo> # buscar analistas
136
+ mahoraga marketplace install <nome> # instalar do marketplace
137
+ mahoraga marketplace list # listar instalados
138
+ ```
126
139
 
127
- # Comparar performance
128
- mahoraga perf snapshot --baseline
129
- mahoraga perf compare
140
+ ### Utilitários
130
141
 
131
- # Ver histórico de métricas
132
- mahoraga metricas
142
+ ```bash
143
+ mahoraga otimizar-svg --write # otimizar SVGs
144
+ mahoraga imports --scan # escanear aliases de import
145
+ mahoraga imports --apply # aplicar correções de import
146
+ mahoraga barrels --scan # preview de barrels
147
+ mahoraga barrels --generate # gerar barrels
148
+ mahoraga metricas --json # métricas em JSON
149
+ mahoraga vulnerabilidades scan # scan de vulnerabilidades
150
+ mahoraga atualizar --global # auto-update
133
151
  ```
134
152
 
135
153
  ---
@@ -138,48 +156,41 @@ mahoraga metricas
138
156
 
139
157
  ### Análise Inteligente
140
158
 
141
- - **Diagnóstico completo** qualidade, segurança e arquitetura
142
- - **15+ detectores especializados** código frágil, duplicação, complexidade, performance, vazamentos de memória, tipos inseguros
143
- - **18+ plugins multi-linguagem** React, CSS, HTML, Python, Shell, SQL, Tailwind, XML, SVG
144
- - **Detecção de bugs via ML** 8 padrões com pontuação Bayesiana (v0.10.0)
145
- - **Registro inteligente** descoberta automática de analistas built-in e customizados
146
- - **Análise de monorepos** pnpm-workspace, lerna, nx, turbo (v0.10.0)
159
+ - **Diagnóstico completo**: qualidade, segurança e arquitetura
160
+ - **15+ detectores especializados**: código frágil, duplicação, complexidade, performance, vazamentos de memória, tipos inseguros
161
+ - **18+ plugins multi-linguagem**: React, CSS, HTML, Python, Shell, SQL, Tailwind, XML, SVG
162
+ - **Detecção de bugs via ML**: 8 padrões com pontuação Bayesiana
163
+ - **Registro inteligente**: descoberta automática de analistas built-in e customizados
164
+ - **Análise de monorepos**: pnpm-workspace, lerna, nx, turbo
147
165
 
148
166
  ### Manutenção Assistida
149
167
 
150
- - **Auto-fix seguro** correções automáticas com validação (`corrigir`)
151
- - **Guardian** monitoramento contínuo com assinatura GPG, baselines criptográficos e verificação de integridade
152
- - **Reestruturação** reorganização automática seguindo padrões arquiteturais
153
- - **Poda inteligente** identificação e remoção de arquivos órfãos e código morto
154
- - **Fix Types** correção automática de `any` e `unknown`
155
- - **Formatação** formatação automática do código
156
- - **Names/Rename** extração e renomeação em massa de variáveis
157
- - **Reverter** — rollback de movimentações aplicadas
168
+ - **Guardian**: monitoramento contínuo com assinatura GPG (Ed25519), baselines criptográficos e verificação de integridade
169
+ - **Fix Types**: correção automática de `any` e `unknown`
170
+ - **Poda inteligente**: identificação e remoção de arquivos órfãos e código morto
171
+ - **Formatação**: formatação automática do código
172
+ - **Names/Rename**: extração e renomeação em massa de variáveis
173
+ - **Reverter**: rollback de movimentações aplicadas
174
+ - **Imports**: gerenciamento de aliases de import
158
175
 
159
176
  ### Relatórios Profissionais
160
177
 
161
- - **Múltiplos formatos** JSON, Markdown, HTML, CSV com sharded export
162
- - **Métricas detalhadas** complexidade ciclomática, duplicação, cobertura, performance com histórico
163
- - **Baseline de performance** snapshots e comparação ao longo do tempo
164
- - **Scan de licenças** verificação de dependências e geração de THIRD-PARTY-NOTICES
165
- - **Relatórios de compliance** ISO 27001, SOC 2
166
- - **Streaming** — NDJSON sharded com gzip para projetos grandes (v0.10.0)
178
+ - **Métricas detalhadas**: complexidade ciclomática, duplicação, cobertura, performance com histórico
179
+ - **Baseline de performance**: snapshots e comparação ao longo do tempo
180
+ - **Scan de licenças**: verificação de dependências e geração de THIRD-PARTY-NOTICES
181
+ - **Relatórios de compliance**: ISO 27001, SOC 2
182
+ - **Streaming**: NDJSON para projetos grandes
167
183
 
168
- ### Extensível
184
+ ### Integrações CI/CD
169
185
 
170
- - **Plugin system** crie analistas customizados com autodiscovery
171
- - **API modular** use como biblioteca (`mahoraga/sdk`)
172
- - **REST API** — servidor HTTP com Swagger UI
173
- - **Worker pool** — processamento paralelo para projetos grandes
174
- - **Marketplace** — analistas comunitários
186
+ - **GitLab CI / CircleCI / Jenkins / Azure Pipelines**: análise de pipelines
187
+ - **Conversão** entre plataformas de CI/CD
175
188
 
176
- ### Integrações
189
+ ### Extensível
177
190
 
178
- - **GitHub App** análise automática de workflows em PRs e pushes
179
- - **GitHub Actions** scan de workflows, score 0-100, check runs
180
- - **GitLab CI / CircleCI / Jenkins / Azure Pipelines** — análise de pipelines
181
- - **LSP** — diagnóstico em tempo real para editores
182
- - **VSCode Extension** — análise ao salvar/abrir arquivos
191
+ - **Plugin system**: crie analistas customizados com autodiscovery
192
+ - **API modular**: use como biblioteca (`@mocoto/mahoraga`)
193
+ - **Marketplace**: analistas comunitários
183
194
 
184
195
  ---
185
196
 
@@ -199,27 +210,19 @@ npm install --save-dev @mocoto/mahoraga
199
210
  npx mahoraga --help
200
211
  ```
201
212
 
202
-
203
- ### Docker
204
-
205
- ```bash
206
- docker build -t mahoraga .
207
- docker run --rm -v $(pwd):/project mahoraga diagnosticar
208
- ```
209
-
210
213
  ### Verificar Instalação
211
214
 
212
215
  ```bash
213
- mahoraga --version # v0.10.2
214
- mahoraga --help # lista todos os comandos
215
- mahoraga analistas --listar # analistas disponíveis
216
+ mahoraga --version # v0.14.6
217
+ mahoraga --help # lista todos os comandos
218
+ mahoraga analistas --json # analistas disponíveis
216
219
  ```
217
220
 
218
221
  ---
219
222
 
220
223
  ## Configuração
221
224
 
222
- O Mahoraga lê um arquivo `mahoraga.config.json` na raiz do seu projeto. Se não existir, usa configurações padrão sensatas.
225
+ O Mahoraga lê um arquivo `mahoraga.config.json` na raiz do seu projeto (ou variáveis de ambiente).
223
226
 
224
227
  ### Configuração Mínima
225
228
 
@@ -237,427 +240,80 @@ O Mahoraga lê um arquivo `mahoraga.config.json` na raiz do seu projeto. Se não
237
240
  }
238
241
  ```
239
242
 
240
- ### Blocos Principais
241
-
242
- | Bloco | Descrição |
243
- |-------|-----------|
244
- | `locale` | Idioma (`pt`, `en`, `zh`, `ja`) |
245
- | `verbose` | Saída detalhada |
246
- | `logLevel` | Nível de log (`debug`, `info`, `warn`, `error`) |
247
- | `safeMode` | Modo seguro (sem operações destrutivas) |
248
- | `exclude` | Glob patterns para exclusão |
249
- | `INCLUDE_EXCLUDE_RULES` | Regras globais de inclusão/exclusão |
250
- | `languageSupport` | Configuração por linguagem |
251
- | `rules` | Customização de severidade por regra |
252
- | `suppress` | Supressão de avisos por regra/caminho |
253
- | `testPatterns` | Padrões para detecção de testes |
254
- | `analystsExclude` | Analistas a desabilitar |
255
- | `GUARDIAN_*` | Configurações do Guardian (assinatura GPG) |
256
- | `REPORT_*` | Configurações de relatórios |
257
- | `WORKER_POOL_*` | Pool de workers paralelos |
258
- | `PLUGINS` | Sistema de plugins |
259
- | `CACHE_STRATEGY` | Estratégia de cache |
260
-
261
243
  ### Variáveis de Ambiente
262
244
 
263
245
  | Variável | Descrição | Padrão |
264
246
  |----------|-----------|--------|
265
- | `SUKUNA_API_PORT` | Porta da API | `3100` |
266
- | `SUKUNA_API_CORS_ORIGINS` | Origens CORS | `localhost: 00` |
267
247
  | `LOG_LEVEL` | Nível de log | `info` |
268
248
  | `LOG_ESTRUTURADO` | Logs em JSON | `false` |
269
- | `SUKUNA_DEBUG` | Modo debug | |
270
- | `GITHUB_APP_ID` | ID do GitHub App | |
271
- | `GITHUB_PRIVATE_KEY` | Chave RSA do GitHub App | |
272
- | `GITHUB_WEBHOOK_SECRET` | Webhook secret | |
273
-
274
- > [BOOK] [Guia de Configuração Completo →](./docs/guias/GUIA-CONFIGURACAO.md)
275
-
276
- ---
277
-
278
- ## Comandos da CLI
279
-
280
- ### Comandos Principais
281
-
282
- | Comando | Descrição | Exemplo |
283
- |---------|-----------|---------|
284
- | `diagnosticar` | Análise completa do projeto | `mahoraga diagnosticar --verbose` |
285
- | `corrigir` | Auto-fix com validação | `mahoraga corrigir --auto` |
286
- | `guardian` | Monitoramento contínuo | `mahoraga guardian --baseline` |
287
- | `reestruturar` | Reorganizar estrutura do código | `mahoraga reestruturar --auto` |
288
- | `podar` | Remover código morto | `mahoraga podar` |
289
- | `fix-types` | Corrigir tipos inseguros | `mahoraga fix-types --auto` |
290
- | `formatar` | Formatação automática | `mahoraga formatar --write` |
291
- | `analistas` | Listar analistas | `mahoraga analistas --listar` |
292
-
293
- ### Diagnóstico Avançado
294
-
295
- ```bash
296
- mahoraga diagnosticar --full # análise completa
297
- mahoraga diagnosticar --fast # modo rápido
298
- mahoraga diagnosticar --compact # saída compacta
299
- mahoraga diagnosticar --json # saída JSON
300
- mahoraga diagnosticar --stream # streaming para projetos grandes
301
- mahoraga diagnosticar --executive # relatório executivo
302
- mahoraga diagnosticar --monorepo # análise de monorepo
303
- mahoraga diagnosticar --guardian-check # verificar Guardian
304
- mahoraga diagnosticar --include "src/**" # incluir padrão
305
- mahoraga diagnosticar --exclude "**/*.test.ts" # excluir padrão
306
- mahoraga diagnosticar --path ./frontend --path ./backend # múltiplos diretórios
307
- ```
308
-
309
- ### Correção e Manutenção
310
-
311
- ```bash
312
- mahoraga corrigir --revisar # revisar antes de aplicar
313
- mahoraga corrigir --auto # aplicar automaticamente
314
- mahoraga corrigir --tipo variavel-nao-usada # tipo específico
315
- mahoraga fix-types --dry-run # simular correção
316
- mahoraga fix-types --target src # diretório alvo
317
- ```
318
-
319
- ### Guardian (Monitoramento com GPG)
320
-
321
- O Guardian utiliza **assinatura GPG** (Ed25519) em vez de hashes convencionais para garantir a integridade dos arquivos. Cada baseline armazena assinaturas criptográficas individuais, permitindo autenticação e não-repúdio.
322
-
323
- ```bash
324
- mahoraga guardian # verificar integridade
325
- mahoraga guardian --accept-baseline # aceitar estado atual como baseline
326
- mahoraga guardian --diff # mostrar diferenças
327
- mahoraga guardian --full-scan # scan completo sem ignorar padrões
328
- mahoraga guardian --json # saída JSON estruturada
329
- ```
330
-
331
- **Como funciona:**
332
- 1. **Chaves** — um par de chaves GPG (Ed25519) é gerado automaticamente em `.mahoraga/`
333
- 2. **Baseline** — cada arquivo é assinado com a chave privada; a assinatura é armazenada no baseline
334
- 3. **Verificação** — a assinatura armazenada é verificada contra o conteúdo atual usando a chave pública
335
- 4. **Drift** — arquivos adicionados, removidos ou com assinatura inválida são detectados
336
-
337
- > As chaves GPG ficam em `.mahoraga/` e são automaticamente excluídas do versionamento (`.gitignore`).
338
-
339
- ### Nomes e Renomeação
340
-
341
- ```bash
342
- mahoraga names # extrair nomes de variáveis
343
- mahoraga rename --apply # aplicar renomeações
344
- mahoraga reverter listar # listar reversões
345
- mahoraga reverter move <id> # reverter movimento específico
346
- ```
347
-
348
- ### Licenças e Compliance
349
-
350
- ```bash
351
- mahoraga licencas scan # scan de licenças
352
- mahoraga licencas notices generate # gerar THIRD-PARTY-NOTICES
353
- mahoraga licencas disclaimer add # adicionar disclaimer
354
- mahoraga licencas disclaimer verify # verificar disclaimers
355
- mahoraga compliance report iso-27001 # relatório ISO 27001
356
- mahoraga compliance report soc2 --json # relatório SOC 2
357
- ```
358
-
359
- ### CI/CD
360
-
361
- ```bash
362
- mahoraga github-actions scan # scan de workflows
363
- mahoraga github-actions report --format html # relatório HTML
364
- mahoraga github-actions gate --threshold 80 # quality gate
365
- mahoraga gitlab-ci scan # scan GitLab CI
366
- mahoraga circleci scan # scan CircleCI
367
- mahoraga jenkins scan # scan Jenkins
368
- mahoraga azure scan # scan Azure Pipelines
369
- ```
370
-
371
- ### Métricas e Performance
372
-
373
- ```bash
374
- mahoraga metricas # histórico de métricas
375
- mahoraga metricas --analistas # métricas por analista
376
- mahoraga perf snapshot --baseline # baseline de performance
377
- mahoraga perf compare # comparar performance
378
- ```
379
-
380
- ### Utilitários
381
-
382
- ```bash
383
- mahoraga otimizar-svg --write # otimizar SVGs
384
- mahoraga atualizar # atualizar Mahoraga
385
- mahoraga plugins list # listar plugins
386
- mahoraga marketplace search # buscar analistas
387
- mahoraga vulnerabilidades scan # scan de vulnerabilidades
388
- mahoraga formatters list # listar formatadores
389
- mahoraga lsp # iniciar servidor LSP
390
- mahoraga serve --port 3100 # iniciar REST API
391
- mahoraga convert # converter projeto
392
- mahoraga imports --scan # gerenciar imports
393
- ```
394
-
395
- > [BOOK] [Guia de Comandos Completo →](./docs/guias/GUIA-COMANDOS.md)
396
-
397
- ---
398
-
399
- ## REST API
400
-
401
- O Mahoraga pode ser executado como um servidor HTTP RESTful para integração com outras ferramentas.
402
-
403
- ```bash
404
- # Iniciar servidor
405
- mahoraga serve --port 3100
406
- ```
407
-
408
- **Base URL:** `http://localhost:3100/api/v1`
409
- **Swagger UI:** `http://localhost:3100/api/docs`
410
-
411
- ### Endpoints
412
-
413
- | Endpoint | Método | Descrição |
414
- |----------|--------|-----------|
415
- | `/api/health` | GET | Health check |
416
- | `/api/v1/analistas` | GET | Listar analistas |
417
- | `/api/v1/analistas/stats` | GET | Estatísticas |
418
- | `/api/v1/diagnosticar` | POST | Executar diagnóstico |
419
- | `/api/v1/diagnosticar/jobs` | GET | Listar jobs |
420
- | `/api/v1/diagnosticar/jobs/:id` | GET | Status do job |
421
- | `/api/v1/guardian` | GET | Status do Guardian |
422
- | `/api/v1/guardian/baseline` | POST | Criar baseline |
423
- | `/api/v1/guardian/diff` | GET | Comparar baseline |
424
- | `/api/v1/metricas` | GET | Métricas históricas |
425
-
426
- ### Exemplo
427
-
428
- ```bash
429
- # Diagnóstico assíncrono
430
- curl -X POST http://localhost:3100/api/v1/diagnosticar \
431
- -H "Content-Type: application/json" \
432
- -d '{"async": true, "fast": true}'
433
- ```
434
-
435
- > [BOOK] [Documentação da API →](./docs/api/REST-API.md)
436
-
437
- ---
438
-
439
- ## SDK Programático
440
-
441
- Use o Mahoraga como biblioteca no seu código:
442
-
443
- ```bash
444
- npm install mahoraga
445
- ```
446
-
447
- ```typescript
448
- import { analyzeFile, analyzeProject } from 'mahoraga/sdk'
449
-
450
- // Analisar um arquivo
451
- const result = await analyzeFile('/caminho/arquivo.ts', conteudo)
452
-
453
- // Analisar projeto inteiro
454
- const projeto = await analyzeProject('/caminho/projeto')
455
- ```
456
-
457
- ```typescript
458
- import { MahoragaSDK } from 'mahoraga/sdk'
459
-
460
- const sdk = new MahoragaSDK()
461
- await sdk.analisarGithubActions('./.github/workflows')
462
- sdk.registrarDetector('meu-detector', meuDetector)
463
- ```
464
-
465
- **Subpath exports:**
466
-
467
- | Import Path | Descrição |
468
- |-------------|-----------|
469
- | `mahoraga` | Entry principal |
470
- | `mahoraga/sdk` | SDK programático |
471
- | `mahoraga/api` | REST API server |
472
- | `mahoraga/types` | Typescript types |
473
- | `mahoraga/bin` | CLI binary |
249
+ | `MAHORAGA_DEBUG` | Modo debug | não definido |
250
+ | `MAHORAGA_STATE_DIR` | Diretório de estado | `.mahoraga` |
251
+ | `MAHORAGA_API_PORT` | Porta do GitHub App | `3100` |
252
+ | `GITHUB_APP_ID` | ID do GitHub App | não definido |
253
+ | `GITHUB_PRIVATE_KEY` | Chave RSA do GitHub App | não definido |
254
+ | `GITHUB_WEBHOOK_SECRET` | Webhook secret | não definido |
474
255
 
475
256
  ---
476
257
 
477
- ## GitHub App
478
-
479
- O Mahoraga pode operar como um **GitHub App** que analisa automaticamente workflows do GitHub Actions em PRs, pushes e issues.
480
-
481
- ### Funcionalidades
482
-
483
- - **Análise automática** de workflows em PRs e pushes
484
- - **Score de qualidade** 0-100 para cada workflow
485
- - **Detecção** de script injection, secrets hardcoded, permissões excessivas
486
- - **Comentários automáticos** em PRs e issues
487
- - **Check runs** com annotations no código
488
- - **Análise sob demanda** via `@mahoraga analyze` em reviews
489
- - **Scan sob demanda** via `@mahoraga scan` em issues
490
-
491
- ### Eventos Suportados
492
-
493
- | Evento | Comportamento |
494
- |--------|---------------|
495
- | Check Suite | Cria check run com análise completa |
496
- | Pull Request | Posta comentário detalhado |
497
- | Push | Análise silenciosa |
498
- | Review | Responde a `@mahoraga analyze` |
499
- | Issues | Responde a `@mahoraga scan` |
500
-
501
- ### Comandos
258
+ ## Scripts
502
259
 
503
260
  ```bash
504
- mahoraga github-actions scan # scan local
505
- mahoraga github-actions report --format html # relatório
506
- mahoraga github-actions gate --threshold 80 # quality gate
507
- mahoraga github-actions app --port 3000 # iniciar servidor
508
- ```
509
-
510
- > [BOOK] [Guia do GitHub App →](./docs/guias/GITHUB-APP.md)
511
-
512
- ---
513
-
514
- ## Editor (LSP / VSCode)
515
-
516
- ### LSP Server
517
-
518
- ```bash
519
- mahoraga lsp
520
- ```
521
-
522
- Suporta `textDocument/didOpen`, `didChange`, `didSave` para diagnóstico em tempo real.
523
-
524
- ### VSCode Extension
525
-
526
- Uma extensão VSCode está disponível em `extensions/vscode/` com:
527
- - Análise ao salvar (`mahoraga.runOnSave`)
528
- - Análise ao abrir (`mahoraga.runOnOpen`)
529
- - Painel de resultados
530
- - Comandos: Analyze File, Analyze Project, Show Panel, Clear Diagnostics
531
-
532
- > [BOOK] [Guia VSCode →](./docs/guias/GUIA-VSCODE.md)
533
-
534
- ---
535
-
536
- ## CI/CD
537
-
538
- O Mahoraga analisa pipelines de CI/CD para detectar problemas de segurança, performance e boas práticas.
539
-
540
- | Plataforma | Comando |
541
- |------------|---------|
542
- | GitHub Actions | `mahoraga github-actions scan` |
543
- | GitLab CI | `mahoraga gitlab-ci scan` |
544
- | CircleCI | `mahoraga circleci scan` |
545
- | Jenkins | `mahoraga jenkins scan` |
546
- | Azure Pipelines | `mahoraga azure scan` |
547
-
548
- ```bash
549
- # Quality gate para CI (falha se score < 80)
550
- mahoraga github-actions gate --threshold 80 --fail-on erro
261
+ npm run build # compilar TypeScript (tsc nativo)
262
+ npm run typecheck # verificar tipos
263
+ npm run test # testes (Vitest)
264
+ npm run coverage # cobertura de testes
265
+ npm run diagnosticar # auto-análise
266
+ npm run lint # ESLint
551
267
  ```
552
268
 
553
269
  ---
554
270
 
555
271
  ## Linguagens Suportadas
556
272
 
557
- | Linguagem | Parser | Status |
558
- |-----------|--------|--------|
273
+ | Linguagem | Parser | Suporte |
274
+ |-----------|--------|---------|
559
275
  | JavaScript | Babel | Nativo |
560
276
  | TypeScript | Babel | Nativo |
561
277
  | HTML | htmlparser2 | Nativo |
562
- | CSS | css-tree | Nativo |
278
+ | CSS | postcss | Nativo |
563
279
  | XML | fast-xml-parser | Nativo |
564
280
  | Python | Heurístico | Nativo |
565
281
  | PHP | Heurístico | Nativo |
566
- | Shell | Heurístico | Plugin |
567
- | SQL | Heurístico | Plugin |
568
- | Go | Heurístico | Nativo (v0.8.0) |
569
- | Rust | Heurístico | Nativo (v0.8.0) |
282
+ | Shell | Heurístico | Nativo |
283
+ | SQL | Heurístico | Nativo |
284
+ | Go | Heurístico | Nativo |
285
+ | Rust | Heurístico | Nativo |
570
286
  | Java | java-parser | Disponível |
571
287
  | Kotlin | Heurístico | Disponível |
572
288
 
573
289
  ---
574
290
 
575
- ## Documentação Completa
576
-
577
- ### Guias
578
-
579
- - [Guia de Início Rápido](./docs/guias/GUIA-INICIO-RAPIDO.md) — tutorial de 10 minutos
580
- - [Guia de Configuração](./docs/guias/GUIA-CONFIGURACAO.md) — personalizar setup
581
- - [Guia de Comandos](./docs/guias/GUIA-COMANDOS.md) — referência completa
582
- - [Guia Marketplace](./docs/guias/GUIA-MARKETPLACE.md) — analistas comunitários
583
- - [Guia VSCode](./docs/guias/GUIA-VSCODE.md) — extensão VSCode
584
- - [Guia Compliance](./docs/guias/GUIA-COMPLIANCE.md) — ISO 27001, SOC 2
585
- - [Guia Formatters](./docs/guias/GUIA-FORMATTERS.md) — plugins de saída
586
-
587
- ### Arquitetura
291
+ ## Qualidade
588
292
 
589
- - [Árvore Arquitetural](./docs/arquitetura/ARVORE-ARQUITETURAL.md) — estrutura visual
590
- - [Type Safety](./docs/arquitetura/TYPE-SAFETY.md) garantias de tipo
591
- - [Segurança](./docs/arquitetura/SEGURANCA.md) práticas de segurança
592
- - [Sistema de Erros](./docs/arquitetura/SISTEMA-ERROS.md) — tratamento de erros
593
-
594
- ### Desenvolvimento
595
-
596
- - [Criar Analistas](./docs/desenvolvimento/analistas/CRIAR-ANALISTA.md) — guia de 6 passos
597
- - [Estrutura do Código](./docs/desenvolvimento/estrutura-codigo/README.md) — mapa do src/
598
- - [Padrões de Desenvolvimento](./docs/desenvolvimento/PADROES.md) — convenções
599
- - [Sistema de Plugins](./docs/desenvolvimento/SISTEMA-PLUGINS.md) — como estender
600
-
601
- ### Referência
602
-
603
- - [REST API](./docs/api/REST-API.md) — documentação da API v1
604
- - [Exemplos de Uso](./docs/exemplos/EXEMPLOS-USO.md) — casos reais e CI/CD
605
- - [Roadmap](./docs/roadmap/ROADMAP.md) — futuro do projeto
606
- - [Índice Completo](./docs/INDICE.md) — navegação por tópico
607
-
608
- ---
609
-
610
- ### Scripts
611
-
612
- ```bash
613
- npm run build # compilar TypeScript
614
- npm run typecheck # verificar tipos
615
- npm run lint # ESLint
616
- npm run test # testes (Vitest)
617
- npm run coverage # cobertura de testes
618
- npm run start # executar Mahoraga
619
- npm run diagnosticar # auto-análise
620
- ```
621
-
622
- ### Qualidade
623
-
624
- - TypeScript 6.0+ — type-safe, sem `any` desnecessários
625
- - Testes com Vitest — cobertura target > 90%
626
- - ESLint 9.x — configuração strict
627
- - Worker Pool — processamento paralelo
628
- - Schema Versioning — relatórios versionados
629
- - i18n — PT, EN, ZH, JA
630
- - CodeQL — segurança auditada
631
-
632
- ### Padrões
633
-
634
- - TypeScript type-safe (sem `any` ou `unknown` sem necessidade)
635
- - Nomes descritivos em camelCase/PascalCase
636
- - Testes com cobertura > 90%
637
- - Sem `console.log` em produção (use sistema de mensagens)
638
- - Imports organizados e ordenados
639
- - Padrões arquiteturais (Registry, Strategy, Singleton)
293
+ - TypeScript 7.0+ (compilador nativo Go/Corsa): type-safe
294
+ - Testes com Vitest: cobertura target > 90%
295
+ - ESLint 10.x: configuração strict
296
+ - Worker pool: processamento paralelo
297
+ - i18n: PT, EN, ZH, JA
298
+ - Schema versioning: relatórios versionados
640
299
 
641
300
  ---
642
301
 
643
302
  ## Contribuir
644
303
 
645
- 1. Leia [CONTRIBUTING.md](./CONTRIBUTING.md)
646
- 2. Fork o repositório
647
- 3. Crie branch: `git checkout -b feature/sua-feature`
648
- 4. Commit: `git commit -m 'Add: sua feature'`
649
- 5. Push: `git push origin feature/sua-feature`
650
- 6. Abra Pull Request
304
+ Contribuições são bem-vindas! Como o projeto não está mais no GitHub:
651
305
 
652
- ### Áreas para Contribuir
306
+ 1. Entre em contato pelo e-mail: **mocoto.persona@gmail.com**
307
+ 2. Envie patches ou sugestões por e-mail
308
+ 3. Reporte bugs com descrição detalhada e exemplo mínimo
653
309
 
654
- - **Bug fixes** — reportar e corrigir bugs
655
- - **Novas features** — analistas, comandos, plugins
656
- - **Documentação** — guias, exemplos
657
- - **Testes** — aumentar cobertura
658
- - **Analisadores** — criar detectores e plugins
310
+ ### Áreas para Contribuir
659
311
 
660
- > [BOOK] [Guia: Como Criar Analistas →](./docs/desenvolvimento/analistas/CRIAR-ANALISTA.md)
312
+ - **Bug fixes**: reportar e corrigir bugs
313
+ - **Novas features**: analistas, comandos, plugins
314
+ - **Documentação**: guias, exemplos
315
+ - **Testes**: aumentar cobertura
316
+ - **Analisadores**: criar detectores e plugins
661
317
 
662
318
  ---
663
319
 
@@ -674,5 +330,3 @@ Dependências de terceiros listadas em [THIRD-PARTY-NOTICES.txt](./THIRD-PARTY-N
674
330
  ---
675
331
 
676
332
  **Feito para os iniciantes**
677
-
678
- </div>