@mocoto/mahoraga 0.15.0 → 0.15.1

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 (49) hide show
  1. package/README.md +263 -26
  2. package/dist/analysts/js-ts/registrar.js +1 -1
  3. package/dist/analysts/react/analysts/analyst-react-hooks.js +30 -15
  4. package/dist/analysts/react/analysts/analyst-react.js +4 -2
  5. package/dist/analysts/react/detectors/detector-react-best-practices.js +7 -4
  6. package/dist/caretakers/caretaker-imports.js +0 -9
  7. package/dist/cli/commands/command-github-actions.js +0 -27
  8. package/dist/core/messages/en/cli/cli-command-github-actions-messages.js +0 -5
  9. package/dist/core/messages/en/github/index.js +0 -1
  10. package/dist/core/messages/ja/cli/cli-command-github-actions-messages.js +0 -5
  11. package/dist/core/messages/ja/github/index.js +0 -1
  12. package/dist/core/messages/pt/cli/cli-command-github-actions-messages.js +0 -5
  13. package/dist/core/messages/pt/github/index.js +0 -1
  14. package/dist/core/messages/zh/cli/cli-command-github-actions-messages.js +0 -5
  15. package/dist/core/messages/zh/github/index.js +0 -1
  16. package/dist/core/registry/file-registry.js +1 -1
  17. package/dist/node.loader.js +0 -2
  18. package/dist/shared/formatters/formatters/commons.js +36 -10
  19. package/dist/shared/formatters/formatters/shell.js +6 -3
  20. package/dist/types/analysts/index.js +1 -1
  21. package/docs/.obsidian/app.json +7 -0
  22. package/docs/.obsidian/appearance.json +8 -0
  23. package/docs/.obsidian/community-plugins.json +28 -0
  24. package/docs/.obsidian/core-plugins-migration.json +18 -0
  25. package/docs/.obsidian/core-plugins.json +73 -0
  26. package/docs/.obsidian/graph.json +22 -0
  27. package/docs/.obsidian/workspace.json +196 -0
  28. package/docs/01-arquitetura/ADR-001-estrutura-testes.md +31 -0
  29. package/docs/01-arquitetura/_index.md +152 -0
  30. package/docs/02-componentes/_index.md +294 -0
  31. package/docs/02-componentes/supressao-inline.md +88 -0
  32. package/docs/03-guias/_index.md +173 -0
  33. package/docs/03-guias/contribuindo.md +71 -0
  34. package/docs/03-guias/testes.md +133 -0
  35. package/docs/04-glossario/_index.md +29 -0
  36. package/docs/04-glossario/termos.md +247 -0
  37. package/docs/05-referencias/_index.md +87 -0
  38. package/docs/_home.md +140 -0
  39. package/docs/partials/AVISO-PROVENIENCIA.md +3 -0
  40. package/docs/templates/ADR.md +24 -0
  41. package/docs/templates/componente.md +34 -0
  42. package/docs/templates/guia.md +28 -0
  43. package/package.json +30 -31
  44. package/dist/app/github.js +0 -14
  45. package/dist/app/index.js +0 -1
  46. package/dist/core/messages/en/github/github-app-messages.js +0 -9
  47. package/dist/core/messages/ja/github/github-app-messages.js +0 -9
  48. package/dist/core/messages/pt/github/github-app-messages.js +0 -9
  49. package/dist/core/messages/zh/github/github-app-messages.js +0 -9
@@ -0,0 +1,173 @@
1
+ ---
2
+ Proveniência e Autoria: Este documento integra o projeto @mocoto/mahoraga (licença MIT-0).
3
+ tags: [moc, guias]
4
+ created: 2026-07-24
5
+ updated: 2026-07-25
6
+ ---
7
+
8
+ # Guias
9
+
10
+ ## Desenvolvimento
11
+
12
+ - [[contribuindo|Contribuindo]]: Como contribuir com o projeto
13
+ - [[testes|Testes]]: Padrões e boas práticas de teste
14
+
15
+ ## Guia Rápido de Comandos
16
+
17
+ ### Diagnóstico
18
+
19
+ ```bash
20
+ mahoraga diagnosticar # análise padrão
21
+ mahoraga diagnosticar --full # completa (todos os detectores)
22
+ mahoraga diagnosticar --fast # rápida (apenas detectores essenciais)
23
+ mahoraga diagnosticar --compact # saída compacta
24
+ mahoraga diagnosticar --json # saída JSON
25
+ mahoraga diagnosticar --detalhado # saída detalhada
26
+ mahoraga diagnosticar --executive # relatório executivo (1 página)
27
+ mahoraga diagnosticar --monorepo # modo monorepo
28
+ mahoraga diagnosticar --stream # streaming NDJSON
29
+ mahoraga diagnosticar --guardian-check # verificar Guardian junto
30
+ mahoraga diagnosticar --auto-fix # corrigir automaticamente
31
+ mahoraga diagnosticar --include "src/**" --exclude "**/*.test.ts"
32
+ ```
33
+
34
+ ### Guardian (Integridade)
35
+
36
+ ```bash
37
+ mahoraga guardian # verificar integridade
38
+ mahoraga guardian --accept-baseline # aceitar estado atual como baseline
39
+ mahoraga guardian --diff # mostrar diferenças
40
+ mahoraga guardian --full-scan # scan completo
41
+ mahoraga guardian --json # saída JSON
42
+ ```
43
+
44
+ ### Licenças
45
+
46
+ ```bash
47
+ mahoraga licencas scan # scan de dependências
48
+ mahoraga licencas notices generate # gerar THIRD-PARTY-NOTICES
49
+ mahoraga licencas disclaimer add # adicionar headers SPDX
50
+ mahoraga licencas disclaimer verify # verificar headers SPDX
51
+ ```
52
+
53
+ ### Compliance
54
+
55
+ ```bash
56
+ mahoraga compliance report iso-27001 # relatório ISO 27001
57
+ mahoraga compliance report soc2 # relatório SOC 2
58
+ mahoraga compliance report soc2 --json # em JSON
59
+ ```
60
+
61
+ ### Análise CI/CD
62
+
63
+ ```bash
64
+ mahoraga github-actions scan # GitHub Actions
65
+ mahoraga github-actions gate # quality gate
66
+ mahoraga gitlab-ci scan # GitLab CI
67
+ mahoraga circleci scan # CircleCI
68
+ mahoraga jenkins scan # Jenkins
69
+ mahoraga azure scan # Azure Pipelines
70
+ mahoraga convert --from github --to gitlab # converter templates
71
+ ```
72
+
73
+ ### Vulnerabilidades
74
+
75
+ ```bash
76
+ mahoraga vulnerabilidades scan # scan npm audit
77
+ mahoraga vulnerabilidades scan --json # saída JSON
78
+ ```
79
+
80
+ ### Manutenção de Código
81
+
82
+ ```bash
83
+ mahoraga formatar --write # formatar código
84
+ mahoraga formatar --check # verificar apenas
85
+ mahoraga fix-types --target src # corrigir any/unknown
86
+ mahoraga fix-types --dry-run # simular correção
87
+ mahoraga fix-types --interactive # modo interativo
88
+ mahoraga podar # remover arquivos órfãos
89
+ mahoraga names --scan # extrair nomes de variáveis
90
+ mahoraga names --apply # aplicar renomeações
91
+ mahoraga imports --scan # escanear aliases
92
+ mahoraga imports --apply # aplicar correções de import
93
+ mahoraga barrels --scan # preview de barrels
94
+ mahoraga barrels --generate # gerar barrels
95
+ ```
96
+
97
+ ### Plugins e Marketplace
98
+
99
+ ```bash
100
+ mahoraga plugins list # listar plugins instalados
101
+ mahoraga plugins install <pacote> # instalar plugin
102
+ mahoraga plugins remove <pacote> # remover plugin
103
+ mahoraga marketplace search <termo> # buscar analistas
104
+ mahoraga marketplace install <nome> # instalar do marketplace
105
+ ```
106
+
107
+ ### Performance e Métricas
108
+
109
+ ```bash
110
+ mahoraga perf snapshot # criar snapshot
111
+ mahoraga perf baseline # definir baseline
112
+ mahoraga perf compare # comparar snapshots
113
+ mahoraga metricas # métricas de execução
114
+ mahoraga metricas --analistas # métricas por analista
115
+ mahoraga metricas --json # JSON output
116
+
117
+ mahoraga analistas # listar analistas
118
+ mahoraga analistas --json # listar em JSON
119
+ mahoraga analistas --plugins # listar plugins
120
+ ```
121
+
122
+ ### Utilitários
123
+
124
+ ```bash
125
+ mahoraga otimizar-svg --write # otimizar SVGs
126
+ mahoraga reverter listar # listar reversões
127
+ mahoraga reverter move <id> # reverter movimento
128
+ mahoraga atualizar --global # auto-update
129
+ mahoraga atualizar --local # update local
130
+ mahoraga formatters list # listar formatadores
131
+ ```
132
+
133
+ ## Convenções de Código
134
+
135
+ - **Nomenclatura:** Em português (BR) para funções e variáveis
136
+ - **Idioma:** Português é o idioma padrão do projeto
137
+ - **i18n:** Mensagens de usuário sempre em pt, en, zh, ja
138
+ - **Componentes:** Functional components com default export
139
+ - **Imports:** Path aliases (`@core/`, `@cli/`, etc.): nunca caminhos relativos profundos
140
+ - **Testes:** Vitest com `vi.hoisted()` + `vi.mock()`
141
+
142
+ ## Como Criar um Novo Comando CLI
143
+
144
+ 1. Criar arquivo em `src/cli/commands/command-meu-comando.ts`
145
+ 2. Implementar função que recebe `aplicarFlagsGlobais` e retorna um `Command` do Commander
146
+ 3. Adicionar o comando em `src/cli/commands/commands.ts`
147
+ 4. Adicionar mensagens i18n em todas as 4 línguas
148
+ 5. Criar testes em `tests/cli/commands/command-meu-comando.test.ts`
149
+ 6. Usar `vi.hoisted()` para mocks, `parseAsync([], { from: 'user' })` para execução
150
+
151
+ ## Testes
152
+
153
+ ```bash
154
+ # Suite completa
155
+ npm test
156
+
157
+ # Testes específicos
158
+ npx vitest run tests/cli/commands/command-format.test.ts
159
+
160
+ # Coverage
161
+ npm run coverage
162
+
163
+ # Modo watch
164
+ npx vitest
165
+ ```
166
+
167
+ ## Build
168
+
169
+ ```bash
170
+ npm run build # compilar TypeScript
171
+ npm run typecheck # verificar tipos (sem emitir)
172
+ npm run lint # ESLint
173
+ ```
@@ -0,0 +1,71 @@
1
+ ---
2
+ Proveniência e Autoria: Este documento integra o projeto @mocoto/mahoraga (licença MIT-0).
3
+ tags: [guia]
4
+ status: rascunho
5
+ created: 2026-07-24
6
+ updated: 2026-07-25
7
+ ---
8
+
9
+ # Contribuindo
10
+
11
+ ## Workflow
12
+
13
+ 1. Crie uma branch: `tipo/descricao-curta` (ex: `feat/novo-comando`)
14
+ 2. Faça commits atômicos seguindo [conventional commits](https://www.conventionalcommits.org/)
15
+ 3. Abra um Pull Request com descrição do *porquê*, não apenas do *que*
16
+ 4. PRs devem ser pequenos (máx 200-400 linhas)
17
+
18
+ ## Checklist pré-PR
19
+
20
+ - [ ] `npm run typecheck` passando
21
+ - [ ] `npm test` passando
22
+ - [ ] `npm run build` passando
23
+ - [ ] Cobertura adequada nos arquivos alterados
24
+ - [ ] Mensagens i18n atualizadas em pt, en, zh, ja
25
+ - [ ] Documentação atualizada em `Docs/`
26
+
27
+ ## Convenções
28
+
29
+ - Commits: `tipo(escopo): descrição no imperativo`
30
+ - Tipos: feat, fix, refactor, docs, test, chore
31
+ - Branches: `tipo/issue-123-descricao`
32
+ - NUNCA force push
33
+ - NUNCA use `git add.`: adicione apenas arquivos intencionais
34
+ - Revise `git diff --cached` por segredos antes de commitar
35
+
36
+ ## Estrutura de um Comando
37
+
38
+ ```typescript
39
+ // src/cli/commands/command-exemplo.ts
40
+ import { Command } from 'commander';
41
+
42
+ export function comandoExemplo(aplicarFlagsGlobais: (opts: unknown) => void): Command {
43
+ const cmd = new Command('exemplo').alias('ex')
44
+ .description('Faz algo incrível')
45
+ .option('-t, --target <path>', 'Diretório alvo');
46
+
47
+ cmd.action(async (opts) => {
48
+ aplicarFlagsGlobais(opts);
49
+ // implementação...
50
+ });
51
+
52
+ return cmd;
53
+ }
54
+ ```
55
+
56
+ ## Convenções de i18n
57
+
58
+ Toda mensagem visível ao usuário deve ser adicionada em 4 línguas:
59
+
60
+ - `src/core/messages/pt/ ...`: Português (padrão)
61
+ - `src/core/messages/en/ ...`: Inglês
62
+ - `src/core/messages/zh/ ...`: Chinês
63
+ - `src/core/messages/ja/ ...`: Japonês
64
+
65
+ Mensagens são objetos `as const` exportados e tipados.
66
+
67
+ ## Dependências
68
+
69
+ - **Runtime:** Node.js >=24.16.0
70
+ - **Gerenciador:** npm
71
+ - **Nunca adicione** `@types/*` como dependência de produção: use `devDependencies`
@@ -0,0 +1,133 @@
1
+ ---
2
+ Proveniência e Autoria: Este documento integra o projeto @mocoto/mahoraga (licença MIT-0).
3
+ tags: [guia, testes]
4
+ status: rascunho
5
+ created: 2026-07-24
6
+ updated: 2026-07-25
7
+ ---
8
+
9
+ # Testes
10
+
11
+ ## Stack
12
+
13
+ - **Framework:** Vitest v4
14
+ - **Coverage:** v8 (via `@vitest/coverage-v8`)
15
+ - **Mocks:** `vi.hoisted()` + `vi.mock()` no topo dos arquivos
16
+ - **Organização:** `tests/` espelha `src/` em estrutura de diretórios
17
+ - **Aliases:** Mesma configuração de paths do tsconfig (definidos em `vitest.config.ts`)
18
+
19
+ ## Padrões
20
+
21
+ ### Teste de Comando CLI
22
+
23
+ ```typescript
24
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
25
+
26
+ const mockLog = vi.hoisted(() => ({ info: vi.fn(), erro: vi.fn() }));
27
+
28
+ vi.mock('@core/messages', () => ({
29
+ getMessages: () => ({ log: mockLog, /* ... */ }),
30
+ }));
31
+
32
+ import { comandoFormatar } from '../../../src/cli/commands/command-format.js';
33
+
34
+ describe('comandoFormatar', () => {
35
+ beforeEach(() => { vi.clearAllMocks(); });
36
+
37
+ it('cria comando com nome esperado', () => {
38
+ const cmd = comandoFormatar(vi.fn());
39
+ expect(cmd.name()).toBe('formatar');
40
+ });
41
+
42
+ it('captura erros no scanRepository', async () => {
43
+ const exitSpy = vi.spyOn(process, 'exit').mockImplementation(() => undefined as never);
44
+ const scanRepo = (await import('@core/execution')).scanRepository as ReturnType<typeof vi.fn>;
45
+ scanRepo.mockRejectedValue(new Error('erro'));
46
+ const cmd = comandoFormatar(vi.fn());
47
+ await cmd.parseAsync([], { from: 'user' });
48
+ expect(mockLog.erro).toHaveBeenCalled();
49
+ exitSpy.mockRestore();
50
+ });
51
+ });
52
+ ```
53
+
54
+ ### Teste com Callback Pattern (Mocks Complexos)
55
+
56
+ ```typescript
57
+ // Para módulos com mocking complexo (ex: createRequire, promisify):
58
+ const mockFn = vi.hoisted(() => vi.fn().mockResolvedValue([]));
59
+
60
+ vi.mock('node:module', () => ({
61
+ createRequire: () => (id: string) => {
62
+ if (id === 'license-checker') return { init: mockFn };
63
+ return require(id);
64
+ },
65
+ }));
66
+
67
+ vi.mock('node:util', () => ({ promisify: () => (fn: any) => fn }));
68
+
69
+ // Import dinâmico após os mocks
70
+ const mod = await import('../../src/licenses/generate-notices.js');
71
+ ```
72
+
73
+ ### Teste de Módulo com FS
74
+
75
+ ```typescript
76
+ import fs from 'node:fs';
77
+ import os from 'node:os';
78
+ import path from 'node:path';
79
+
80
+ let tmpDir: string;
81
+
82
+ beforeEach(() => {
83
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mahoraga-test-'));
84
+ });
85
+
86
+ afterEach(() => {
87
+ fs.rmSync(tmpDir, { recursive: true, force: true });
88
+ });
89
+ ```
90
+
91
+ ### Teste de Tipos
92
+
93
+ ```typescript
94
+ import { describe, it, expectTypeOf } from 'vitest';
95
+ import type { MeuTipo } from '../../src/types/index.js';
96
+
97
+ describe('MeuTipo', () => {
98
+ it('deve ser string', () => {
99
+ expectTypeOf<MeuTipo>().toBeString();
100
+ });
101
+ });
102
+ ```
103
+
104
+ ## Cobertura
105
+
106
+ ```bash
107
+ npm run coverage # relatório completo
108
+ npx vitest run --coverage --reporter=text # apenas terminal
109
+ npx vitest run --coverage --reporter=html # HTML interativo
110
+ ```
111
+
112
+ ### Alvo
113
+
114
+ - Cobertura geral target: 56%+ statements
115
+ - Novos arquivos: 80%+ statements
116
+ - Módulos críticos (licenses, vulnerabilities, guardian): 90%+
117
+
118
+ ## Dicas Avançadas
119
+
120
+ - `parseAsync([], { from: 'user' })`: Commander v15 não aceita args posicionais
121
+ - `vi.spyOn(process, 'exit')`: sempre restaurar com `.mockRestore()` no afterEach
122
+ - `vi.hoisted()` para variáveis que precisam existir antes dos mocks serem avaliados
123
+ - Testes de FS real usar `os.tmpdir()` + limpeza em `afterEach`
124
+ - Mocks de `@core/messages` são os mais comuns: criar helper se repetir muito
125
+ - Para testar barrels (index.ts), importar o barrel e verificar se as exportações existem
126
+
127
+ ## Debug
128
+
129
+ ```bash
130
+ npx vitest --reporter=verbose # log detalhado
131
+ npx vitest --reporter=json # saída JSON
132
+ npx vitest run tests/meu-teste.test.ts --reporter=verbose
133
+ ```
@@ -0,0 +1,29 @@
1
+ ---
2
+ Proveniência e Autoria: Este documento integra o projeto @mocoto/mahoraga (licença MIT-0).
3
+ tags: [moc, glossario]
4
+ created: 2026-07-24
5
+ ---
6
+
7
+ # Glossário
8
+
9
+ ## Termos do Domínio
10
+
11
+ | Termo | Definição |
12
+ |-------|-----------|
13
+ | **Analyst** | Analisador especializado que processa um aspecto do código (AST, dependências, etc.) |
14
+ | **Caretaker** | Módulo que aplica transformações automáticas no código fonte |
15
+ | **Guardian** | Pipeline de integridade que verifica baseline vs estado atual |
16
+ | **Baseline** | Estado de referência do projeto usado pelo Guardian |
17
+ | **Registry** | Registro central de analysts com descoberta automática |
18
+ | **Runtime** | Adaptador de ambiente (Node, Deno, Bun) |
19
+ | **MOC** | Map of Content: nota índice que linka notas relacionadas |
20
+ | **ADR** | Architecture Decision Record: registro de decisão arquitetural |
21
+ | **MCP** | Model Context Protocol: protocolo para agentes de IA acessarem ferramentas |
22
+
23
+ ## Tags Utilizadas
24
+
25
+ - `#moc`: Nota do tipo Mapa de Conteúdo
26
+ - `#adr`: Architecture Decision Record
27
+ - `#guia`: Guia de desenvolvimento
28
+ - `#glossario`: Entrada de glossário
29
+ - `#termo`: Definição de termo
@@ -0,0 +1,247 @@
1
+ ---
2
+ Proveniência e Autoria: Este documento integra o projeto @mocoto/mahoraga (licença MIT-0).
3
+ tags: [glossario, termo]
4
+ created: 2026-07-24
5
+ updated: 2026-07-25
6
+ ---
7
+
8
+ # Termos do Domínio
9
+
10
+ ## A
11
+
12
+ ### ADR (Architecture Decision Record)
13
+
14
+ Registro de decisão arquitetural. Documenta o contexto, a decisão tomada, consequências e alternativas consideradas. Usa o template em `templates/ADR.md`.
15
+
16
+ ### Advisor
17
+
18
+ Módulo que fornece recomendações contextuais baseadas nos resultados da análise. Dois tipos: genérico (`advisor.ts`) e específico do mahoraga (`advisor-mahoraga.ts`).
19
+
20
+ ### Analyst
21
+
22
+ Analisador especializado que processa um aspecto específico do código. Descobertos automaticamente pelo Registry. Exemplos: analisador de AST, analisador de dependências, analisador de métricas.
23
+
24
+ ### Archetype
25
+
26
+ Padrão arquitetural detectado pelo sistema de análise. Usado para classificar projetos e sugerir boas práticas específicas.
27
+
28
+ ### Autodiscovery
29
+
30
+ Mecanismo que descobre automaticamente analistas e detectores sem registro manual. Implementado em `src/analysts/registry/autodiscovery.ts`.
31
+
32
+ ### Azure Pipelines
33
+
34
+ Plataforma de CI/CD da Microsoft. O Mahoraga analisa pipelines Azure com detectores e correções específicos.
35
+
36
+ ## B
37
+
38
+ ### Babel
39
+
40
+ Parser de JavaScript/TypeScript usado pelo Mahoraga para análise de AST (Árvore Sintática Abstrata).
41
+
42
+ ### Barrel
43
+
44
+ Arquivo `index.ts` que re-exporta módulos de um diretório. O Mahoraga pode escanear, gerar e gerenciar barrels automaticamente.
45
+
46
+ ### Baseline
47
+
48
+ Estado de referência do projeto usado pelo Guardian para detectar alterações não autorizadas. Armazenado em `.mahoraga/baseline/`.
49
+
50
+ ## C
51
+
52
+ ### Caretaker
53
+
54
+ Módulo que aplica transformações automáticas no código fonte. Exemplo: `caretaker-imports.ts` gerencia aliases de import.
55
+
56
+ ### CircleCI
57
+
58
+ Plataforma de CI/CD. O Mahoraga analisa pipelines CircleCI com detectores e correções.
59
+
60
+ ### CLI
61
+
62
+ Command Line Interface. Interface de linha de comando implementada com Commander.js.
63
+
64
+ ### Compliance
65
+
66
+ Conformidade com standards de segurança e governança. O Mahoraga gera relatórios ISO 27001 e SOC 2.
67
+
68
+ ### Conventional Commits
69
+
70
+ Padrão de mensagens de commit: `tipo(escopo): descrição`. Tipos usados: feat, fix, refactor, docs, test, chore.
71
+
72
+ ### Converter
73
+
74
+ Módulo que converte pipelines entre plataformas de CI/CD (ex: GitHub Actions → GitLab CI).
75
+
76
+ ## D
77
+
78
+ ### Detector
79
+
80
+ Unidade mínima de análise que verifica um aspecto específico do código. Múltiplos detectores compõem um analyst.
81
+
82
+ ### Disclaimer
83
+
84
+ Header SPDX adicionado ao topo de arquivos fonte para declaração de licença. O módulo `licenses/disclaimer.ts` gerencia isso.
85
+
86
+ ## E
87
+
88
+ ### Ed25519
89
+
90
+ Algoritmo de curva elíptica usado pelo Guardian para assinatura GPG. Escolhido por segurança e performance.
91
+
92
+ ## F
93
+
94
+ ### Fix Types
95
+
96
+ Subcomando que corrige automaticamente tipos inseguros (`any` → tipos concretos, `unknown` → tipos específicos).
97
+
98
+ ## G
99
+
100
+ ### GitHub Actions
101
+
102
+ Plataforma de CI/CD do GitHub. O Mahoraga analisa workflows YAML com detectores especializados.
103
+
104
+ ### GitLab CI
105
+
106
+ Plataforma de CI/CD do GitLab. Análise de pipelines `.gitlab-ci.yml`.
107
+
108
+ ### GPG (GNU Privacy Guard)
109
+
110
+ Sistema de criptografia usado pelo Guardian para assinar e verificar baselines de integridade.
111
+
112
+ ### Guardian
113
+
114
+ Pipeline de integridade que compara o baseline com o estado atual do projeto, detectando desvios e alterações suspeitas. Usa assinatura GPG Ed25519.
115
+
116
+ ## I
117
+
118
+ ### i18n
119
+
120
+ Internacionalização. O Mahoraga suporta 4 idiomas: Português (padrão), Inglês, Chinês, Japonês.
121
+
122
+ ### Inquisitor
123
+
124
+ Módulo do core que coordena a execução dos analisadores durante o scan.
125
+
126
+ ## J
127
+
128
+ ### Jenkins
129
+
130
+ Plataforma de CI/CD open-source. O Mahoraga analisa pipelines Jenkins.
131
+
132
+ ## L
133
+
134
+ ### Loader ESM
135
+
136
+ Mecanismo em `src/node.loader.ts` que resolve path aliases em tempo de execução, permitindo imports como `@core/execution`.
137
+
138
+ ## M
139
+
140
+ ### MCP (Model Context Protocol)
141
+
142
+ Protocolo padrão que permite agentes de IA acessarem ferramentas e recursos externos de forma segura.
143
+
144
+ ### Marketplace
145
+
146
+ Sistema de distribuição de analistas comunitários. Comandos: `marketplace search`, `marketplace install`.
147
+
148
+ ### MOC (Map of Content)
149
+
150
+ Nota índice que funciona como hub de navegação, linkando notas relacionadas sobre um mesmo tema. Substitui pastas profundas na documentação.
151
+
152
+ ### Monorepo
153
+
154
+ Repositório com múltiplos projetos. O Mahoraga detecta configurações pnpm-workspace, lerna, nx e turbo.
155
+
156
+ ## N
157
+
158
+ ### NDJSON (Newline Delimited JSON)
159
+
160
+ Formato de streaming usado para projetos grandes. Cada linha é um JSON válido, permitindo processamento incremental.
161
+
162
+ ### npm audit
163
+
164
+ Ferramenta do npm para scan de vulnerabilidades em dependências. Integrada ao módulo `vulnerabilities/`.
165
+
166
+ ## P
167
+
168
+ ### Phantom
169
+
170
+ Arquivo que existe no filesystem mas não é importado por nenhum outro módulo. Detectado pelo detector de phantoms.
171
+
172
+ ### Plugin
173
+
174
+ Extensão do sistema de análise. Plugins built-in: analyst-formatter, detector-documentation, detector-markdown, detector-node.
175
+
176
+ ### Poda (Pruning)
177
+
178
+ Remoção automatizada de arquivos órfãos e código morto. Comando: `mahoraga podar`.
179
+
180
+ ### postcss
181
+
182
+ Parser de CSS usado pelos analisadores CSS e CSS-in-JS.
183
+
184
+ ## R
185
+
186
+ ### Registry
187
+
188
+ Registro central de analysts com descoberta automática via `autodiscovery.ts`. Permite que novos analysts sejam detectados sem registro manual.
189
+
190
+ ### Runtime
191
+
192
+ Camada de abstração do ambiente de execução. Suporta Node.js através do adaptador em `src/core/runtime/`.
193
+
194
+ ## S
195
+
196
+ ### Scanner
197
+
198
+ Motor que percorre o filesystem, identifica arquivos por tipo e coordena a análise. Presente em `core/execution/` e `licenses/scanner.ts`.
199
+
200
+ ### Schema Versioning
201
+
202
+ Sistema de versionamento de schemas de relatórios para compatibilidade retroativa.
203
+
204
+ ### Sentinel
205
+
206
+ Mecanismo do Guardian que monitora continuamente alterações no projeto.
207
+
208
+ ### SOC 2
209
+
210
+ Standard de auditoria de controles organizacionais. Relatório gerado pelo módulo `reports/compliance/`.
211
+
212
+ ### SPDX
213
+
214
+ Software Package Data Exchange. Padrão para comunicação de informações de licenças. Usado pelo módulo `licenses/`.
215
+
216
+ ### Streaming
217
+
218
+ Modo de saída NDJSON para projetos grandes, permitindo processamento incremental sem carregar tudo em memória.
219
+
220
+ ## T
221
+
222
+ ### THIRD-PARTY-NOTICES
223
+
224
+ Arquivo gerado pelo Mahoraga listando todas as licenças de dependências do projeto.
225
+
226
+ ## W
227
+
228
+ ### Worker Pool
229
+
230
+ Sistema de processamento paralelo em `src/core/workers/`. Gerencia fila de tarefas, workers e resultados.
231
+
232
+ ## X
233
+
234
+ ### xxhash
235
+
236
+ Algoritmo de hashing não-criptográfico usado pelo Guardian para hash rápido de arquivos.
237
+
238
+ ## Índice de Tags
239
+
240
+ | Tag | Uso |
241
+ |-----|-----|
242
+ | `#moc` | Nota Mapa de Conteúdo |
243
+ | `#adr` | Architecture Decision Record |
244
+ | `#guia` | Guia de desenvolvimento |
245
+ | `#glossario` | Entrada de glossário |
246
+ | `#termo` | Definição de termo individual |
247
+ | `#componente` | Documentação de componente |