@fabioforest/openclaw 3.5.0 → 3.6.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 CHANGED
@@ -371,7 +371,7 @@ Verifica conectividade, proxy, versões e integridade do ambiente.
371
371
 
372
372
  ---
373
373
 
374
- ## 🧠 Skills Disponíveis (15)
374
+ ## 🧠 Skills Disponíveis (21)
375
375
 
376
376
  ### Core — Infraestrutura do AI OS
377
377
 
@@ -386,6 +386,22 @@ Verifica conectividade, proxy, versões e integridade do ambiente.
386
386
  | `smart-router` | Roteador econômico | Para escolher modelo de IA por custo |
387
387
  | `context-flush` | Flush de memória | Para economizar tokens em sessões longas |
388
388
 
389
+ ### Engenharia de Software — Código, Testes e Qualidade
390
+
391
+ | Skill | O que faz | Quando usar |
392
+ |-------|-----------|-------------|
393
+ | `code-quality` | SOLID, DRY, KISS, Clean Code | Para revisar e melhorar qualidade de código |
394
+ | `legacy-cleanup` | Refatoração segura de legado | Para remover dead code, deps obsoletas |
395
+ | `test-engineer` | Testes unitários/integração/E2E | Para criar e melhorar suite de testes |
396
+ | `security-scanner` | SAST, DAST, OWASP Top 10 | Para auditoria de segurança e vulnerabilidades |
397
+
398
+ ### DevOps & MLOps — Infraestrutura e Machine Learning
399
+
400
+ | Skill | O que faz | Quando usar |
401
+ |-------|-----------|-------------|
402
+ | `devops-toolkit` | Docker, CI/CD, K8s, Terraform | Para automação de infra e deploy |
403
+ | `mlops-pipeline` | Treinamento, serving, RAG, drift | Para pipelines de ML em produção |
404
+
389
405
  ### Produtividade — Automação e Web
390
406
 
391
407
  | Skill | O que faz | Quando usar |
@@ -396,7 +412,7 @@ Verifica conectividade, proxy, versões e integridade do ambiente.
396
412
  | `web-scraper` | Scraping responsável | Para extrair dados de sites |
397
413
  | `content-sourcer` | Pesquisa de fontes | Para criar dossiês citáveis |
398
414
 
399
- ### Operacionais — DevOps e Infra
415
+ ### Operacionais — Setup e Debug
400
416
 
401
417
  | Skill | O que faz | Quando usar |
402
418
  |-------|-----------|-------------|
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fabioforest/openclaw",
3
- "version": "3.5.0",
3
+ "version": "3.6.0",
4
4
  "description": "Agentes autônomos para engenharia de software",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: code-quality
3
+ description: Aplica boas práticas de código (SOLID, DRY, KISS, Clean Code). Analisa estilo, naming, estrutura, documentação e propõe melhorias.
4
+ triggers:
5
+ - boas práticas
6
+ - code review
7
+ - clean code
8
+ - solid
9
+ - dry
10
+ - kiss
11
+ - qualidade de código
12
+ - code quality
13
+ - lint
14
+ - estilo
15
+ - naming
16
+ - convenção
17
+ - padrão de código
18
+ - documentação
19
+ ---
20
+
21
+ # Code Quality
22
+
23
+ ## Objetivo
24
+ Garantir que o código siga boas práticas reconhecidas (SOLID, DRY, KISS, Clean Code), com foco em legibilidade, manutenibilidade e consistência.
25
+
26
+ ## Contexto necessário
27
+ - Linguagem/framework do projeto
28
+ - Guia de estilo existente (se houver)
29
+ - Foco: revisão geral ou área específica
30
+
31
+ ## Fluxo (inspect → plan → consent → apply → audit)
32
+
33
+ 1. **INSPECT** (read-only):
34
+ - Verificar configuração de linter/formatter existente
35
+ - Analisar convenções de naming (camelCase, snake_case, PascalCase)
36
+ - Detectar violações de SOLID:
37
+ - **S**ingle Responsibility: classes/funções com mais de 1 responsabilidade
38
+ - **O**pen/Closed: código que exige modificação para extensão
39
+ - **L**iskov Substitution: subclasses que quebram contratos
40
+ - **I**nterface Segregation: interfaces muito grandes
41
+ - **D**ependency Inversion: dependências concretas no lugar de abstrações
42
+ - Detectar violações de DRY (duplicações)
43
+ - Verificar documentação (JSDoc, docstrings, README)
44
+ - Medir tamanho de funções/classes (threshold: 200 linhas/arquivo, 30 linhas/função)
45
+
46
+ 2. **PLAN** — Propor melhorias categorizadas:
47
+
48
+ | Categoria | Exemplo |
49
+ |-----------|---------|
50
+ | 📝 Naming | `data` → `userProfiles`, `fn` → `calculateDiscount` |
51
+ | 📦 Estrutura | Extrair classe com 500 linhas em 3 módulos |
52
+ | 📖 Documentação | Adicionar JSDoc em funções públicas |
53
+ | 🔧 Linting | Configurar ESLint/Prettier/Ruff/Black |
54
+ | 🧪 Testabilidade | Injetar dependências para facilitar mocks |
55
+
56
+ 3. **CONSENT**: Confirmar antes de aplicar
57
+ 4. **APPLY**: Gerar patches unificados para cada melhoria
58
+ 5. **AUDIT**: Registrar métricas antes/depois
59
+
60
+ ## Checklists por cenário
61
+
62
+ ### Criando código novo
63
+ - [ ] Nomes descritivos (sem abreviações crípticas)
64
+ - [ ] Funções com no máximo 30 linhas e 1 responsabilidade
65
+ - [ ] Arquivos com no máximo 200-300 linhas
66
+ - [ ] Sem dados simulados fora de testes
67
+ - [ ] Comentários explicam "por quê", não "o quê"
68
+ - [ ] Tratamento de erros com mensagens úteis
69
+ - [ ] Tipos/interfaces/schemas definidos
70
+
71
+ ### Revisando código existente
72
+ - [ ] Sem variáveis não utilizadas
73
+ - [ ] Sem imports não utilizados
74
+ - [ ] Sem TODO/FIXME sem prazo
75
+ - [ ] Sem console.log/print de debug em produção
76
+ - [ ] Sem credenciais hardcoded
77
+ - [ ] Sem números mágicos (extrair constantes)
78
+ - [ ] Sem funções com mais de 3 níveis de aninhamento
79
+
80
+ ## Ferramentas recomendadas
81
+
82
+ | Categoria | JavaScript/TS | Python | Go |
83
+ |-----------|--------------|--------|-----|
84
+ | Linter | ESLint | Ruff, Pylint | golangci-lint |
85
+ | Formatter | Prettier | Black, Ruff format | gofmt |
86
+ | Type check | TypeScript | mypy, pyright | built-in |
87
+ | Docs | JSDoc, TypeDoc | Sphinx, mkdocs | godoc |
88
+ | Complexidade | ESLint complexity | radon | gocyclo |
89
+
90
+ ## Regras de segurança
91
+ - ✅ Nunca alterar lógica de negócio durante refatoração de estilo
92
+ - ✅ Commits separados: formatação vs refatoração vs lógica
93
+ - ❌ Nunca introduzir um novo padrão sem remover o antigo
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: devops-toolkit
3
+ description: Automação de infraestrutura, CI/CD, containerização, monitoramento e deploy. Suporte a Docker, GitHub Actions, Terraform, Ansible e Kubernetes.
4
+ triggers:
5
+ - devops
6
+ - ci/cd
7
+ - pipeline
8
+ - deploy
9
+ - docker
10
+ - dockerfile
11
+ - docker-compose
12
+ - kubernetes
13
+ - k8s
14
+ - terraform
15
+ - ansible
16
+ - github actions
17
+ - gitlab ci
18
+ - infraestrutura
19
+ - infra
20
+ - monitoramento
21
+ - observabilidade
22
+ - nginx
23
+ - proxy reverso
24
+ - ssl
25
+ - https
26
+ ---
27
+
28
+ # DevOps Toolkit
29
+
30
+ ## Objetivo
31
+ Automatizar infraestrutura, CI/CD, containerização, monitoramento e deploy seguindo boas práticas de Infrastructure as Code (IaC) e GitOps.
32
+
33
+ ## Contexto necessário
34
+ - Provedor de cloud (AWS, GCP, Azure, VPS, local)
35
+ - Ferramenta de CI/CD em uso (GitHub Actions, GitLab CI, Jenkins)
36
+ - Stack do projeto (linguagem, framework, banco de dados)
37
+ - Ambiente alvo (dev, staging, prod)
38
+
39
+ ## Fluxo (inspect → plan → consent → apply → verify → audit)
40
+
41
+ 1. **INSPECT**: Analisar infra existente (Dockerfile, compose, CI configs, deploy scripts)
42
+ 2. **PLAN**: Propor melhorias com diagrama de arquitetura
43
+ 3. **CONSENT**: Confirmar antes de qualquer alteração em infra
44
+ 4. **APPLY**: Gerar/modificar configs
45
+ 5. **VERIFY**: Testar build, healthcheck, deploy em staging
46
+ 6. **AUDIT**: Registrar mudanças de infra
47
+
48
+ ## Capacidades
49
+
50
+ ### 🐳 Containerização
51
+ - Criar/otimizar Dockerfiles (multi-stage builds, cache layers)
52
+ - Docker Compose para desenvolvimento local
53
+ - Boas práticas: non-root user, .dockerignore, health checks
54
+ - Reduzir tamanho de imagem (Alpine, distroless, slim)
55
+
56
+ ### 🔄 CI/CD Pipelines
57
+ - GitHub Actions (workflows, matrix, caching, secrets)
58
+ - GitLab CI (stages, artifacts, environments)
59
+ - Estratégias: lint → test → build → deploy
60
+ - Cache de dependências para acelerar builds
61
+ - Deploy com rollback automático
62
+
63
+ ### ☁️ Infrastructure as Code
64
+ - Terraform: providers, modules, state management
65
+ - Ansible: playbooks, roles, inventários
66
+ - Kubernetes: manifests, Helm charts, kustomize
67
+
68
+ ### 📊 Monitoramento e Observabilidade
69
+ - Healthchecks e readiness probes
70
+ - Logging estruturado (JSON, correlação de requests)
71
+ - Métricas (Prometheus, Grafana, Datadog)
72
+ - Alertas baseados em SLOs/SLIs
73
+
74
+ ### 🔒 Segurança de Infra
75
+ - Scan de vulnerabilidades em imagens Docker (Trivy, Snyk)
76
+ - Secrets management (Vault, SOPS, GitHub Secrets)
77
+ - Network policies e firewall rules
78
+ - TLS/SSL com renovação automática (Let's Encrypt, Certbot)
79
+
80
+ ## Checklists
81
+
82
+ ### Dockerfile
83
+ - [ ] Multi-stage build (builder + runner)
84
+ - [ ] Usuário non-root
85
+ - [ ] .dockerignore configurado
86
+ - [ ] HEALTHCHECK definido
87
+ - [ ] Apenas dependências de produção na imagem final
88
+ - [ ] Layers ordenadas por frequência de mudança (cache)
89
+
90
+ ### CI/CD Pipeline
91
+ - [ ] Lint e testes rodam em cada PR
92
+ - [ ] Build e push de imagem em merge na main
93
+ - [ ] Deploy automático em staging, manual em prod
94
+ - [ ] Cache de dependências configurado
95
+ - [ ] Secrets não expostos em logs
96
+ - [ ] Rollback automático se healthcheck falhar
97
+
98
+ ### Deploy em Produção
99
+ - [ ] Blue-green ou canary deployment
100
+ - [ ] Database migrations antes do deploy
101
+ - [ ] Backup antes de mudanças destrutivas
102
+ - [ ] Monitoramento ativo pós-deploy (5-15 min)
103
+ - [ ] Runbook de rollback documentado
104
+
105
+ ## Regras de segurança
106
+ - ✅ Nunca commitar secrets no repositório
107
+ - ✅ Testar em staging antes de prod
108
+ - ✅ Infraestrutura versionada no Git (IaC)
109
+ - ❌ Nunca fazer deploy direto em prod sem pipeline
110
+ - ❌ Nunca rodar containers como root em produção
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: legacy-cleanup
3
+ description: Analisa e refatora código legado de forma segura. Identifica dead code, dependências obsoletas, padrões deprecados e propõe modernização incremental.
4
+ triggers:
5
+ - código legado
6
+ - legacy
7
+ - refatorar
8
+ - dead code
9
+ - código morto
10
+ - deprecado
11
+ - obsoleto
12
+ - modernizar
13
+ - dívida técnica
14
+ - technical debt
15
+ - cleanup
16
+ - limpar código
17
+ ---
18
+
19
+ # Legacy Cleanup
20
+
21
+ ## Objetivo
22
+ Identificar e remover código legado, dead code, dependências obsoletas e padrões deprecados de forma **segura e incremental**, sem quebrar funcionalidades existentes.
23
+
24
+ ## Contexto necessário
25
+ - Linguagem/framework do projeto
26
+ - Se há testes automatizados (cobertura atual)
27
+ - Áreas prioritárias (ou análise completa)
28
+ - Tolerância a risco (conservador vs agressivo)
29
+
30
+ ## Fluxo (inspect → plan → consent → apply → verify → audit)
31
+
32
+ 1. **INSPECT** (read-only):
33
+ - Identificar dead code (funções/classes/módulos não referenciados)
34
+ - Listar dependências sem uso no `package.json` / `requirements.txt` / `Gemfile`
35
+ - Detectar padrões deprecados (callbacks → promises, var → const/let, etc.)
36
+ - Mapear duplicações (DRY violations)
37
+ - Verificar TODOs/FIXMEs/HACKs antigos
38
+ - Medir complexidade ciclomática por arquivo
39
+
40
+ 2. **PLAN** — Propor ações categorizadas por risco:
41
+
42
+ | Risco | Ação | Exemplo |
43
+ |-------|------|---------|
44
+ | 🟢 Baixo | Remover imports não usados | `import * as _ from 'lodash'` sem uso |
45
+ | 🟡 Médio | Remover funções sem referência | Função helper nunca chamada |
46
+ | 🔴 Alto | Substituir padrão arquitetural | Migrar callbacks → async/await |
47
+
48
+ 3. **CONSENT**: Confirmar cada categoria de risco separadamente
49
+ 4. **APPLY**: Executar refatorações + rodar testes após cada batch
50
+ 5. **VERIFY**: Confirmar que testes passam e build funciona
51
+ 6. **AUDIT**: Registrar métricas antes/depois (linhas, complexidade, dependências)
52
+
53
+ ## Ferramentas recomendadas por linguagem
54
+
55
+ | Linguagem | Dead code | Deps não usadas | Complexidade |
56
+ |-----------|-----------|-----------------|-------------|
57
+ | JavaScript/TS | `ts-prune`, ESLint `no-unused-vars` | `depcheck` | `plato`, ESLint |
58
+ | Python | `vulture`, `pylint` | `pip-autoremove` | `radon`, `flake8` |
59
+ | Go | `deadcode`, `staticcheck` | `go mod tidy` | `gocyclo` |
60
+ | Java | IntelliJ inspections, `spotbugs` | Maven dependency plugin | `PMD` |
61
+
62
+ ## Regras de segurança
63
+ - ✅ Sempre rodar testes antes E depois de cada refatoração
64
+ - ✅ Commits atômicos (1 refatoração = 1 commit)
65
+ - ✅ Nunca remover código que tenha referência dinâmica sem confirmar
66
+ - ❌ Nunca refatorar sem testes que cubram a área alterada
67
+ - ❌ Nunca misturar refatoração com mudança de lógica de negócio
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: mlops-pipeline
3
+ description: Boas práticas de MLOps — treinamento, versionamento de modelos, deploy de ML, monitoramento de drift, pipelines de dados e feature stores.
4
+ triggers:
5
+ - mlops
6
+ - machine learning
7
+ - modelo
8
+ - treinamento
9
+ - training
10
+ - deploy de modelo
11
+ - model serving
12
+ - feature store
13
+ - data pipeline
14
+ - drift
15
+ - experiment tracking
16
+ - mlflow
17
+ - wandb
18
+ - kubeflow
19
+ - bentoml
20
+ - rag
21
+ - fine-tuning
22
+ - embeddings
23
+ - vetor
24
+ - vector database
25
+ ---
26
+
27
+ # MLOps Pipeline
28
+
29
+ ## Objetivo
30
+ Implementar e gerenciar pipelines de Machine Learning em produção, cobrindo todo o ciclo: dados → treinamento → avaliação → deploy → monitoramento → retraining.
31
+
32
+ ## Contexto necessário
33
+ - Tipo de modelo (classificação, NLP, visão, LLM, recomendação)
34
+ - Framework (PyTorch, TensorFlow, scikit-learn, HuggingFace)
35
+ - Infraestrutura (local, cloud, GPU)
36
+ - Estágio atual (exploração, staging, produção)
37
+
38
+ ## Fluxo (inspect → plan → consent → apply → verify → audit)
39
+
40
+ 1. **INSPECT**: Analisar pipeline existente, dados, modelos e infra
41
+ 2. **PLAN**: Propor arquitetura MLOps com componentes necessários
42
+ 3. **CONSENT**: Confirmar custos de compute e storage
43
+ 4. **APPLY**: Implementar/modificar pipeline
44
+ 5. **VERIFY**: Validar métricas, latência, throughput
45
+ 6. **AUDIT**: Registrar experimentos, versões e decisões
46
+
47
+ ## Capacidades
48
+
49
+ ### 📊 Experiment Tracking
50
+ - MLflow: experiments, runs, parâmetros, métricas, artefatos
51
+ - Weights & Biases (W&B): tracking, sweeps, reports
52
+ - Comparação entre runs e reprodutibilidade
53
+
54
+ ### 📦 Versionamento de Modelos e Dados
55
+ - DVC: versionamento de datasets grandes
56
+ - MLflow Model Registry: staging → production
57
+ - Git LFS para artefatos pesados
58
+ - Hashes de datasets para reprodutibilidade
59
+
60
+ ### 🔄 Pipelines de Treinamento
61
+ - Orquestração: Airflow, Prefect, Kubeflow Pipelines
62
+ - Feature engineering automatizado
63
+ - Validação de dados (Great Expectations, Pandera)
64
+ - Hyperparameter tuning (Optuna, Ray Tune)
65
+
66
+ ### 🚀 Model Serving
67
+ - APIs REST/gRPC: FastAPI + ONNX, TorchServe, TF Serving
68
+ - BentoML: empacotamento e deploy de modelos
69
+ - Serverless: AWS Lambda + SageMaker, GCP Cloud Functions
70
+ - Edge: ONNX Runtime, TensorFlow Lite
71
+
72
+ ### 🔍 Monitoramento em Produção
73
+ - Data drift detection (Evidently, NannyML)
74
+ - Model performance monitoring (accuracy decay)
75
+ - Latência e throughput (P50, P95, P99)
76
+ - Alertas para retraining automático
77
+
78
+ ### 🧠 LLM Ops (RAG, Fine-tuning, Agents)
79
+ - RAG pipelines: embeddings → vector DB → retrieval → generation
80
+ - Vector databases: Qdrant, ChromaDB, Pinecone, Weaviate
81
+ - Fine-tuning: LoRA, QLoRA, em GPUs de consumo
82
+ - Avaliação de LLMs: BLEU, ROUGE, human eval, LLM-as-judge
83
+ - Guardrails: content filtering, prompt injection detection
84
+
85
+ ## Checklists
86
+
87
+ ### Antes de treinar
88
+ - [ ] Dados validados (schema, distribuição, missing values)
89
+ - [ ] Split reprodutível (train/val/test com seed fixa)
90
+ - [ ] Baseline definido (modelo simples para comparação)
91
+ - [ ] Métricas de avaliação escolhidas e documentadas
92
+ - [ ] Experiment tracking configurado
93
+
94
+ ### Antes de deploy
95
+ - [ ] Modelo versionado com metadados (hash, métricas, dataset)
96
+ - [ ] Testes de integração (input → output esperado)
97
+ - [ ] Benchmark de latência e throughput
98
+ - [ ] Fallback definido (modelo anterior ou regra heurística)
99
+ - [ ] Monitoramento de drift configurado
100
+
101
+ ### Em produção
102
+ - [ ] Alertas para degradação de performance
103
+ - [ ] Pipeline de retraining automatizado ou semi-automático
104
+ - [ ] A/B testing ou shadow mode para novos modelos
105
+ - [ ] Logs de predições para auditoria e debugging
106
+ - [ ] Custo de compute monitorado
107
+
108
+ ## Regras de segurança
109
+ - ✅ Dados sensíveis devem ser anonimizados/mascarados antes de treinar
110
+ - ✅ Modelos devem ser escaneados para bias antes de deploy
111
+ - ✅ API keys de provedores de LLM devem usar secret management
112
+ - ❌ Nunca expor endpoints de model serving sem autenticação
113
+ - ❌ Nunca treinar com dados de produção sem aprovação de compliance
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: security-scanner
3
+ description: Análise de segurança de código e infraestrutura — SAST, DAST, dependency audit, secrets scanning, OWASP Top 10 e hardening.
4
+ triggers:
5
+ - segurança
6
+ - security
7
+ - vulnerabilidade
8
+ - cve
9
+ - owasp
10
+ - pentest
11
+ - scan
12
+ - auditoria de segurança
13
+ - secrets
14
+ - injection
15
+ - xss
16
+ - csrf
17
+ - sql injection
18
+ - hardening
19
+ - sast
20
+ - dast
21
+ - dependências vulneráveis
22
+ ---
23
+
24
+ # Security Scanner
25
+
26
+ ## Objetivo
27
+ Identificar vulnerabilidades de segurança no código, dependências e infraestrutura, seguindo OWASP Top 10 e boas práticas de AppSec.
28
+
29
+ ## Contexto necessário
30
+ - Linguagem/framework do projeto
31
+ - Tipo de aplicação (web, API, mobile, CLI)
32
+ - Ambiente (dev, staging, prod)
33
+ - Requisitos de compliance (SOC2, LGPD, PCI-DSS, HIPAA)
34
+
35
+ ## Fluxo (inspect → plan → consent → apply → verify → audit)
36
+
37
+ 1. **INSPECT** (read-only):
38
+ - Scan de dependências (CVEs conhecidos)
39
+ - Busca de secrets no código (API keys, senhas, tokens)
40
+ - Análise estática (SAST): injection, XSS, CSRF
41
+ - Verificação de configuração (CORS, headers, CSP)
42
+ - Análise de Dockerfile/compose (imagem base, root, ports)
43
+
44
+ 2. **PLAN** — Relatório de vulnerabilidades por severidade:
45
+
46
+ | Severidade | Exemplo | Ação |
47
+ |-----------|---------|------|
48
+ | 🔴 Crítica | SQL injection, secret exposto | Fix imediato |
49
+ | 🟠 Alta | Dependência com CVE alto | Update urgente |
50
+ | 🟡 Média | CORS permissivo, headers faltando | Planejar fix |
51
+ | 🟢 Baixa | Versão desatualizada sem CVE | Monitorar |
52
+
53
+ 3. **CONSENT**: Confirmar correções propostas
54
+ 4. **APPLY**: Aplicar fixes + atualizar dependências
55
+ 5. **VERIFY**: Re-scan para confirmar correção
56
+ 6. **AUDIT**: Relatório de segurança antes/depois
57
+
58
+ ## Capacidades
59
+
60
+ ### 🔍 SAST (Static Application Security Testing)
61
+ - Análise de código sem executar
62
+ - Detecção de injection (SQL, NoSQL, command, LDAP)
63
+ - Cross-Site Scripting (XSS) e Cross-Site Request Forgery (CSRF)
64
+ - Insecure deserialization
65
+ - Path traversal e file inclusion
66
+
67
+ ### 📦 Dependency Audit
68
+ - `npm audit` / `yarn audit` (JavaScript)
69
+ - `pip-audit` / `safety` (Python)
70
+ - `cargo audit` (Rust)
71
+ - `go vuln check` (Go)
72
+ - Snyk, Dependabot, Renovate para automação
73
+
74
+ ### 🔑 Secrets Scanning
75
+ - Busca de: API keys, passwords, tokens, private keys, connection strings
76
+ - Ferramentas: gitleaks, truffleHog, detect-secrets
77
+ - Verificação em histórico do Git (commits antigos)
78
+ - Pre-commit hooks para prevenir novos leaks
79
+
80
+ ### 🌐 DAST (Dynamic Application Security Testing)
81
+ - Scan de endpoint em runtime
82
+ - Ferramentas: OWASP ZAP, Nuclei, Burp Suite
83
+ - Verificação de headers de segurança (CSP, HSTS, X-Frame-Options)
84
+ - Teste de rate limiting e brute force
85
+
86
+ ### 🏗️ Infrastructure Security
87
+ - Scan de imagens Docker (Trivy, Grype)
88
+ - Verificação de configuração cloud (Checkov, ScoutSuite)
89
+ - Network security (ports expostas, firewall rules)
90
+ - TLS/SSL assessment (testssl.sh, SSL Labs)
91
+
92
+ ## OWASP Top 10 — Checklist
93
+
94
+ - [ ] **A01 Broken Access Control**: Verificar RBAC, IDOR, path traversal
95
+ - [ ] **A02 Cryptographic Failures**: TLS, hashing de senhas (bcrypt/argon2), encryption at rest
96
+ - [ ] **A03 Injection**: SQL, NoSQL, OS command, LDAP, XSS
97
+ - [ ] **A04 Insecure Design**: Threat modeling, abuse cases
98
+ - [ ] **A05 Security Misconfiguration**: Default configs, debug mode em prod, headers
99
+ - [ ] **A06 Vulnerable Components**: Dependencies com CVEs, EOL libraries
100
+ - [ ] **A07 Authentication Failures**: MFA, session management, brute force protection
101
+ - [ ] **A08 Data Integrity Failures**: CI/CD security, deserialization, updates sem verificação
102
+ - [ ] **A09 Logging Failures**: Logs sem dados sensíveis, monitoramento de atividade suspeita
103
+ - [ ] **A10 SSRF**: Validação de URLs, allowlists de destinos
104
+
105
+ ## Ferramentas recomendadas
106
+
107
+ | Categoria | Ferramenta | Linguagem |
108
+ |-----------|-----------|-----------|
109
+ | SAST | Semgrep, CodeQL, SonarQube | Multi-linguagem |
110
+ | Deps | npm audit, pip-audit, Snyk | JS, Python, multi |
111
+ | Secrets | gitleaks, truffleHog | Qualquer |
112
+ | DAST | OWASP ZAP, Nuclei | Web apps |
113
+ | Docker | Trivy, Grype | Containers |
114
+ | Infra | Checkov, tfsec | Terraform, Cloud |
115
+
116
+ ## Regras de segurança
117
+ - ✅ Scan de segurança deve rodar no CI/CD em cada PR
118
+ - ✅ Vulnerabilidades críticas bloqueiam merge
119
+ - ✅ Secrets encontrados devem ser revogados IMEDIATAMENTE
120
+ - ❌ Nunca ignorar CVEs críticos sem justificativa documentada
121
+ - ❌ Nunca publicar relatório de segurança detalhado em canal público
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: test-engineer
3
+ description: Criação e melhoria de testes (unitários, integração, E2E, performance). Cobertura, TDD, mocking, fixtures e estratégias de teste.
4
+ triggers:
5
+ - teste
6
+ - test
7
+ - tdd
8
+ - unitário
9
+ - integração
10
+ - e2e
11
+ - end-to-end
12
+ - cobertura
13
+ - coverage
14
+ - mock
15
+ - fixture
16
+ - pytest
17
+ - jest
18
+ - vitest
19
+ - playwright
20
+ - cypress
21
+ - benchmark
22
+ - performance test
23
+ - load test
24
+ ---
25
+
26
+ # Test Engineer
27
+
28
+ ## Objetivo
29
+ Criar, melhorar e manter testes robustos (unitários, integração, E2E, performance), garantindo cobertura adequada e confiança no deploy.
30
+
31
+ ## Contexto necessário
32
+ - Linguagem/framework do projeto
33
+ - Framework de teste existente (Jest, Vitest, Pytest, Go test)
34
+ - Cobertura atual (se disponível)
35
+ - Áreas prioritárias ou código novo
36
+
37
+ ## Fluxo (inspect → plan → consent → apply → verify → audit)
38
+
39
+ 1. **INSPECT** (read-only):
40
+ - Verificar framework de teste configurado
41
+ - Medir cobertura atual por módulo
42
+ - Identificar áreas sem testes (módulos críticos)
43
+ - Listar funcionalidades sem cobertura E2E
44
+
45
+ 2. **PLAN** — Estratégia de testes por camada:
46
+
47
+ | Camada | Proporção (Pirâmide) | Framework sugerido |
48
+ |--------|---------------------|-------------------|
49
+ | Unitários | ~70% | Jest, Vitest, Pytest, Go test |
50
+ | Integração | ~20% | Supertest, httpx, testcontainers |
51
+ | E2E | ~10% | Playwright, Cypress |
52
+
53
+ 3. **CONSENT**: Confirmar escopo dos testes a criar
54
+ 4. **APPLY**: Gerar testes + fixtures + mocks
55
+ 5. **VERIFY**: Rodar testes, verificar cobertura
56
+ 6. **AUDIT**: Registrar métricas de cobertura antes/depois
57
+
58
+ ## Capacidades
59
+
60
+ ### 🧪 Testes Unitários
61
+ - Testes isolados de funções/classes
62
+ - Mocking de dependências externas (APIs, DB, FS)
63
+ - Parametrização para múltiplos cenários
64
+ - Edge cases: null, undefined, empty, overflow, unicode
65
+ - Padrão AAA: Arrange → Act → Assert
66
+
67
+ ### 🔗 Testes de Integração
68
+ - Testes de endpoints API (request → response)
69
+ - Testes com banco de dados real (testcontainers)
70
+ - Testes de filas/eventos (pub/sub, webhooks)
71
+ - Testes de contratos (consumer-driven contracts)
72
+
73
+ ### 🌐 Testes E2E (End-to-End)
74
+ - Fluxos críticos de usuário (login, checkout, signup)
75
+ - Testes visuais (screenshot comparison)
76
+ - Testes cross-browser (Chrome, Firefox, Safari)
77
+ - Testes de acessibilidade (axe-core)
78
+
79
+ ### ⚡ Testes de Performance
80
+ - Load testing (k6, Artillery, Locust)
81
+ - Benchmark de funções críticas
82
+ - Testes de latência e throughput
83
+ - Stress testing e limites de escalabilidade
84
+
85
+ ### 📊 Cobertura e Métricas
86
+ - Cobertura de linhas, branches, funções
87
+ - Mutation testing (Stryker, mutmut) para medir qualidade dos testes
88
+ - Relatórios de tendência (cobertura ao longo do tempo)
89
+
90
+ ## Checklists
91
+
92
+ ### Escrevendo testes unitários
93
+ - [ ] Nome descritivo: `should_return_error_when_input_is_empty`
94
+ - [ ] Um assert por teste (preferencialmente)
95
+ - [ ] Sem dependência de estado externo (DB, rede, FS)
96
+ - [ ] Mocks com reset/cleanup entre testes
97
+ - [ ] Cobrir happy path + edge cases + error cases
98
+ - [ ] Sem sleep/wait — usar async assertions
99
+
100
+ ### Escrevendo testes E2E
101
+ - [ ] Testar fluxo completo, não fragmentos
102
+ - [ ] Usar page objects / fixtures reutilizáveis
103
+ - [ ] Screenshots em caso de falha
104
+ - [ ] Retry para flakiness controlado
105
+ - [ ] Dados de teste isolados (seed + cleanup)
106
+
107
+ ### Antes de deploy
108
+ - [ ] Todos os testes passam
109
+ - [ ] Cobertura mínima atendida (ex: 80%+)
110
+ - [ ] Nenhum teste flaky (intermitente)
111
+ - [ ] Testes de regressão validam fix de bugs anteriores
112
+ - [ ] Performance baseline mantida
113
+
114
+ ## Ferramentas recomendadas
115
+
116
+ | Tipo | JavaScript/TS | Python | Go |
117
+ |------|--------------|--------|-----|
118
+ | Unitário | Jest, Vitest | Pytest | testing |
119
+ | API | Supertest | httpx, pytest-httpx | net/http/httptest |
120
+ | E2E | Playwright, Cypress | Playwright | chromedp |
121
+ | Performance | k6, Artillery | Locust | go-wrk |
122
+ | Cobertura | c8, istanbul | coverage.py | go test -cover |
123
+ | Mutation | Stryker | mutmut | go-mutesting |
124
+
125
+ ## Regras de segurança
126
+ - ✅ Testes nunca devem conter dados reais de produção
127
+ - ✅ Fixtures devem usar dados sintéticos (faker, factory)
128
+ - ❌ Nunca desabilitar testes que falham — investigar e corrigir
129
+ - ❌ Nunca testar contra APIs de produção (usar mocks ou staging)