primocode 10.19.0 → 11.0.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.
Files changed (116) hide show
  1. package/LICENSES/opencode-MIT.txt +24 -0
  2. package/LICENSES/pptxgenjs-MIT.txt +31 -0
  3. package/README.md +16 -3
  4. package/agentes/acessibilidade.md +10 -0
  5. package/agentes/ambiente.md +10 -0
  6. package/agentes/api.md +10 -0
  7. package/agentes/backend.md +10 -0
  8. package/agentes/copy.md +10 -0
  9. package/agentes/css-layout.md +10 -0
  10. package/agentes/dados.md +10 -0
  11. package/agentes/depuracao.md +10 -0
  12. package/agentes/design.md +10 -0
  13. package/agentes/docs.md +10 -0
  14. package/agentes/frontend.md +10 -0
  15. package/agentes/geral/capacidades/arquivos.json +132 -0
  16. package/agentes/geral/capacidades/codigo.json +132 -0
  17. package/agentes/geral/capacidades/dados.json +126 -0
  18. package/agentes/geral/capacidades/depuracao.json +126 -0
  19. package/agentes/geral/capacidades/escrita.json +126 -0
  20. package/agentes/geral/capacidades/git.json +126 -0
  21. package/agentes/geral/capacidades/pesquisa.json +126 -0
  22. package/agentes/geral/capacidades/seguranca.json +132 -0
  23. package/agentes/geral/capacidades/shell.json +132 -0
  24. package/agentes/geral/capacidades/web.json +126 -0
  25. package/agentes/git-pr.md +10 -0
  26. package/agentes/indice.md +86 -0
  27. package/agentes/nextjs.md +10 -0
  28. package/agentes/node.md +10 -0
  29. package/agentes/performance.md +10 -0
  30. package/agentes/pesquisa.md +10 -0
  31. package/agentes/python.md +10 -0
  32. package/agentes/react.md +10 -0
  33. package/agentes/refatoracao.md +10 -0
  34. package/agentes/revisor.md +10 -0
  35. package/agentes/seguranca.md +10 -0
  36. package/agentes/sql.md +10 -0
  37. package/agentes/testes.md +10 -0
  38. package/agentes/typescript.md +10 -0
  39. package/agentes/ux.md +10 -0
  40. package/bin/primocode.js +65 -8
  41. package/editor/helpers/camera_viva.py +28 -2
  42. package/lib/act.js +79 -10
  43. package/lib/agentes/index.js +146 -0
  44. package/lib/agentes/nucleo.js +18 -0
  45. package/lib/catalogo.js +12 -2
  46. package/lib/cli/review.js +64 -0
  47. package/lib/cli/subcomandos.js +34 -0
  48. package/lib/cli/tentativas.js +107 -0
  49. package/lib/cli/util.js +51 -0
  50. package/lib/comandos-extra.js +4 -2
  51. package/lib/editor-pro-maquina.js +165 -0
  52. package/lib/editor-pro.js +10 -7
  53. package/lib/entregaveis/cli.js +26 -0
  54. package/lib/entregaveis/especialistas.js +50 -0
  55. package/lib/entregaveis/nucleo.js +111 -0
  56. package/lib/entregaveis/slides.js +221 -0
  57. package/lib/estudio/materiais.js +172 -0
  58. package/lib/fundo.js +34 -1
  59. package/lib/kits.js +41 -2
  60. package/lib/nomes.js +6 -0
  61. package/lib/placar.js +173 -0
  62. package/lib/plugin/autoteste.js +99 -0
  63. package/lib/plugin/edicao-visual.js +133 -0
  64. package/lib/plugin/pesquisar.js +92 -0
  65. package/lib/plugin/preview-cli.js +38 -0
  66. package/lib/plugin/preview.js +89 -0
  67. package/lib/plugin/tunel.js +27 -0
  68. package/lib/review.js +134 -0
  69. package/lib/session/compactacao.js +124 -0
  70. package/lib/statusline.js +52 -0
  71. package/lib/tool/diagnostico.js +100 -0
  72. package/lib/tool/perguntar.js +60 -0
  73. package/lib/tool/reparar-entrada.js +66 -0
  74. package/lib/tool/web.js +102 -0
  75. package/lib/tools.js +20 -1
  76. package/lib/ui.js +1 -1
  77. package/materiais/saas-linear/base.ts +84 -0
  78. package/materiais/saas-linear/camera/Camera.tsx +38 -0
  79. package/materiais/saas-linear/fontes/OFL-Inter.txt +93 -0
  80. package/materiais/saas-linear/fontes/OFL-Newsreader.txt +93 -0
  81. package/materiais/saas-linear/fontes/inter-400.woff2 +0 -0
  82. package/materiais/saas-linear/fontes/inter-600.woff2 +0 -0
  83. package/materiais/saas-linear/fontes/newsreader-400.woff2 +0 -0
  84. package/materiais/saas-linear/formas/Agenda.tsx +46 -0
  85. package/materiais/saas-linear/formas/CaixaPrompt.tsx +41 -0
  86. package/materiais/saas-linear/formas/CartoesIntegracao.tsx +57 -0
  87. package/materiais/saas-linear/formas/Cursor.tsx +40 -0
  88. package/materiais/saas-linear/formas/Menu.tsx +46 -0
  89. package/materiais/saas-linear/formas/Monitor.tsx +28 -0
  90. package/materiais/saas-linear/paleta.json +18 -0
  91. package/materiais/saas-linear/pecas.json +590 -0
  92. package/materiais/saas-linear/regras.md +40 -0
  93. package/materiais/saas-linear/sons/Som.tsx +39 -0
  94. package/materiais/saas-linear/sons/assinatura.mp3 +0 -0
  95. package/materiais/saas-linear/sons/clique.mp3 +0 -0
  96. package/materiais/saas-linear/sons/impacto.mp3 +0 -0
  97. package/materiais/saas-linear/sons/pop-cartao.mp3 +0 -0
  98. package/materiais/saas-linear/sons/pop-palavra.mp3 +0 -0
  99. package/materiais/saas-linear/sons/subida.mp3 +0 -0
  100. package/materiais/saas-linear/sons/swoosh.mp3 +0 -0
  101. package/materiais/saas-linear/sons/trilha.mp3 +0 -0
  102. package/materiais/saas-linear/sons/whoosh-entra.mp3 +0 -0
  103. package/materiais/saas-linear/sons/whoosh-sai.mp3 +0 -0
  104. package/materiais/saas-linear/texturas/Fundo.tsx +18 -0
  105. package/materiais/saas-linear/texturas/Particulas.tsx +22 -0
  106. package/materiais/saas-linear/tipografia/FraseSerifa.tsx +25 -0
  107. package/materiais/saas-linear/tipografia/Marca.tsx +20 -0
  108. package/materiais/saas-linear/tipografia/MarcaFinal.tsx +22 -0
  109. package/materiais/saas-linear/tipografia/Saudacao.tsx +27 -0
  110. package/materiais/saas-linear/transicoes/Cena.tsx +38 -0
  111. package/materiais/saas-linear/transicoes/CorteImpacto.tsx +16 -0
  112. package/package.json +3 -1
  113. package/skills/deck-conferido/SKILL.md +29 -0
  114. package/vendor/pptxgenjs/carregar.js +12 -0
  115. package/vendor/pptxgenjs/jszip.min.js +13 -0
  116. package/vendor/pptxgenjs/pptxgen.cjs.js +7370 -0
@@ -0,0 +1,132 @@
1
+ {
2
+ "grupo": "shell",
3
+ "descricao": "Shell e terminal",
4
+ "itens": [
5
+ {
6
+ "id": "sh-achar-arquivo",
7
+ "nome": "Achar arquivos por nome",
8
+ "receita": "fd nome ou find . -name '*.ext' -not -path '*/node_modules/*'",
9
+ "prova": "lista com caminhos"
10
+ },
11
+ {
12
+ "id": "sh-achar-texto",
13
+ "nome": "Achar texto no código",
14
+ "receita": "rg -n \"texto\" --glob '!node_modules'; -C 2 para contexto",
15
+ "prova": "linhas com arquivo:número"
16
+ },
17
+ {
18
+ "id": "sh-trocar-em-massa",
19
+ "nome": "Trocar texto em vários arquivos",
20
+ "receita": "rg -l \"velho\" ",
21
+ "prova": " xargs sed -i '' 's/velho/novo/g' (macOS); rode o rg antes para ver o alvo"
22
+ },
23
+ {
24
+ "id": "sh-processos",
25
+ "nome": "Ver e matar processo",
26
+ "receita": "lsof -i :PORTA ou ps aux ",
27
+ "prova": " rg nome; kill PID (kill -9 só se travar)"
28
+ },
29
+ {
30
+ "id": "sh-porta-ocupada",
31
+ "nome": "Porta já em uso",
32
+ "receita": "lsof -nP -iTCP:3000 -sTCP:LISTEN; mate o PID ou use outra porta",
33
+ "prova": "servidor sobe na porta"
34
+ },
35
+ {
36
+ "id": "sh-espaco-disco",
37
+ "nome": "O que ocupa disco",
38
+ "receita": "du -sh * ",
39
+ "prova": " sort -h "
40
+ },
41
+ {
42
+ "id": "sh-tamanho-arquivos",
43
+ "nome": "Maiores arquivos do projeto",
44
+ "receita": "find . -type f -not -path './.git/*' -exec du -k {} + ",
45
+ "prova": " sort -n "
46
+ },
47
+ {
48
+ "id": "sh-variaveis",
49
+ "nome": "Variável de ambiente certa",
50
+ "receita": "printenv NOME; export NOME=valor vale só na sessão; arquivo .env com set -a; . ./.env; set +a",
51
+ "prova": "echo \"${NOME:+definida}\""
52
+ },
53
+ {
54
+ "id": "sh-cron",
55
+ "nome": "Agendar tarefa",
56
+ "receita": "crontab -e: min hora dia mes semana comando; no macOS prefira launchd; log com >> arquivo 2>&1",
57
+ "prova": "execução registrada no log"
58
+ },
59
+ {
60
+ "id": "sh-pipe-json",
61
+ "nome": "Ler JSON no terminal",
62
+ "receita": "curl -s url ",
63
+ "prova": " jq '.campo[] "
64
+ },
65
+ {
66
+ "id": "sh-baixar",
67
+ "nome": "Baixar arquivo",
68
+ "receita": "curl -fL -o saida url (falha com código); confira o tamanho",
69
+ "prova": "ls -lh e file saida"
70
+ },
71
+ {
72
+ "id": "sh-comprimir",
73
+ "nome": "Compactar e extrair",
74
+ "receita": "tar -czf a.tgz pasta; tar -xzf a.tgz; unzip -l a.zip lista sem extrair",
75
+ "prova": "listagem confere"
76
+ },
77
+ {
78
+ "id": "sh-permissao",
79
+ "nome": "Permissão negada",
80
+ "receita": "ls -l; chmod u+x script; dono errado: chown (com cuidado, nunca recursivo na raiz)",
81
+ "prova": "comando roda"
82
+ },
83
+ {
84
+ "id": "sh-script-seguro",
85
+ "nome": "Script bash robusto",
86
+ "receita": "set -euo pipefail; aspas em \"$var\"; trap para limpar; shellcheck",
87
+ "prova": "shellcheck sem aviso"
88
+ },
89
+ {
90
+ "id": "sh-rodar-paralelo",
91
+ "nome": "Rodar tarefas em paralelo",
92
+ "receita": "xargs -P 4 -n 1 comando < lista; ou & e wait",
93
+ "prova": "todas terminam e o código de saída é checado"
94
+ },
95
+ {
96
+ "id": "sh-observar-log",
97
+ "nome": "Seguir um log",
98
+ "receita": "tail -f arquivo ",
99
+ "prova": " rg --line-buffered ERRO"
100
+ },
101
+ {
102
+ "id": "sh-medir-tempo",
103
+ "nome": "Medir tempo de comando",
104
+ "receita": "time comando; hyperfine 'a' 'b' para comparar",
105
+ "prova": "tempo anotado antes e depois"
106
+ },
107
+ {
108
+ "id": "sh-diff-pastas",
109
+ "nome": "Comparar duas pastas",
110
+ "receita": "diff -rq a b; rsync -avn a/ b/ simula",
111
+ "prova": "lista de diferenças"
112
+ },
113
+ {
114
+ "id": "sh-editar-linha",
115
+ "nome": "Mudar uma linha de arquivo",
116
+ "receita": "sed -n 'N,Mp' arq para ler; edite com a ferramenta de edição, não com sed frágil",
117
+ "prova": "trecho relido confere"
118
+ },
119
+ {
120
+ "id": "sh-rede-teste",
121
+ "nome": "Testar conexão",
122
+ "receita": "curl -I url; nc -vz host porta; dig dominio",
123
+ "prova": "status e tempo anotados"
124
+ },
125
+ {
126
+ "id": "sh-historico",
127
+ "nome": "Repetir comando anterior",
128
+ "receita": "ctrl-r busca; !! repete; evite colar senha no histórico",
129
+ "prova": "comando repetido sem segredo no histórico"
130
+ }
131
+ ]
132
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "grupo": "web",
3
+ "descricao": "Web e API",
4
+ "itens": [
5
+ {
6
+ "id": "web-curl-get",
7
+ "nome": "Chamar API com GET",
8
+ "receita": "curl -sS -H 'Accept: application/json' url ",
9
+ "prova": " jq ."
10
+ },
11
+ {
12
+ "id": "web-curl-post",
13
+ "nome": "Chamar API com POST",
14
+ "receita": "curl -sS -X POST -H 'Content-Type: application/json' -d '{\"a\":1}' url",
15
+ "prova": "status e corpo lidos"
16
+ },
17
+ {
18
+ "id": "web-auth-bearer",
19
+ "nome": "API com token",
20
+ "receita": "header Authorization: Bearer $TOKEN; token vem de variável, nunca do chat",
21
+ "prova": "200 sem token impresso"
22
+ },
23
+ {
24
+ "id": "web-oauth",
25
+ "nome": "Fluxo OAuth",
26
+ "receita": "redirect, código, troca por token no servidor; state anti-CSRF; segredo só no servidor",
27
+ "prova": "token obtido e usado"
28
+ },
29
+ {
30
+ "id": "web-webhook",
31
+ "nome": "Receber webhook",
32
+ "receita": "responda 200 rápido; valide assinatura; processe em fila; seja idempotente",
33
+ "prova": "evento de teste processado uma vez"
34
+ },
35
+ {
36
+ "id": "web-ratelimit",
37
+ "nome": "Respeitar limite de API",
38
+ "receita": "leia Retry-After; backoff; fila; cache",
39
+ "prova": "sem 429 em 100 chamadas"
40
+ },
41
+ {
42
+ "id": "web-paginacao",
43
+ "nome": "Percorrer API paginada",
44
+ "receita": "siga next/cursor até acabar; limite de segurança",
45
+ "prova": "total coletado = total declarado"
46
+ },
47
+ {
48
+ "id": "web-scraping",
49
+ "nome": "Extrair dados de página",
50
+ "receita": "API oficial primeiro; senão HTML estável (seletor); respeite robots e termos; sem login alheio",
51
+ "prova": "10 itens extraídos conferidos"
52
+ },
53
+ {
54
+ "id": "web-navegador-headless",
55
+ "nome": "Automatizar navegador",
56
+ "receita": "Playwright: goto, wait por seletor (não sleep), screenshot; trace em falha",
57
+ "prova": "execução repetida passa"
58
+ },
59
+ {
60
+ "id": "web-sitemap",
61
+ "nome": "Mapear um site",
62
+ "receita": "sitemap.xml, robots.txt, links internos; liste rotas",
63
+ "prova": "lista de URLs"
64
+ },
65
+ {
66
+ "id": "web-seo-basico",
67
+ "nome": "SEO técnico",
68
+ "receita": "title/description únicos, h1, canonical, sitemap, velocidade, dados estruturados",
69
+ "prova": "Lighthouse SEO verde"
70
+ },
71
+ {
72
+ "id": "web-performance-pagina",
73
+ "nome": "Página mais rápida",
74
+ "receita": "imagens WebP e dimensionadas, fonte com swap, JS dividido, cache longo",
75
+ "prova": "LCP antes e depois"
76
+ },
77
+ {
78
+ "id": "web-headers",
79
+ "nome": "Headers de segurança",
80
+ "receita": "CSP, HSTS, X-Content-Type-Options, Referrer-Policy",
81
+ "prova": "curl -I confere"
82
+ },
83
+ {
84
+ "id": "web-cache-http",
85
+ "nome": "Cache HTTP",
86
+ "receita": "Cache-Control com max-age; ETag; arquivo com hash no nome pode ser immutable",
87
+ "prova": "segunda requisição vem do cache"
88
+ },
89
+ {
90
+ "id": "web-dns",
91
+ "nome": "Apontar domínio",
92
+ "receita": "registro A/CNAME no provedor; dig +short; espere propagar",
93
+ "prova": "dig devolve o IP novo"
94
+ },
95
+ {
96
+ "id": "web-https",
97
+ "nome": "Certificado HTTPS",
98
+ "receita": "Let's Encrypt/Cloudflare; renovação automática; redirecione http para https",
99
+ "prova": "curl -I https 200"
100
+ },
101
+ {
102
+ "id": "web-cors-config",
103
+ "nome": "Liberar CORS",
104
+ "receita": "origem específica (não *, se tiver credenciais); responda OPTIONS",
105
+ "prova": "chamada do navegador passa"
106
+ },
107
+ {
108
+ "id": "web-openapi",
109
+ "nome": "Descrever API",
110
+ "receita": "OpenAPI 3: caminhos, esquemas, erros; gere cliente e validação",
111
+ "prova": "swagger valida"
112
+ },
113
+ {
114
+ "id": "web-websocket",
115
+ "nome": "Tempo real",
116
+ "receita": "conexão, reconexão com backoff, heartbeat, mensagens com id",
117
+ "prova": "derrubar e voltar a conexão funciona"
118
+ },
119
+ {
120
+ "id": "web-feed-rss",
121
+ "nome": "Ler/gerar RSS",
122
+ "receita": "feed.xml com título, link, data, guid estável",
123
+ "prova": "leitor de feed abre"
124
+ }
125
+ ]
126
+ }
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: git-pr
3
+ nome: Git e Pull Request
4
+ area: devops
5
+ quando_usar: commits, branches, conflitos, rebase e descrição de PR
6
+ palavras: git commit branch merge rebase conflito pr pull request cherry-pick stash histórico
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em GIT. Antes de agir: git status e git log --oneline -5. Commit pequeno, uma ideia, mensagem no padrão do repo (git log mostra) dizendo o porquê. Conflito: leia os dois lados, entenda a intenção de cada um, rode o teste depois da resolução. Nunca use push --force em branch compartilhada, reset --hard sem salvar o trabalho, nem commite .env, chave ou binário grande; não commite nem dê push sem o pedido do usuário. PR: título curto, o que mudou, como testar, risco. Prova: git status limpo, git log mostrando o resultado, e o teste verde depois da mesclagem.
@@ -0,0 +1,86 @@
1
+ # Agentes só-índice: id|Nome|area|quando_usar|palavras (briefing completo: agentes/<id>.md). Ver docs/rebuild/agentes-arquitetura.md
2
+ javascript|JavaScript|programacao|JS de navegador e Node, closures, async, DOM|javascript js dom closure promise async es6
3
+ go|Go|programacao|serviços, goroutines, CLIs e módulos Go|go golang goroutine channel gomod
4
+ rust|Rust|programacao|ownership, lifetimes, cargo, performance de sistema|rust cargo borrow lifetime crate tokio
5
+ java|Java|programacao|Spring, JVM, Maven/Gradle, servidores Java|java spring maven gradle jvm kotlin
6
+ csharp|C# e .NET|programacao|ASP.NET, LINQ, .NET e Unity|csharp dotnet aspnet linq unity
7
+ php|PHP e Laravel|programacao|Laravel, WordPress, composer|php laravel composer wordpress symfony
8
+ ruby|Ruby e Rails|programacao|Rails, gems, ActiveRecord|ruby rails gem activerecord
9
+ swift|Swift e iOS|mobile|apps iOS/macOS, SwiftUI, Xcode|swift ios swiftui xcode macos
10
+ kotlin|Kotlin e Android|mobile|apps Android, Jetpack Compose, Gradle|kotlin android compose gradle
11
+ flutter|Flutter e Dart|mobile|apps multiplataforma em Flutter|flutter dart widget
12
+ react-native|React Native|mobile|apps móveis em React Native e Expo|reactnative expo native mobile
13
+ bash|Shell e Bash|programacao|scripts de shell, pipes, sed/awk, cron|bash shell zsh script sed awk cron pipe
14
+ cpp|C e C++|programacao|C/C++, CMake, memória, embarcado|cpp c++ cmake ponteiro memoria embarcado
15
+ vue|Vue e Nuxt|frontend|Vue 3, composition API, Nuxt|vue nuxt pinia composition
16
+ svelte|Svelte e SvelteKit|frontend|Svelte, runes, SvelteKit|svelte sveltekit runes
17
+ angular|Angular|frontend|Angular, RxJS, módulos e DI|angular rxjs ngrx
18
+ tailwind|Tailwind CSS|frontend|utilitários Tailwind, tokens, temas|tailwind utility classe tema
19
+ animacao-web|Animação web|frontend|transições CSS, GSAP, Framer Motion, scroll|animacao animation gsap framer transicao scroll
20
+ web3d|3D na web|frontend|Three.js, WebGL, shaders|three threejs webgl 3d shader glb
21
+ canvas|Canvas e SVG|frontend|desenho em canvas, SVG, gráficos manuais|canvas svg desenho grafico
22
+ pwa|PWA e offline|frontend|service worker, manifesto, instalável|pwa serviceworker offline manifest
23
+ extensao-chrome|Extensão de navegador|frontend|extensões Chrome/Firefox, manifest v3|extensao chrome firefox manifest
24
+ electron|Electron e desktop|programacao|apps desktop Electron/Tauri|electron tauri desktop
25
+ graphql|GraphQL|backend|schemas, resolvers, N+1|graphql resolver schema apollo
26
+ websocket|Tempo real|backend|WebSocket, SSE, filas de eventos|websocket sse tempo real socket evento
27
+ filas|Filas e jobs|backend|BullMQ, Celery, cron, retry, idempotência|fila queue job worker bullmq celery retry
28
+ auth|Autenticação|backend|login, OAuth, sessão, JWT, SSO|auth login oauth jwt sessao sso senha
29
+ pagamentos|Pagamentos|backend|Stripe, Pix, assinatura, webhook de pagamento|pagamento stripe pix checkout assinatura cobranca
30
+ mongodb|MongoDB e NoSQL|banco-de-dados|documentos, agregação, índices NoSQL|mongodb nosql agregacao documento dynamodb
31
+ redis|Redis e cache|banco-de-dados|cache, filas, rate limit, TTL|redis cache ttl ratelimit
32
+ orm|ORM e migrações|banco-de-dados|Prisma, Drizzle, SQLAlchemy, migrations|orm prisma drizzle sqlalchemy migration
33
+ firebase|Firebase e Supabase|backend|Firestore, Auth, Storage, regras|firebase supabase firestore baas
34
+ docker|Docker e containers|devops|Dockerfile, compose, imagens enxutas|docker container compose dockerfile imagem
35
+ ci-cd|CI/CD|devops|GitHub Actions, pipelines, deploy automático|ci cd github actions pipeline deploy workflow
36
+ cloud|Cloud e deploy|devops|Vercel, Railway, AWS, Cloudflare, DNS|cloud aws vercel railway cloudflare dns deploy hospedagem
37
+ kubernetes|Kubernetes|devops|manifests, helm, escala|kubernetes k8s helm pod
38
+ observabilidade|Logs e observabilidade|devops|logs, métricas, alertas, tracing|log logs metrica alerta tracing sentry monitoramento
39
+ linux|Linux e servidores|devops|SSH, systemd, nginx, permissões|linux ssh systemd nginx permissao servidor
40
+ rede|Redes e HTTP|devops|DNS, TLS, proxy, CORS, depuração de rede|rede dns tls proxy cors curl porta
41
+ testes-e2e|Testes E2E|qualidade|Playwright, Cypress, fluxos ponta a ponta|e2e playwright cypress navegador fluxo
42
+ testes-unit|Testes unitários|qualidade|mocks, fixtures, TDD|unitario unit mock fixture tdd
43
+ qa-manual|QA exploratório|qualidade|roteiro de teste, casos de borda, regressão manual|qa exploratorio roteiro caso borda
44
+ testes-carga|Teste de carga|qualidade|k6, benchmark, limites de capacidade|carga k6 benchmark stress
45
+ pentest|Pentest ético|seguranca|teste de invasão em sistema autorizado, escopo e relatório|pentest invasao vulnerabilidade escopo burp
46
+ privacidade|LGPD e privacidade|seguranca|dados pessoais, consentimento, retenção|lgpd privacidade gdpr consentimento dado pessoal
47
+ dados-sql-analise|Análise com SQL|dados|métricas, funil, coorte, relatório em SQL|metrica funil coorte kpi relatorio
48
+ planilhas|Planilhas|dados|Excel/Sheets, fórmulas, tabelas dinâmicas|excel planilha sheets formula xlsx
49
+ visualizacao|Visualização de dados|dados|gráfico certo, dashboard, cores|grafico dashboard chart visualizacao d3
50
+ ml|Machine learning|dados|modelos, avaliação, features, sklearn|ml machine learning sklearn modelo treino
51
+ llm-prompts|Prompts e LLM|ia|engenharia de prompt, avaliação, RAG, agentes|prompt llm rag embedding agente claude gpt
52
+ raspagem|Raspagem e automação web|dados|scraping, Playwright, APIs não documentadas|scraping raspagem crawler automacao
53
+ ia-evals|Avaliação de IA|ia|conjunto de testes para prompts e agentes|eval avaliacao benchmark juiz
54
+ brand|Identidade de marca|design|logo, voz, sistema de marca|marca brand logo identidade voz
55
+ design-system|Design system|design|tokens, componentes, documentação de UI|design system tokens componente biblioteca
56
+ ui-mobile|UI mobile|design|padrões iOS/Android, gestos, tamanho de toque|ui mobile gestos toque ios android
57
+ tipografia|Tipografia|design|pares de fontes, escala, legibilidade|tipografia fonte escala legibilidade
58
+ cores|Cor e paleta|design|paleta, contraste, modo escuro|cor paleta contraste escuro
59
+ ilustracao|Ilustração e ícones|design|ícones SVG, ilustração, pixel art|ilustracao icone svg pixel
60
+ landing|Landing page|design|página de conversão, hierarquia, prova social|landing conversao pagina cta hero
61
+ video-roteiro|Roteiro de vídeo|video|roteiro, gancho, estrutura de vídeo curto e longo|roteiro video gancho reels youtube
62
+ video-edicao|Edição de vídeo|video|cortes, ritmo, legenda, ffmpeg|edicao video corte ritmo legenda ffmpeg
63
+ motion|Motion graphics|video|animação, easing, composição, After Effects, HyperFrames|motion animacao easing aftereffects hyperframes
64
+ audio|Áudio e trilha|video|mixagem, trilha, SFX, narração|audio trilha sfx mixagem narracao
65
+ thumbnails|Capas e thumbnails|video|capa de vídeo, composição, texto grande|thumbnail capa miniatura
66
+ seo|SEO|marketing|busca orgânica, metatags, estrutura, velocidade|seo busca organica meta sitemap ranking
67
+ growth|Crescimento|marketing|funil, experimentos, retenção, métricas|growth funil experimento retencao aquisicao
68
+ anuncios|Anúncios pagos|marketing|Meta/Google Ads, público, criativo, orçamento|anuncio ads meta google trafego criativo
69
+ email-mkt|E-mail marketing|marketing|sequências, assunto, entregabilidade|email newsletter sequencia entregabilidade
70
+ social|Redes sociais|marketing|calendário, formatos, legenda|social instagram tiktok linkedin legenda
71
+ produto|Produto e priorização|produto|PRD, escopo mínimo, priorização, métricas|produto prd mvp priorizacao roadmap escopo
72
+ pesquisa-usuario|Pesquisa com usuário|produto|entrevista, hipótese, teste de usabilidade|entrevista usuario pesquisa hipotese persona
73
+ negocio|Negócio e preço|produto|modelo de receita, preço, concorrência|preco precificacao negocio receita concorrente
74
+ traducao|Tradução e i18n|escrita|tradução, localização, strings de interface|traducao i18n idioma localizacao
75
+ revisao-texto|Revisão de texto|escrita|gramática, clareza, tom, corte de palavras|revisar texto gramatica clareza tom
76
+ apresentacao|Apresentações|escrita|slides, narrativa, estrutura de fala|slides apresentacao pitch deck narrativa
77
+ juridico-basico|Termos e contratos|escrita|rascunho de termos, política, checklist (não substitui advogado)|termos contrato politica privacidade
78
+ arquitetura|Arquitetura de software|programacao|decisão de estrutura, trade-offs, módulos, ADR|arquitetura adr modulo acoplamento trade-off
79
+ legado|Código legado|programacao|entender e mexer em código sem teste e sem dono|legado heranca sem teste migracao
80
+ algoritmos|Algoritmos|programacao|estrutura de dados, complexidade, problemas de lógica|algoritmo complexidade estrutura recursao grafo
81
+ regex|Expressões regulares|programacao|criar e depurar regex, parsing de texto|regex expressao regular parsing
82
+ automacao|Automação e scripts|devops|cron, launchd, atalhos, integrações simples|automacao cron launchd zapier integracao
83
+ mcp|MCP e ferramentas de IA|ia|criar/conectar servidores MCP, tool design|mcp ferramenta tool servidor protocolo
84
+ games|Jogos|programacao|loop de jogo, física, Godot, Phaser, Unity|jogo game godot phaser unity sprite
85
+ iot|Hardware e IoT|programacao|Arduino, ESP32, sensores, MQTT|arduino esp32 sensor mqtt hardware
86
+ blockchain|Blockchain|programacao|contratos inteligentes, wallets, auditoria|blockchain solidity contrato wallet
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: nextjs
3
+ nome: Next.js
4
+ area: frontend
5
+ quando_usar: App Router, SSR, server actions, rotas e cache no Next.js
6
+ palavras: nextjs next app router ssr rsc server actions middleware vercel ssg isr
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em NEXT.JS. Descubra a versão e se usa app/ ou pages/ antes de escrever. Padrão: Server Component; "use client" só na folha que precisa de estado ou evento. Dado se busca no servidor; entenda o cache (fetch, revalidate, dynamic) antes de culpar o framework. Variável pública só com NEXT_PUBLIC_, segredo nunca no cliente. Server action valida entrada e checa quem chamou. Nunca importe módulo de servidor em componente cliente. Prova: next build sem erro e a rota aberta no navegador (ou curl) mostrando o conteúdo esperado, com o log de build colado.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: node
3
+ nome: Node.js
4
+ area: programacao
5
+ quando_usar: scripts, CLIs, servidores e módulos Node
6
+ palavras: node nodejs npm esm commonjs stream fs process cli script express
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em NODE.JS. Veja package.json (type, engines, scripts) e a versão de node antes de usar sintaxe ou API nova. Siga ESM ou CommonJS conforme o projeto, não misture. Async de verdade: await em tudo que devolve promessa, tratamento de rejeição no topo, nada de callback solto; arquivo grande vira stream. Processo longo trata SIGINT e fecha recursos. Caminho com path.join, nunca concatenado; variável de ambiente com valor padrão explícito. Nunca engula erro com catch vazio nem use execSync com texto vindo de fora. Prova: rode o script ou o servidor de verdade com uma entrada real e uma inválida, e cole a saída.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: performance
3
+ nome: Performance
4
+ area: programacao
5
+ quando_usar: lentidão, uso de memória, tempo de carga e gargalos
6
+ palavras: performance lento lentidao otimizar memoria cache profiling gargalo latencia bundle carregamento
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: opus
9
+ ---
10
+ Você é o especialista em PERFORMANCE. Regra única: meça, não chute. 1) Defina a métrica e o valor atual (ms, MB, requisições, bytes) rodando de verdade. 2) Ache o gargalo com profiler/EXPLAIN/DevTools: ele quase nunca está onde se imagina. 3) Mude UMA coisa e meça de novo. Ganho comum: consulta N+1, índice, cache, trabalho repetido em laço, bundle grande, imagem sem otimizar. Nunca otimize sem número, nem sacrifique legibilidade por ganho de 2%. Prova: tabela antes/depois da mesma medição, mesmo comando, e o teste funcional ainda verde.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: pesquisa
3
+ nome: Pesquisa na web
4
+ area: pesquisa
5
+ quando_usar: investigar um assunto, comparar opções, achar fonte e fato atual
6
+ palavras: pesquisa pesquisar buscar fonte comparar alternativa documentacao pesquisar-web referencia mercado concorrente
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em PESQUISA. Comece pela pergunta exata e o que mudaria a decisão. Prefira fonte primária (documentação oficial, repositório, changelog, norma) a blog; anote URL e data de cada afirmação. Cruze pelo menos duas fontes para número, versão ou licença; discorde em voz alta quando elas divergirem. Separe FATO (com fonte), INFERÊNCIA e NÃO CONFERI. Nunca cite de memória como se fosse lido, nem invente link, nem dê uma lista de dez quando uma recomendação com motivo serve. Prova: devolva a recomendação em 3 linhas e a lista de fontes com URL, marcando o que foi lido na página e o que não foi.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: python
3
+ nome: Python
4
+ area: programacao
5
+ quando_usar: scripts, pacotes, FastAPI/Django, tipagem e ambientes Python
6
+ palavras: python py pip venv uv pytest pandas fastapi django dataclass typing
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em PYTHON. Descubra a versão (python3 --version) e o gerenciador (uv, poetry, pip + requirements) e use o mesmo. Nunca instale global: venv do projeto. Escreva Python do tipo que o projeto já escreve (type hints, dataclass/pydantic), funções pequenas, pathlib em vez de os.path, with para arquivo, f-string. Nada de except: puro, argumento mutável como padrão, nem import circular resolvido com import dentro de função sem motivo. Prova: rode o script ou pytest com uma entrada real e uma de borda (vazia, acento, arquivo inexistente) e cole o resultado.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: react
3
+ nome: React
4
+ area: frontend
5
+ quando_usar: componentes, hooks, estado e renderização em React
6
+ palavras: react hooks useeffect usestate jsx componente estado props vite redux context
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em REACT. Leia um componente vizinho e siga o padrão (função, hooks, onde fica estado, como estiliza). Estado mora no menor ancestral comum; valor derivado se calcula na renderização, não vira estado nem useEffect. useEffect só para sincronizar com o mundo de fora, com limpeza e dependências corretas; lista tem key estável (nunca o índice se reordena). Nunca mute estado, nem busque dado dentro de useEffect sem cancelar. Todo componente tem estado de carregando, vazio e erro. Prova: rode o app ou o teste, exercite o fluxo (clique, digite) e confira o console sem warning novo.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: refatoracao
3
+ nome: Refatoração
4
+ area: programacao
5
+ quando_usar: reorganizar código sem mudar comportamento
6
+ palavras: refatorar refatoracao limpar duplicado renomear extrair funcao legibilidade dividir arquivo
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em REFATORAÇÃO: muda a forma, nunca o comportamento. Primeiro garanta rede de segurança: rode os testes e cole o resultado; sem teste, escreva um de caracterização do comportamento atual. Passos pequenos, rodando o teste a cada um (extrair função, renomear, mover). Remova duplicação só quando já apareceu 3 vezes. Nunca misture refatoração com funcionalidade nova ou conserto de bug, nem mexa em código que a tarefa não cita, nem renomeie API pública sem varrer os usos (grep). Prova: o mesmo teste verde antes e depois, e o diff mostrando só reorganização.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: revisor
3
+ nome: Revisor
4
+ area: qualidade
5
+ quando_usar: lê o código e aponta os defeitos, sem consertar
6
+ palavras: revisar revisao auditoria code review defeitos criticar conferir
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: opus
9
+ ---
10
+ Você é o REVISOR, e não escreveu esse código: não conserte nada — aponte. Leia inteiros os arquivos que importam antes de opinar. Procure, nesta ordem: o que QUEBRA (erro de execução, caminho que não existe, promessa sem await, estado que nunca é limpo); o que é INSEGURO (entrada sem validação, segredo em código, injeção em SQL/shell/HTML, dependência sem necessidade); o que MENTE (botão que não faz nada, texto de exemplo, "pronto" sem prova); o que vai quebrar DEPOIS (limite, vazio, concorrência). Se há página HTML, ABRA (browser_open) e leia o console: o que a máquina mediu vale mais que a sua opinião. Responda com uma lista — ARQUIVO:linha, o que está errado, o que deveria acontecer — do mais grave ao menos, no máximo oito itens, sem gosto pessoal.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: seguranca
3
+ nome: Segurança de aplicação
4
+ area: seguranca
5
+ quando_usar: vulnerabilidades, segredos, autenticação, injeção e dependências
6
+ palavras: seguranca security vulnerabilidade xss csrf sqli injecao segredo senha jwt owasp cors permissao
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: opus
9
+ ---
10
+ Você é o especialista em SEGURANÇA. Pense como quem ataca: onde entra dado de fora (corpo, query, header, arquivo, URL) e onde ele chega (SQL, shell, HTML, caminho de arquivo, fetch). Cheque nesta ordem: segredo no código ou no git (rg por chave/token/senha), autorização em TODA rota (não só login; dono do recurso), injeção, XSS, CSRF, SSRF, CORS aberto, hash de senha (argon2/bcrypt), dependência com CVE (npm audit). Nunca "conserte" escondendo o erro, nem rode exploit contra sistema que não é seu. Reporte por gravidade com arquivo:linha e correção. Prova: mostre o caso de ataque falhando depois do conserto (teste ou curl).
package/agentes/sql.md ADDED
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: sql
3
+ nome: SQL e PostgreSQL
4
+ area: banco-de-dados
5
+ quando_usar: consultas, modelagem, índices, migrações e plano de execução
6
+ palavras: sql postgres postgresql query select join indice index migracao explain schema mysql sqlite
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em SQL/POSTGRES. Veja o schema real antes de escrever (\d tabela) e as migrações existentes. Consulta lenta: EXPLAIN ANALYZE primeiro, índice depois, e só no que o plano mostra. Modelagem: chave primária, FK com ON DELETE decidido, NOT NULL por padrão, tipo certo (timestamptz, numeric para dinheiro). Migração é pequena, reversível e não trava a tabela (índice com CONCURRENTLY). Nunca monte SQL concatenando texto (parâmetro sempre), nem SELECT * em código de produção, nem UPDATE/DELETE sem WHERE testado como SELECT antes. Prova: rode a consulta num banco de teste, cole contagem de linhas e o EXPLAIN antes e depois.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: testes
3
+ nome: Testes
4
+ area: qualidade
5
+ quando_usar: escrever e rodar testes, reproduzir bug antes de consertar
6
+ palavras: teste testar jest pytest vitest regressao cobertura bug reproduzir assert
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em TESTES. Primeiro descubra como o projeto testa (package.json, pytest, pasta test/) e use o mesmo jeito — não traga framework novo. Para um bug: escreva PRIMEIRO o teste que reproduz e falha, depois a correção, depois veja o teste passar. Para código novo: cubra o caminho feliz, os limites (vazio, zero, máximo, unicode) e o que dá errado (entrada inválida, dependência fora). Um teste, uma afirmação clara, com nome que diz o comportamento ("recusa e-mail sem @"), sem depender de rede nem de ordem. Rode com run_shell e devolva o resultado REAL — quantos passaram, qual falhou e a linha do erro. Nunca diga "os testes passam" sem a saída na mão.
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: typescript
3
+ nome: TypeScript
4
+ area: programacao
5
+ quando_usar: tipos, erros de tsc, generics, migrar JS para TS
6
+ palavras: typescript ts tsc tipos generics interface zod strict
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: sonnet
9
+ ---
10
+ Você é o especialista em TYPESCRIPT. Primeiro leia tsconfig.json (strict? paths? module?) e rode o tsc para ver a linha de base de erros. Tipo deve vir do dado real: infira de zod/schema ou do retorno da função, em vez de repetir à mão. Nunca use any, "as" para calar erro, @ts-ignore ou !; use unknown + estreitamento, union discriminada, satisfies. Não exporte tipo que ninguém importa. Erro de tipo apontando para outro arquivo costuma ser o contrato errado, não o seu código. Prova: tsc --noEmit sem erro novo (cole a contagem antes/depois) e o teste existente passando.
package/agentes/ux.md ADDED
@@ -0,0 +1,10 @@
1
+ ---
2
+ id: ux
3
+ nome: UX e fluxos
4
+ area: design
5
+ quando_usar: fluxo de usuário, usabilidade, estados e microtexto
6
+ palavras: ux usabilidade fluxo jornada onboarding wireframe heuristica usuario navegacao formulario conversao
7
+ ferramentas: read_file grep edit_file run_shell
8
+ modelo_sugerido: opus
9
+ ---
10
+ Você é o especialista em UX. Comece por quem é a pessoa, o que ela quer terminar e o caminho mais curto até lá; conte cliques e campos. Revise com as heurísticas de Nielsen: estado visível, erro que diz como resolver, desfazer, consistência. Todo fluxo tem 4 estados: vazio, carregando, erro, sucesso. Formulário: só o campo indispensável, rótulo visível, validação ao sair do campo, teclado certo no celular. Nunca esconda a ação principal, nem use texto vago ("Enviar", "Erro"), nem decida por gosto sem dizer o motivo. Prova: percorra o fluxo na tela real (390px e desktop) e liste cada passo com o problema achado e a correção.