@pathbit/agentdevkit 0.0.9 → 0.0.11

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 (122) hide show
  1. package/.pbai4devs/COMPATIBILIDADE.md +6 -0
  2. package/.pbai4devs/INSTRUCTIONS.md +3 -0
  3. package/.pbai4devs/agents/README.md +19 -0
  4. package/.pbai4devs/agents/auditor-seguranca/AGENT.md +20 -0
  5. package/.pbai4devs/agents/auditor-seguranca/antigravity.yaml +8 -0
  6. package/.pbai4devs/agents/auditor-seguranca/claude.yaml +5 -0
  7. package/.pbai4devs/agents/auditor-seguranca/cursor.yaml +5 -0
  8. package/.pbai4devs/agents/auditor-seguranca/gemini.yaml +6 -0
  9. package/.pbai4devs/agents/auditor-seguranca/github.yaml +5 -0
  10. package/.pbai4devs/agents/auditor-seguranca/kimi-code.yaml +5 -0
  11. package/.pbai4devs/agents/auditor-seguranca/mimocode.yaml +8 -0
  12. package/.pbai4devs/agents/auditor-seguranca/opencode.yaml +11 -0
  13. package/.pbai4devs/agents/documentador/AGENT.md +19 -0
  14. package/.pbai4devs/agents/documentador/antigravity.yaml +8 -0
  15. package/.pbai4devs/agents/documentador/claude.yaml +5 -0
  16. package/.pbai4devs/agents/documentador/cursor.yaml +5 -0
  17. package/.pbai4devs/agents/documentador/gemini.yaml +6 -0
  18. package/.pbai4devs/agents/documentador/github.yaml +5 -0
  19. package/.pbai4devs/agents/documentador/kimi-code.yaml +5 -0
  20. package/.pbai4devs/agents/documentador/mimocode.yaml +8 -0
  21. package/.pbai4devs/agents/documentador/opencode.yaml +11 -0
  22. package/.pbai4devs/agents/implementador/AGENT.md +20 -0
  23. package/.pbai4devs/agents/implementador/antigravity.yaml +8 -0
  24. package/.pbai4devs/agents/implementador/claude.yaml +5 -0
  25. package/.pbai4devs/agents/implementador/cursor.yaml +5 -0
  26. package/.pbai4devs/agents/implementador/gemini.yaml +6 -0
  27. package/.pbai4devs/agents/implementador/github.yaml +5 -0
  28. package/.pbai4devs/agents/implementador/kimi-code.yaml +5 -0
  29. package/.pbai4devs/agents/implementador/mimocode.yaml +8 -0
  30. package/.pbai4devs/agents/implementador/opencode.yaml +11 -0
  31. package/.pbai4devs/agents/planejador/AGENT.md +19 -0
  32. package/.pbai4devs/agents/planejador/antigravity.yaml +8 -0
  33. package/.pbai4devs/agents/planejador/claude.yaml +5 -0
  34. package/.pbai4devs/agents/planejador/cursor.yaml +5 -0
  35. package/.pbai4devs/agents/planejador/gemini.yaml +6 -0
  36. package/.pbai4devs/agents/planejador/github.yaml +5 -0
  37. package/.pbai4devs/agents/planejador/kimi-code.yaml +5 -0
  38. package/.pbai4devs/agents/planejador/mimocode.yaml +8 -0
  39. package/.pbai4devs/agents/planejador/opencode.yaml +11 -0
  40. package/.pbai4devs/agents/validador/AGENT.md +19 -0
  41. package/.pbai4devs/agents/validador/antigravity.yaml +8 -0
  42. package/.pbai4devs/agents/validador/claude.yaml +5 -0
  43. package/.pbai4devs/agents/validador/cursor.yaml +5 -0
  44. package/.pbai4devs/agents/validador/gemini.yaml +6 -0
  45. package/.pbai4devs/agents/validador/github.yaml +5 -0
  46. package/.pbai4devs/agents/validador/kimi-code.yaml +5 -0
  47. package/.pbai4devs/agents/validador/mimocode.yaml +8 -0
  48. package/.pbai4devs/agents/validador/opencode.yaml +11 -0
  49. package/.pbai4devs/commands/README.md +13 -0
  50. package/.pbai4devs/commands/atualizar-documentacao/COMMAND.md +17 -0
  51. package/.pbai4devs/commands/auditar-seguranca/COMMAND.md +25 -0
  52. package/.pbai4devs/commands/implementar-entrega/COMMAND.md +20 -0
  53. package/.pbai4devs/commands/planejar-entrega/COMMAND.md +17 -0
  54. package/.pbai4devs/commands/preparar-seguranca/COMMAND.md +22 -0
  55. package/.pbai4devs/commands/validar-entrega/COMMAND.md +18 -0
  56. package/.pbai4devs/commands/verificar-dependencias/COMMAND.md +18 -0
  57. package/.pbai4devs/commands/verificar-segredos/COMMAND.md +19 -0
  58. package/.pbai4devs/external-skills/CATALOG.json +39 -1
  59. package/.pbai4devs/external-skills/README.md +13 -0
  60. package/.pbai4devs/rules/README.md +4 -0
  61. package/.pbai4devs/rules/execucao-local/RULE.md +20 -0
  62. package/.pbai4devs/rules/execucao-local/cursor.yaml +4 -0
  63. package/.pbai4devs/rules/seguranca/RULE.md +19 -0
  64. package/.pbai4devs/rules/seguranca/cursor.yaml +4 -0
  65. package/.pbai4devs/scripts/README.md +1 -0
  66. package/.pbai4devs/scripts/auditar-seguranca/README.md +57 -0
  67. package/.pbai4devs/scripts/auditar-seguranca/SCRIPT.mjs +411 -0
  68. package/.pbai4devs/scripts/auditar-seguranca/database-zip.mjs +143 -0
  69. package/.pbai4devs/scripts/auditar-seguranca/rules/javascript.yml +50 -0
  70. package/.pbai4devs/scripts/auditar-seguranca/tests/SMOKE.mjs +74 -0
  71. package/.pbai4devs/scripts/auditar-seguranca/tests/TEST.mjs +247 -0
  72. package/.pbai4devs/scripts/auditar-seguranca/tests/zip-fixture.mjs +45 -0
  73. package/.pbai4devs/scripts/lib/native-release.mjs +193 -0
  74. package/.pbai4devs/scripts/preparar-ferramentas/README.md +8 -2
  75. package/.pbai4devs/scripts/preparar-ferramentas/SCRIPT.mjs +46 -16
  76. package/.pbai4devs/scripts/preparar-ferramentas/tests/TEST.mjs +2 -0
  77. package/.pbai4devs/scripts/preparar-ferramentas/tests/native-release.test.mjs +103 -0
  78. package/.pbai4devs/skills/README.md +10 -2
  79. package/.pbai4devs/skills/projeto/preparar-ferramentas/SKILL.md +5 -1
  80. package/.pbai4devs/skills/seguranca/REFERENCE.md +104 -0
  81. package/.pbai4devs/skills/seguranca/corrigir-vulnerabilidade/SKILL.md +27 -0
  82. package/.pbai4devs/skills/seguranca/modelar-ameacas/SKILL.md +25 -0
  83. package/.pbai4devs/skills/seguranca/revisar-autorizacao/SKILL.md +29 -0
  84. package/.pbai4devs/skills/seguranca/revisar-seguranca/SKILL.md +27 -0
  85. package/.pbai4devs/templates/README.md +2 -0
  86. package/.pbai4devs/templates/revisao-seguranca/TEMPLATE.md +33 -0
  87. package/.pbai4devs/tools/README.md +11 -3
  88. package/.pbai4devs/tools/gitleaks/README.md +22 -0
  89. package/.pbai4devs/tools/gitleaks/SCRIPT.mjs +5 -0
  90. package/.pbai4devs/tools/gitleaks/TOOL.json +67 -0
  91. package/.pbai4devs/tools/opengrep/README.md +22 -0
  92. package/.pbai4devs/tools/opengrep/SCRIPT.mjs +5 -0
  93. package/.pbai4devs/tools/opengrep/TOOL.json +71 -0
  94. package/.pbai4devs/tools/osv-scanner/README.md +23 -0
  95. package/.pbai4devs/tools/osv-scanner/SCRIPT.mjs +5 -0
  96. package/.pbai4devs/tools/osv-scanner/TOOL.json +70 -0
  97. package/CHANGELOG.md +17 -0
  98. package/README.en.md +18 -5
  99. package/README.es.md +19 -6
  100. package/README.md +16 -3
  101. package/docs/README.md +9 -5
  102. package/docs/guides/README.md +3 -1
  103. package/docs/guides/cli.md +3 -0
  104. package/docs/guides/installation.md +61 -11
  105. package/docs/guides/prerequisites.md +123 -0
  106. package/docs/guides/resources.md +48 -1
  107. package/docs/guides/security-references.md +97 -0
  108. package/docs/guides/security.md +32 -0
  109. package/docs/guides/tools-and-testing.md +2 -1
  110. package/docs/guides/troubleshooting.md +23 -7
  111. package/docs/maintainers/README.md +1 -1
  112. package/docs/maintainers/maintenance.md +15 -4
  113. package/docs/maintainers/packages.md +45 -13
  114. package/docs/product/prd.md +4 -1
  115. package/docs/product/roadmap.md +4 -0
  116. package/docs/specs/README.md +3 -0
  117. package/docs/specs/dual-registry/SPEC.md +43 -0
  118. package/docs/specs/security-ecosystem/README.md +9 -0
  119. package/docs/specs/security-ecosystem/SPEC.md +53 -0
  120. package/docs/specs/v0.0.10/README.md +9 -0
  121. package/docs/specs/v0.0.10/SPEC.md +42 -0
  122. package/package.json +1 -1
@@ -9,23 +9,58 @@ O pacote traz o gerador e as fontes compartilhadas. A instalação prepara
9
9
 
10
10
  ## Pré-requisitos
11
11
 
12
- Use Node.js 18+ com npm para iniciar o pacote. O launcher prepara Node 24+
13
- quando o runtime atual é antigo; o núcleo e as ferramentas usam Node 24+.
14
- A extração de runtime usa o executável nativo `tar`, sem scripts shell.
15
-
16
- Sem Node/npm, o agente precisa primeiro instalar o runtime pelo mecanismo do
17
- sistema operacional e continuar. `npx` não funciona antes dessa instalação.
18
- O [guia de preparo][bootstrap] explica as duas situações.
12
+ Prepare [Node.js 24+ com npm e npx](prerequisites.md) no Windows, macOS ou Linux.
13
+ O guia inclui instalação manual e como pedir ao agente para preparar a máquina.
14
+ Git é opcional para instalar o kit. Com Node 18–23 existente, o launcher pode
15
+ preparar Node 24 localmente usando `tar`; veja o [bootstrap][bootstrap].
19
16
 
20
17
  ## Instalar
21
18
 
22
- O pacote [`@pathbit/agentdevkit`](../maintainers/packages.md) é publicado no
23
- npm público. Execute na pasta do projeto, sem login:
19
+ Os dois registries oferecem o mesmo [`@pathbit/agentdevkit`](../maintainers/packages.md).
20
+ Escolha um deles e execute na pasta do projeto.
21
+
22
+ ### npm público
23
+
24
+ É o caminho padrão e não exige conta nem login:
24
25
 
25
26
  ```console
26
27
  npx @pathbit/agentdevkit init
27
28
  ```
28
29
 
30
+ Para escolher explicitamente esse registry:
31
+
32
+ ```console
33
+ npx --registry=https://registry.npmjs.org @pathbit/agentdevkit init
34
+ ```
35
+
36
+ ### GitHub Packages
37
+
38
+ O pacote é público, mas esse registry exige autenticação para baixar.
39
+ Crie um [personal access token clássico][tokens] com `read:packages`.
40
+ Autentique uma vez no seu computador:
41
+
42
+ ```console
43
+ npm login --registry=https://npm.pkg.github.com --auth-type=legacy --scope=
44
+ ```
45
+
46
+ Informe seu usuário do GitHub e use o token no campo de senha. O npm guarda
47
+ a credencial no arquivo do seu usuário, vinculada ao host do GitHub.
48
+ `--scope=` evita criar um mapeamento permanente do escopo; nunca coloque
49
+ o token nos comandos compartilhados ou no repositório. Veja a
50
+ [autenticação oficial][github-auth].
51
+
52
+ Depois instale com npx:
53
+
54
+ ```console
55
+ npx --registry=https://npm.pkg.github.com @pathbit/agentdevkit init
56
+ ```
57
+
58
+ As opções de npx, como `--registry`, ficam **antes** do nome do pacote.
59
+ Um `@pathbit:registry` já configurado pode prevalecer sobre essa opção;
60
+ confira o [diagnóstico de registry](troubleshooting.md#download-plataforma-ou-ferramenta-falhando).
61
+
62
+ ### Opções e verificação
63
+
29
64
  Sem comando adicional, o pacote executa `init`. Em terminal interativo,
30
65
  pergunta idioma e agentes. No aplicativo desktop, peça ao agente para reunir
31
66
  as escolhas no chat e usar `--lang` e `--agents` na CLI.
@@ -34,6 +69,19 @@ Consulte [CLI](cli.md) para acrescentar seleção, destino e simulação. `--jso
34
69
  `--yes`, `--dry-run` ou ausência de terminal interativo evitam perguntas.
35
70
  Sem escolha explícita ou salva, `all` mantém todos os clientes compatíveis.
36
71
 
72
+ Após instalar, confirme a versão, o diagnóstico e os apontamentos:
73
+
74
+ ```console
75
+ npx @pathbit/agentdevkit --version
76
+ npx @pathbit/agentdevkit doctor
77
+ npx @pathbit/agentdevkit sync --check
78
+ ```
79
+
80
+ Se escolheu GitHub Packages, use o mesmo prefixo
81
+ `npx --registry=https://npm.pkg.github.com` nesses comandos. Para fixar a versão,
82
+ use `@pathbit/agentdevkit@0.0.11` no lugar do nome sem versão, em qualquer destino.
83
+ O próximo passo é [preparar as ferramentas](prerequisites.md#depois-de-instalar-o-kit).
84
+
37
85
  ## O que fica no projeto
38
86
 
39
87
  | Conteúdo | Tratamento |
@@ -102,7 +150,9 @@ e restauração após falha.
102
150
  O [fluxo de trabalho](workflow.md) orienta a próxima etapa do projeto.
103
151
  Se houver erro, consulte [solução de problemas](troubleshooting.md).
104
152
 
105
- [Wiki](../README.md) · [Spec v0.0.9][spec]
153
+ [Wiki](../README.md) · [Spec de segurança][spec]
106
154
 
107
155
  [bootstrap]: ../../.pbai4devs/scripts/preparar-ferramentas/BOOTSTRAP.md
108
- [spec]: ../specs/v0.0.9/SPEC.md
156
+ [spec]: ../specs/security-ecosystem/SPEC.md
157
+ [tokens]: https://github.com/settings/tokens
158
+ [github-auth]: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-to-github-packages
@@ -0,0 +1,123 @@
1
+ ---
2
+ description: Instalar Node.js e npm no Windows, macOS ou Linux antes de usar o kit.
3
+ language: pt
4
+ ---
5
+
6
+ # Preparar os pré-requisitos
7
+
8
+ Instale **Node.js 24+ com npm**. O npm inclui o comando `npx`; não é preciso
9
+ instalar Python, Bun ou o AgentDevKit globalmente. Git é opcional para instalar
10
+ o kit e necessário para trabalhar com o controle de versão do projeto.
11
+
12
+ ## Confira antes de instalar
13
+
14
+ No terminal do computador ou do agente, execute:
15
+
16
+ ```console
17
+ node --version
18
+ npm --version
19
+ npx --version
20
+ ```
21
+
22
+ Com Node 24+ e os três comandos funcionando, siga para a
23
+ [instalação pelo npm ou GitHub Packages](installation.md#instalar).
24
+ Use o mesmo ambiente em que abrirá o projeto: Windows e WSL, por exemplo,
25
+ têm instalações separadas.
26
+
27
+ ## Windows
28
+
29
+ No PowerShell, com [WinGet][winget] disponível:
30
+
31
+ ```powershell
32
+ winget install --id OpenJS.NodeJS.LTS --exact --source winget
33
+ ```
34
+
35
+ Sem WinGet, abra o [download oficial do Node.js][node], selecione uma versão
36
+ LTS 24 ou superior e use o instalador Windows `.msi` da sua arquitetura.
37
+ Mantenha npm e a inclusão no PATH habilitados. Feche e reabra o terminal;
38
+ no VS Code, reabra também o terminal integrado. Repita os três comandos acima.
39
+
40
+ ## macOS
41
+
42
+ No [download oficial][node], selecione Node LTS 24 ou superior e o instalador
43
+ macOS `.pkg`. Conclua a instalação, reabra o terminal e confira as versões.
44
+ O instalador inclui npm e npx.
45
+
46
+ Se já usa Homebrew, pode manter esse fluxo:
47
+
48
+ ```sh
49
+ brew install node@24
50
+ export PATH="$(brew --prefix node@24)/bin:$PATH"
51
+ ```
52
+
53
+ A segunda linha vale para o terminal atual. Para outros terminais, siga as
54
+ instruções de PATH exibidas pelo Homebrew; não substitua seu perfil inteiro.
55
+ Veja a [fórmula oficial][brew].
56
+
57
+ ## Linux
58
+
59
+ Em Bash ou Zsh, use o [nvm][nvm] para instalar Node 24 no seu usuário.
60
+ Em Debian/Ubuntu, prepare as dependências se faltarem:
61
+
62
+ ```sh
63
+ sudo apt-get update
64
+ sudo apt-get install -y curl ca-certificates tar xz-utils
65
+ ```
66
+
67
+ Em outra distribuição, instale os equivalentes pelo seu gerenciador de pacotes.
68
+ Execute o instalador oficial do nvm e depois instale o Node:
69
+
70
+ ```sh
71
+ curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.41.0/install.sh | bash
72
+ ```
73
+
74
+ Reabra o terminal para carregar o nvm; então execute:
75
+
76
+ ```sh
77
+ nvm install 24
78
+ nvm use 24
79
+ ```
80
+
81
+ O nvm configura o perfil do seu usuário e inclui npm/npx com o Node.
82
+ Em Alpine ou outra distribuição com musl, confirme o suporte da versão e
83
+ arquitetura no [download oficial][node]; não use um binário glibc nesse ambiente.
84
+
85
+ ## Preparar com ajuda do agente
86
+
87
+ Você também pode pedir no aplicativo ou terminal do seu agente:
88
+
89
+ > Confira Node, npm e npx neste ambiente. Se faltarem, instale Node 24+ pelo
90
+ > mecanismo adequado ao meu sistema, preserve a configuração existente e
91
+ > continue até validar os três comandos. Depois me ajude a escolher npm ou
92
+ > GitHub Packages e os agentes que usarei neste projeto.
93
+
94
+ O agente precisa de acesso ao terminal, à rede e das permissões de instalação
95
+ do sistema. Sem Node/npm, o `npx` ainda não pode executar o kit. Com Node
96
+ 18–23 existente, o launcher pode preparar Node 24 localmente; prefira atualizar
97
+ o ambiente para Node 24+ antes de começar.
98
+
99
+ O [bootstrap do kit][bootstrap] usa `tar` nativo quando precisa baixar um
100
+ runtime, verifica o checksum e não altera o PATH permanentemente.
101
+
102
+ ## Depois de instalar o kit
103
+
104
+ Na pasta do projeto, prepare e verifique as ferramentas compatíveis:
105
+
106
+ ```console
107
+ npx @pathbit/agentdevkit tools setup
108
+ npx @pathbit/agentdevkit tools check all
109
+ ```
110
+
111
+ Para usar GitHub Packages, acrescente `--registry=https://npm.pkg.github.com`
112
+ antes do nome do pacote, como no [guia de instalação](installation.md#github-packages).
113
+ `tools setup base` limita o preparo a navegador e lint. A instalação dos CLIs
114
+ não instala browsers, FFmpeg nem concede permissões desktop; veja os requisitos
115
+ da tarefa em [ferramentas e testes](tools-and-testing.md).
116
+
117
+ [Wiki](../README.md) · [Instalar o kit](installation.md)
118
+
119
+ [node]: https://nodejs.org/en/download
120
+ [winget]: https://learn.microsoft.com/en-us/windows/package-manager/winget/install
121
+ [brew]: https://formulae.brew.sh/formula/node@24
122
+ [nvm]: https://github.com/nvm-sh/nvm#installing-and-updating
123
+ [bootstrap]: ../../.pbai4devs/scripts/preparar-ferramentas/BOOTSTRAP.md
@@ -23,7 +23,7 @@ Os caminhos abaixo são relativos a `.pbai4devs/`.
23
23
  | Skill | Procedimento e decisões. | `skills/<grupo>/<nome>/SKILL.md` |
24
24
  | Regra | Convenção aplicada a um contexto. | `rules/<nome>/RULE.md` |
25
25
  | Comando | Entrada de um caso de uso. | `commands/<nome>/COMMAND.md` |
26
- | Agente | Papel, ferramentas e limites. | `agents/<nome>/AGENT.md` |
26
+ | Agente | Responsável por uma tarefa. | `agents/<nome>/AGENT.md` |
27
27
  | Modelo | Base a preencher. | `templates/<nome>/TEMPLATE.md` |
28
28
  | Tool | Configuração e entrada de uma CLI. | `tools/<nome>/TOOL.json` |
29
29
  | Script | Automação executável reutilizável. | `scripts/<nome>/SCRIPT.mjs` |
@@ -32,6 +32,53 @@ Uma skill explica como decidir; um script executa a operação. Um comando
32
32
  encaminha a essas fontes, sem repetir suas instruções. Uma regra mantém uma
33
33
  convenção recorrente; um agente define quem revisa ou executa determinado papel.
34
34
 
35
+ Uma skill pode orientar o uso de outras skills, comandos e agentes. Quem faz
36
+ essas chamadas é o cliente de IA, dentro das ferramentas e permissões disponíveis.
37
+ Um workflow é a sequência de passos e entregas descrita no comando; não precisa
38
+ ser outro tipo de arquivo ou um agendamento em segundo plano.
39
+
40
+ ```mermaid
41
+ flowchart LR
42
+ pedido["Pedido"] --> comando["Comando"]
43
+ comando --> agente["Agente responsável"]
44
+ regras["Regras"] -.-> agente
45
+ agente --> skill["Skill"]
46
+ skill --> script["Script quando necessário"]
47
+ script --> tool["Ferramenta local"]
48
+ tool --> prova["Evidências"]
49
+ prova --> revisao["Revisão independente"]
50
+ ```
51
+
52
+ O agente principal reúne resultados e mantém o contexto. Quando um cliente
53
+ não permite delegação aninhada, o especialista devolve o próximo passo ao
54
+ principal. Markdown e links não criam processos nem executam código sozinhos.
55
+
56
+ ## Três fluxos completos
57
+
58
+ | Etapa | Comando | Resultado |
59
+ | --- | --- | --- |
60
+ | Planejar | `planejar-entrega` | Dúvidas, plano e aceites. |
61
+ | Implementar | `implementar-entrega` | Código, testes e documentos. |
62
+ | Auditar | `auditar-seguranca` | Sinais locais e triagem. |
63
+
64
+ O planejador combina as skills da fase para reunir as decisões. O implementador
65
+ executa o plano aprovado. O auditor interpreta os scanners preparados por
66
+ `preparar-seguranca` e verifica os controles que exigem contexto.
67
+
68
+ No fluxo de implementação, `validar-entrega` executa as provas e
69
+ `atualizar-documentacao` aciona o documentador. O revisor recebe a entrega
70
+ final por `revisar-entrega`; quem implementou não substitui a revisão independente.
71
+ Falhas retornam ao responsável com evidência e escopo de correção.
72
+
73
+ Na segurança, scanners e análise manual se complementam. Achados confirmados
74
+ seguem `corrigir-vulnerabilidade`; depois são testados de novo. O
75
+ [guia de segurança](security.md) define preparação, limites e resultados.
76
+
77
+ Não busque quantidades iguais por tipo: uma skill atende vários comandos,
78
+ um perfil usa várias skills e uma regra vale em diferentes fluxos. Crie um
79
+ perfil quando houver responsabilidade recorrente e contexto próprio; use
80
+ skill para um procedimento e comando para uma entrada de trabalho clara.
81
+
35
82
  Modelos não são documentos aprovados do produto. Ferramentas usam um
36
83
  `SCRIPT.mjs` fino para delegar ao instalador comum; não precisam de cópias em
37
84
  cada cliente nem de outro instalador escrito do zero.
@@ -0,0 +1,97 @@
1
+ ---
2
+ description: Ferramentas e skills de segurança locais e open source.
3
+ ---
4
+
5
+ # Referências de segurança
6
+
7
+ As verificações do kit executam no computador do projeto. Não exigem conta,
8
+ assinatura ou envio de código a um serviço. Downloads de ferramentas e bases
9
+ públicas são etapas explícitas; a análise usa os arquivos locais.
10
+
11
+ ## Ferramentas selecionadas
12
+
13
+ | Ferramenta | Origem e licença | Função |
14
+ | --- | --- | --- |
15
+ | [Gitleaks][gitleaks] | Comunidade, MIT | Segredos em arquivos e Git. |
16
+ | [OSV-Scanner][osv] | Google, Apache-2.0 | Dependências, com base OSV local. |
17
+ | [Opengrep][opengrep] | Consórcio, LGPL-2.1 | Código, com regras locais. |
18
+
19
+ O catálogo fixa versões e hashes revisados. `install` verifica o download;
20
+ `check` confere o binário local; `update` aplica o pin revisado no catálogo.
21
+ Nenhum dos três exige Python instalado. O upstream do Gitleaks está focado
22
+ em manutenção e correções; isso deve ser considerado nas próximas revisões.
23
+
24
+ OSV deve usar `--offline`, não somente `--offline-vulnerabilities`.
25
+ A base precisa ser preparada antes: ausência de dados não é resultado limpo.
26
+ Opengrep usa configuração local e checagem de versão desativada; não use
27
+ `--config auto`. O comando de auditoria normaliza os resultados e remove
28
+ segredos e trechos de código dos relatórios.
29
+
30
+ ## Complementos por necessidade
31
+
32
+ | Ferramenta | Licença | Quando considerar |
33
+ | --- | --- | --- |
34
+ | [Trivy][trivy] | Apache-2.0 | Imagens, IaC e SBOM. |
35
+ | [ZAP][zap] | Apache-2.0 | Aplicação em execução; exige Java. |
36
+ | [DevSkim][devskim] | MIT | Projetos .NET; exige runtime local. |
37
+
38
+ Esses complementos não são instalados pelo grupo `security`. Uma adoção exige
39
+ testar seu modo local, dependências, versão e licença. No ZAP, instalação não
40
+ inicia proxy, daemon ou ataque; configure identidades de teste e alvo local.
41
+ No Trivy, `--offline-scan` sozinho não bloqueia toda atualização de base.
42
+
43
+ Serviços de análise que exigem conta ficam fora desse fluxo. CodeQL CLI não
44
+ atende ao requisito de código aberto; Bandit e rotinas Python ficam fora do
45
+ runtime adotado. Uma opção gratuita não é automaticamente open source.
46
+
47
+ ## Skills de mercado
48
+
49
+ | Fonte | Recurso | Tratamento |
50
+ | --- | --- | --- |
51
+ | [OpenAI][openai] | Práticas e ameaças | Apache-2.0 por pasta. |
52
+ | [GitHub][copilot] | Revisão de segurança | MIT. |
53
+ | [Trail of Bits][tob] | Contexto e diffs | CC-BY-SA-4.0; candidata. |
54
+
55
+ Os [pins e licenças do catálogo][catalog] evitam importar uma origem móvel.
56
+ As quatro skills próprias de segurança já acompanham o kit; referências
57
+ externas são opcionais e lidas por tarefa, sem copiar texto para os clientes.
58
+ Preserve atribuição e share-alike dos recursos da Trail of Bits.
59
+ Uma lista estática de CVEs em uma skill não substitui uma base atualizada.
60
+
61
+ ## O artigo como ponto de partida
62
+
63
+ O [artigo compartilhado][article] orientou cinco temas: acesso aos dados,
64
+ autorização no servidor, acesso por ID, segredos e entradas não confiáveis.
65
+ O kit trata essas perguntas com verificações específicas:
66
+
67
+ - PostgreSQL/Supabase usa RLS e políticas; Firebase usa Security Rules.
68
+ Papéis privilegiados e SDKs de servidor precisam de controles próprios.
69
+ - Ocultar um botão não autoriza uma operação. Teste sem sessão e com dois
70
+ usuários ou tenants, incluindo acesso ao objeto de outra identidade.
71
+ - Variáveis enviadas ao bundle são públicas; variáveis do servidor não são
72
+ automaticamente expostas. Um segredo confirmado exige remoção e rotação.
73
+ - Validação de entrada, consultas parametrizadas, codificação de saída,
74
+ controles de upload e limites de uso resolvem riscos diferentes.
75
+
76
+ As referências técnicas são [RLS][rls], [Firebase Rules][firebase],
77
+ [autorização][authz], [segredos][secrets] e [uploads][uploads]. O kit não usa as
78
+ estatísticas do artigo como comprovação de segurança do projeto.
79
+
80
+ [Segurança no fluxo](security.md) · [Recursos](resources.md)
81
+
82
+ [gitleaks]: https://github.com/gitleaks/gitleaks/tree/v8.30.1
83
+ [osv]: https://github.com/google/osv-scanner/tree/v2.7.1
84
+ [opengrep]: https://github.com/opengrep/opengrep/tree/v1.33.1
85
+ [trivy]: https://github.com/aquasecurity/trivy
86
+ [zap]: https://www.zaproxy.org/docs/desktop/start/features/
87
+ [devskim]: https://github.com/microsoft/DevSkim
88
+ [openai]: https://github.com/openai/skills
89
+ [copilot]: https://github.com/github/awesome-copilot
90
+ [tob]: https://github.com/trailofbits/skills
91
+ [catalog]: ../../.pbai4devs/external-skills/CATALOG.json
92
+ [article]: https://manodeyvin.com.br/p/5-vacilacoes-de-seguranca-que-a-ia
93
+ [rls]: https://supabase.com/docs/guides/database/postgres/row-level-security
94
+ [firebase]: https://firebase.google.com/docs/rules
95
+ [authz]: https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html
96
+ [secrets]: https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html
97
+ [uploads]: https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Segurança com scanners locais, triagem e provas de controles.
3
+ language: pt
4
+ ---
5
+
6
+ # Segurança local
7
+
8
+ O kit instala skills, regras, comandos e perfis para revisar segurança.
9
+ Os scanners exigem preparo explícito; nenhuma auditoria ou aplicação começa
10
+ em segundo plano apenas porque os arquivos de instrução foram instalados.
11
+
12
+ O [guia operacional][guide] acompanha o hub no projeto consumidor. Ele explica
13
+ preparo das ferramentas, bases offline, relatório e triagem, além dos testes
14
+ manuais de autorização, isolamento de dados, entradas e abuso.
15
+
16
+ - [Preparar segurança][prepare]: instalar e verificar os scanners locais.
17
+ - [Auditar segurança][audit]: analisar o alvo autorizado e interpretar sinais.
18
+ - [Revisar autorização][authorization]: testar identidade e acesso por recurso.
19
+ - [Modelar ameaças][threats]: antecipar riscos das fronteiras de confiança.
20
+ - [Curadoria](security-references.md): fontes, licenças e ferramentas avaliadas.
21
+
22
+ Use o [mapa do ecossistema](resources.md) para entender como perfis, skills,
23
+ comandos, regras e scripts se conectam. Resultados ficam em `.agent-tests/`;
24
+ scanners sozinhos não aprovam a segurança de um produto.
25
+
26
+ [Wiki](../README.md) · [Ferramentas e testes](tools-and-testing.md)
27
+
28
+ [guide]: ../../.pbai4devs/skills/seguranca/REFERENCE.md
29
+ [prepare]: ../../.pbai4devs/commands/preparar-seguranca/COMMAND.md
30
+ [audit]: ../../.pbai4devs/commands/auditar-seguranca/COMMAND.md
31
+ [authorization]: ../../.pbai4devs/skills/seguranca/revisar-autorizacao/SKILL.md
32
+ [threats]: ../../.pbai4devs/skills/seguranca/modelar-ameacas/SKILL.md
@@ -11,7 +11,8 @@ nem escolhe a stack da aplicação. Consulte o [catálogo][tools].
11
11
 
12
12
  O núcleo usa Node.js 24+ com npm. O launcher aceita Node 18+ e prepara o runtime
13
13
  atual quando necessário. Sem Node, o agente precisa instalá-lo pelo mecanismo
14
- do sistema operacional antes de iniciar `npx`.
14
+ do sistema operacional antes de iniciar `npx`; siga os
15
+ [pré-requisitos por sistema](prerequisites.md).
15
16
 
16
17
  Para preparar somente o runtime a partir do hub:
17
18
 
@@ -29,7 +29,7 @@ agente; arquivos próprios também podem manter uma pasta após a desmarcação.
29
29
  | Sintoma ou código | Próxima ação |
30
30
  | --- | --- |
31
31
  | `node` ou `npx` não encontrado | Siga [sem Node/npm][runtime]. |
32
- | `E401` ou `E403` no registry | Confira se usa o [npm público][packages]. |
32
+ | `E401` ou `E403` no registry | No npm, confira o destino; no GitHub, confira [token e login][github-install]. |
33
33
  | `E404` ao baixar o pacote | Confira registry, versão e permissão. |
34
34
  | `E_ARGS` | Confira comando e aspas com `agentdevkit --help`. |
35
35
  | `E_MISSING` | Confirme `--target`; inicialize o projeto correto. |
@@ -96,15 +96,31 @@ Para manter a instalação e sua seleção de clientes, prefira a CLI.
96
96
 
97
97
  ## Download, plataforma ou ferramenta falhando
98
98
 
99
- Se uma instalação antiga configurou `@pathbit` para o GitHub Packages,
100
- atualize somente esse escopo e repita a instalação:
99
+ Confira o destino padrão e um possível mapeamento do escopo:
101
100
 
102
101
  ```console
103
- npm config set @pathbit:registry https://registry.npmjs.org --location=user
102
+ npm config get registry
103
+ npm config get @pathbit:registry
104
104
  ```
105
105
 
106
- O pacote público não exige autenticação para instalar. Publicar uma versão
107
- exige acesso de mantenedor no npm; são operações diferentes.
106
+ Um valor de `@pathbit:registry` prevalece sobre `npx --registry=...`.
107
+ Se esse mapeamento foi criado apenas para uma instalação antiga, remova
108
+ **somente essa chave** do arquivo que a definiu. No arquivo do usuário:
109
+
110
+ ```console
111
+ npm config delete @pathbit:registry --location=user
112
+ ```
113
+
114
+ Se a chave está no `.npmrc` do projeto ou em variáveis de ambiente, revise
115
+ nesse local; o comando acima não muda essas configurações. Preserve mapeamentos
116
+ exigidos por outras dependências e nunca apague o `.npmrc` inteiro.
117
+ Sem mapeamento do escopo, escolha o registry por execução no
118
+ [guia de instalação](installation.md#instalar).
119
+
120
+ O npm público não exige login para baixar o kit. No GitHub Packages, use
121
+ um token clássico com `read:packages` e o [login específico][github-install].
122
+ Publicar versões exige permissões adicionais; login no GitHub CLI (`gh`)
123
+ não configura automaticamente a autenticação do npm.
108
124
 
109
125
  Confira acesso ao GitHub, ao registro npm e a `nodejs.org`, conforme a etapa.
110
126
  Mantenha a verificação de certificados e hashes; resolva proxy, rede ou
@@ -148,4 +164,4 @@ Use as [issues do projeto][issues] ou volte ao [índice](../README.md).
148
164
  [runtime]: installation.md#pré-requisitos
149
165
  [tools]: ../../.pbai4devs/scripts/preparar-ferramentas/README.md
150
166
  [issues]: https://github.com/pathbit/AgentDevKit/issues
151
- [packages]: ../maintainers/packages.md#instalar-no-projeto
167
+ [github-install]: installation.md#github-packages
@@ -6,7 +6,7 @@ description: Desenvolvimento, contribuição e publicação do AgentDevKit.
6
6
 
7
7
  - [Desenvolvimento](development.md)
8
8
  - [Manutenção e releases](maintenance.md)
9
- - [Pacote npm público](packages.md)
9
+ - [Pacote no npm e GitHub Packages](packages.md)
10
10
  - [Participação na comunidade](community.md)
11
11
 
12
12
  [Voltar à documentação](../README.md)
@@ -32,6 +32,12 @@ A distribuição real é testada uma vez no perfil completo. Os outros perfis
32
32
  validam seus riscos específicos. Execuções antigas da mesma referência podem
33
33
  ser canceladas quando substituídas, sem cancelar uma publicação em andamento.
34
34
 
35
+ O workflow [Security tools smoke][security-ci] instala os três scanners com
36
+ pins revisados em Linux, macOS e Windows. Depois analisa fixtures locais sem
37
+ rede, com casos inseguros e corrigidos. Essa prova valida o funcionamento das
38
+ ferramentas; não certifica a segurança de uma aplicação. Relatórios normalizados
39
+ são guardados como artifacts, sem binários ou fontes das fixtures.
40
+
35
41
  `npm run verify` executa o perfil completo. `ci:portable` e `ci:smoke`
36
42
  executam os demais perfis localmente. `npm run test:examples` verifica os
37
43
  cenários em `examples/generated/` quando a mudança afeta a geração.
@@ -67,9 +73,9 @@ nada. Nunca versione o tarball ou seus relatórios.
67
73
  O [workflow de release][release] localiza o CI aprovado de um push na branch
68
74
  principal, confere o commit e baixa seu artifact por ID. Verifica procedência,
69
75
  versão e checksum antes de publicar. Não repete a suíte nem reempacota.
70
- Também envia o pacote ao [npm público](packages.md), confere sua
71
- integridade no registro e testa versão, instalação, diagnóstico e sincronização
72
- com a CLI instalada por ele.
76
+ Também envia o mesmo pacote ao [npm público e GitHub Packages](packages.md),
77
+ confere a integridade nos dois destinos e testa versão, instalação, diagnóstico
78
+ e sincronização. O consumo pelo npm é anônimo; pelo GitHub, autenticado.
73
79
 
74
80
  Se o artifact expirou, reexecute o CI original do push e depois a release.
75
81
  Uma execução manual de CI serve para diagnóstico, mas não substitui essa
@@ -86,10 +92,14 @@ Para reiniciar uma publicação que falhou, use **Re-run failed jobs** ou
86
92
  o secret `NPMJS_TOKEN` do repositório; sem ele, usa OIDC, conforme
87
93
  [publicação](packages.md).
88
94
 
89
- Se a release já existe e falta somente o pacote no registro, use o modo
95
+ Se a release já existe e falta somente o pacote em um registro, use o modo
90
96
  `package_only` descrito em [pacote npm](packages.md#publicar-pelo-actions).
91
97
  Ele não tenta recriar a release existente.
92
98
 
99
+ Execuções concluídas com falha podem ser removidas mediante solicitação,
100
+ sem apagar execuções aprovadas, tags ou releases. Confira a lista e preserve
101
+ os identificadores das execuções e releases mantidas antes da limpeza.
102
+
93
103
  ## Conferir a entrega pública
94
104
 
95
105
  Confira a versão na [página do pacote][package] e instale pelo nome em um
@@ -102,3 +112,4 @@ aprovado; uma aprovação de CI não substitui a instalação real pelo registro
102
112
  [ci]: https://github.com/pathbit/AgentDevKit/actions/workflows/ci.yml
103
113
  [release]: https://github.com/pathbit/AgentDevKit/actions/workflows/release.yml
104
114
  [package]: https://www.npmjs.com/package/@pathbit/agentdevkit
115
+ [security-ci]: https://github.com/pathbit/AgentDevKit/actions/workflows/security-tools.yml
@@ -1,13 +1,24 @@
1
1
  ---
2
- description: Instalação e publicação do pacote npm público do AgentDevKit.
2
+ description: Publicação sincronizada do AgentDevKit no npm e no GitHub Packages.
3
3
  ---
4
4
 
5
- # Pacote npm público
5
+ # Pacote nos dois registries
6
6
 
7
7
  O AgentDevKit é um único pacote: [`@pathbit/agentdevkit`][package]. Ele contém
8
8
  a CLI e os recursos compartilhados; a instalação prepara os apontamentos dos
9
9
  agentes escolhidos no projeto.
10
10
 
11
+ Cada versão usa o mesmo TGZ nos dois destinos, com o mesmo número e checksum.
12
+
13
+ | Destino | Visibilidade | Instalação |
14
+ | --- | --- | --- |
15
+ | [npm público][package] | Pública | `npx`, sem login; opção padrão. |
16
+ | [GitHub Packages][github] | Pública | Exige autenticação do GitHub. |
17
+
18
+ No GitHub Packages, público significa que o pacote é visível a todos;
19
+ o registry npm do GitHub exige token também para baixar pacotes públicos.
20
+ Consulte a [autenticação oficial][github-auth] se escolher esse destino.
21
+
11
22
  Os metadados identificam PathBit como autor, palavras-chave do kit e licença
12
23
  MIT. O README público é gerado sem frontmatter e com links absolutos do GitHub;
13
24
  a fonte versionada conserva o YAML. O `LICENSE` canônico acompanha o pacote e
@@ -17,13 +28,21 @@ não integram o TGZ do AgentDevKit.
17
28
 
18
29
  ## Instalar no projeto
19
30
 
20
- Com Node.js 18+ e npm, execute na pasta do projeto. Não é necessário login:
31
+ Prepare os [pré-requisitos](../guides/prerequisites.md), depois escolha o destino:
21
32
 
22
33
  ```console
23
34
  npx @pathbit/agentdevkit init
24
35
  ```
25
36
 
26
- Para repetir uma instalação, fixe a versão desejada após o nome do pacote.
37
+ O comando acima usa o npm público, sem login. Para GitHub Packages, faça a
38
+ [autenticação inicial](../guides/installation.md#github-packages) e execute:
39
+
40
+ ```console
41
+ npx --registry=https://npm.pkg.github.com @pathbit/agentdevkit init
42
+ ```
43
+
44
+ Para repetir uma instalação, fixe a versão após o nome, como
45
+ `@pathbit/agentdevkit@0.0.11`, nos dois destinos.
27
46
 
28
47
  Acrescente `--agents codex,claude` para selecionar clientes, `--dry-run` para
29
48
  simular ou use `update`, `doctor` e `sync --check` no lugar de `init`.
@@ -34,12 +53,12 @@ da aplicação. Para conferir as versões:
34
53
  npm view @pathbit/agentdevkit versions --json
35
54
  ```
36
55
 
37
- Se existir um mapeamento antigo para o GitHub Packages, siga a
38
- [correção de registry][fix].
56
+ Se existir um mapeamento de `@pathbit` que impeça alternar o destino, siga o
57
+ [diagnóstico de registry][fix].
39
58
 
40
59
  ## Publicar pelo Actions
41
60
 
42
- A publicação usa o mesmo TGZ aprovado pelo CI, com acesso público. O workflow
61
+ A publicação usa o mesmo TGZ aprovado pelo CI nos dois registries. O workflow
43
62
  confere versão, origem e integridade; uma versão existente só é aceita quando
44
63
  contém os mesmos bytes. Não reempacote nem substitua uma versão publicada.
45
64
 
@@ -48,6 +67,11 @@ variável interna `NPM_TOKEN` somente na publicação. O token precisa permitir
48
67
  publicar no escopo `@pathbit`; credenciais nunca entram nos arquivos
49
68
  versionados.
50
69
 
70
+ O passo do GitHub Packages usa `GITHUB_TOKEN` com `packages: write` e confirma
71
+ a visibilidade pública. Tokens de um registry não são enviados ao outro.
72
+ O npm continua usando `NPMJS_TOKEN` ou OIDC, com prova de consumo anônimo;
73
+ as provas do GitHub usam autenticação própria.
74
+
51
75
  Sem esse secret, o workflow usa OIDC. Configure o **Trusted Publisher** do npm:
52
76
 
53
77
  | Campo | Valor |
@@ -61,14 +85,19 @@ O fallback recebe `id-token: write`. O npm exige CLI 11.5.1+ e Node 22.14+;
61
85
  o projeto usa Node 24. Configure a relação de confiança depois que o pacote
62
86
  existir; a primeira publicação pode usar o secret `NPMJS_TOKEN`.
63
87
 
64
- Para publicar somente o pacote de uma tag que já tem artefato aprovado:
88
+ Por padrão, uma tag publica nos dois destinos. Para completar o GitHub
89
+ Packages de uma tag existente, preservando a release e o npm:
65
90
 
66
91
  ```console
67
- gh workflow run release.yml --ref master -f tag=v0.0.9 -F package_only=true
92
+ gh workflow run Release -f tag=v0.0.11 -F package_only=true -f registry=github
68
93
  ```
69
94
 
70
95
  Se o artefato expirou, reexecute o CI original da tag antes da publicação.
71
- Depois do envio, o job usa um ambiente sem credenciais e cache novo para
96
+ `registry` aceita `both`, `npm` ou `github`. `package_only` impede alterar a
97
+ release existente; cada registry recusa versões com bytes diferentes e pula
98
+ a publicação se a mesma versão já estiver correta.
99
+
100
+ Depois do envio ao npm, o job usa um ambiente sem credenciais e cache novo para
72
101
  executar `--version`, `init`, `doctor` e `sync --check` pelo nome e versão
73
102
  publicados. Assim, a verificação comprova o acesso de um usuário comum.
74
103
  Confirme também que `latest` aponta para a versão estável e que o tarball é
@@ -76,12 +105,15 @@ baixável; metadados visíveis sozinhos não comprovam uma instalação funciona
76
105
  Se o registro ainda não disponibilizar o pacote, aguarde a verificação sem
77
106
  republicar automaticamente a mesma versão.
78
107
 
79
- As versões antigas no [GitHub Packages][legacy] permanecem disponíveis;
80
- o canal de instalação padrão é o npm público.
108
+ O GitHub Packages verifica os mesmos comandos com autenticação. Metadados
109
+ devem indicar visibilidade pública e associação ao repositório correto.
110
+ Uma falha parcial permite repetir apenas o destino pendente usando o artefato
111
+ original; nunca recrie uma versão publicada com outro conteúdo.
81
112
 
82
113
  [Wiki](../README.md) · [Manutenção](maintenance.md) ·
83
114
  [Instalação](../guides/installation.md)
84
115
 
85
116
  [package]: https://www.npmjs.com/package/@pathbit/agentdevkit
86
- [legacy]: https://github.com/pathbit/AgentDevKit/pkgs/npm/agentdevkit
117
+ [github]: https://github.com/pathbit/AgentDevKit/pkgs/npm/agentdevkit
118
+ [github-auth]: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry
87
119
  [fix]: ../guides/troubleshooting.md#download-plataforma-ou-ferramenta-falhando