@pathbit/agentdevkit 0.0.13 → 0.0.15

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 (90) hide show
  1. package/.pbai4devs/INSTRUCTIONS.md +16 -1
  2. package/.pbai4devs/agents/README.md +5 -0
  3. package/.pbai4devs/agents/analista-performance/AGENT.md +12 -0
  4. package/.pbai4devs/agents/analista-performance/antigravity.yaml +8 -0
  5. package/.pbai4devs/agents/analista-performance/claude.yaml +5 -0
  6. package/.pbai4devs/agents/analista-performance/cursor.yaml +5 -0
  7. package/.pbai4devs/agents/analista-performance/gemini.yaml +6 -0
  8. package/.pbai4devs/agents/analista-performance/github.yaml +5 -0
  9. package/.pbai4devs/agents/analista-performance/kimi-code.yaml +5 -0
  10. package/.pbai4devs/agents/analista-performance/mimocode.yaml +8 -0
  11. package/.pbai4devs/agents/analista-performance/opencode.yaml +11 -0
  12. package/.pbai4devs/agents/arquiteto/AGENT.md +14 -0
  13. package/.pbai4devs/agents/arquiteto/antigravity.yaml +8 -0
  14. package/.pbai4devs/agents/arquiteto/claude.yaml +5 -0
  15. package/.pbai4devs/agents/arquiteto/cursor.yaml +5 -0
  16. package/.pbai4devs/agents/arquiteto/gemini.yaml +6 -0
  17. package/.pbai4devs/agents/arquiteto/github.yaml +5 -0
  18. package/.pbai4devs/agents/arquiteto/kimi-code.yaml +5 -0
  19. package/.pbai4devs/agents/arquiteto/mimocode.yaml +8 -0
  20. package/.pbai4devs/agents/arquiteto/opencode.yaml +11 -0
  21. package/.pbai4devs/agents/engenheiro-qa/AGENT.md +16 -0
  22. package/.pbai4devs/agents/engenheiro-qa/antigravity.yaml +8 -0
  23. package/.pbai4devs/agents/engenheiro-qa/claude.yaml +5 -0
  24. package/.pbai4devs/agents/engenheiro-qa/cursor.yaml +5 -0
  25. package/.pbai4devs/agents/engenheiro-qa/gemini.yaml +6 -0
  26. package/.pbai4devs/agents/engenheiro-qa/github.yaml +5 -0
  27. package/.pbai4devs/agents/engenheiro-qa/kimi-code.yaml +5 -0
  28. package/.pbai4devs/agents/engenheiro-qa/mimocode.yaml +8 -0
  29. package/.pbai4devs/agents/engenheiro-qa/opencode.yaml +11 -0
  30. package/.pbai4devs/agents/especialista-backend/AGENT.md +14 -0
  31. package/.pbai4devs/agents/especialista-backend/antigravity.yaml +8 -0
  32. package/.pbai4devs/agents/especialista-backend/claude.yaml +5 -0
  33. package/.pbai4devs/agents/especialista-backend/cursor.yaml +5 -0
  34. package/.pbai4devs/agents/especialista-backend/gemini.yaml +6 -0
  35. package/.pbai4devs/agents/especialista-backend/github.yaml +5 -0
  36. package/.pbai4devs/agents/especialista-backend/kimi-code.yaml +5 -0
  37. package/.pbai4devs/agents/especialista-backend/mimocode.yaml +8 -0
  38. package/.pbai4devs/agents/especialista-backend/opencode.yaml +11 -0
  39. package/.pbai4devs/agents/especialista-frontend/AGENT.md +14 -0
  40. package/.pbai4devs/agents/especialista-frontend/antigravity.yaml +8 -0
  41. package/.pbai4devs/agents/especialista-frontend/claude.yaml +5 -0
  42. package/.pbai4devs/agents/especialista-frontend/cursor.yaml +5 -0
  43. package/.pbai4devs/agents/especialista-frontend/gemini.yaml +6 -0
  44. package/.pbai4devs/agents/especialista-frontend/github.yaml +5 -0
  45. package/.pbai4devs/agents/especialista-frontend/kimi-code.yaml +5 -0
  46. package/.pbai4devs/agents/especialista-frontend/mimocode.yaml +8 -0
  47. package/.pbai4devs/agents/especialista-frontend/opencode.yaml +11 -0
  48. package/.pbai4devs/agents/revisor/AGENT.md +3 -2
  49. package/.pbai4devs/agents/revisor/opencode.yaml +10 -3
  50. package/.pbai4devs/agents/validador/AGENT.md +4 -1
  51. package/.pbai4devs/commands/implementar-entrega/COMMAND.md +7 -0
  52. package/.pbai4devs/commands/planejar-entrega/COMMAND.md +8 -2
  53. package/.pbai4devs/commands/revisar-entrega/COMMAND.md +6 -3
  54. package/.pbai4devs/commands/validar-entrega/COMMAND.md +10 -1
  55. package/.pbai4devs/rules/qualidade/RULE.md +5 -6
  56. package/.pbai4devs/scripts/lib/README.md +2 -3
  57. package/.pbai4devs/scripts/lib/gitignore.mjs +129 -43
  58. package/.pbai4devs/scripts/sincronizar-agentes/README.md +1 -1
  59. package/.pbai4devs/scripts/sincronizar-agentes/SCRIPT.mjs +2 -1
  60. package/.pbai4devs/scripts/sincronizar-agentes/tests/LOCAL_IGNORE.mjs +94 -53
  61. package/.pbai4devs/skills/README.md +7 -0
  62. package/.pbai4devs/skills/arquitetura/avaliar-arquitetura/SKILL.md +21 -0
  63. package/.pbai4devs/skills/desenvolvimento/implementar-backend/SKILL.md +20 -0
  64. package/.pbai4devs/skills/desenvolvimento/implementar-frontend/SKILL.md +20 -0
  65. package/.pbai4devs/skills/projeto/verificar-trabalho/SKILL.md +3 -0
  66. package/.pbai4devs/skills/qualidade/avaliar-performance/SKILL.md +20 -0
  67. package/.pbai4devs/skills/qualidade/planejar-qa/SKILL.md +21 -0
  68. package/.pbai4devs/skills/qualidade/revisar-codigo/SKILL.md +19 -0
  69. package/.pbai4devs/skills/qualidade/validar-adversarial/SKILL.md +22 -0
  70. package/.pbai4devs/skills/seguranca/revisar-seguranca/SKILL.md +2 -0
  71. package/.pbai4devs/skills/specs/implementar-spec/SKILL.md +5 -0
  72. package/.pbai4devs/templates/gitignore/TEMPLATE.md +5 -5
  73. package/CHANGELOG.md +16 -0
  74. package/README.en.md +2 -2
  75. package/README.es.md +2 -2
  76. package/README.md +3 -2
  77. package/docs/README.md +2 -0
  78. package/docs/guides/README.md +1 -0
  79. package/docs/guides/installation.md +9 -5
  80. package/docs/guides/recursos-na-pratica.md +103 -0
  81. package/docs/guides/resources.md +29 -0
  82. package/docs/maintainers/maintenance.md +1 -1
  83. package/docs/maintainers/packages.md +2 -1
  84. package/docs/specs/README.md +3 -0
  85. package/docs/specs/development-ecosystem/SPEC.md +32 -0
  86. package/docs/specs/project-ignore/SPEC.md +26 -0
  87. package/package.json +1 -1
  88. package/src/cli.mjs +9 -4
  89. package/src/i18n.mjs +6 -0
  90. package/src/install.mjs +2 -1
package/src/i18n.mjs CHANGED
@@ -7,6 +7,8 @@ export function normalizeLanguage(value) {
7
7
 
8
8
  const messages = {
9
9
  pt: {
10
+ gitPending: 'Git não foi inicializado; após git init, execute sync para proteger os arquivos locais.',
11
+ trackedLocal: 'Artefatos locais já estão versionados; revise o índice sem excluir conteúdo automaticamente.',
10
12
  preserved: 'Caminhos existentes preservados', preservedDetails: 'Use --json para consultar os caminhos e motivos.',
11
13
  help: 'AgentDevKit: init [diretório], update, doctor, sync [--check], lang [pt|en|es], agents [lista], next, tools <ação>.\nOpções: --target <diretório>, --lang <idioma>, --agents <lista>, --yes, --dry-run, --force, --json.\nAliases: --clients e clients.',
12
14
  clientsCurrent: 'Agentes selecionados', clientsAvailable: 'Agentes disponíveis', clientsSelect: 'Agentes (IDs separados por vírgula ou all) [all]: ', agents: 'Seleção de agentes atualizada.',
@@ -16,6 +18,8 @@ const messages = {
16
18
  agentLanguage: 'Responda em português, salvo quando o usuário solicitar outro idioma.', inspect: 'Verifique a instalação', workflow: 'Consulte a próxima etapa', install: 'Inicialize este projeto', repair: 'Confira a sincronização', review: 'Revise os arquivos em conflito', tools: 'Resultado da ferramenta',
17
19
  },
18
20
  en: {
21
+ gitPending: 'Git is not initialized; after git init, run sync to protect local files.',
22
+ trackedLocal: 'Local artifacts are already tracked; review the index without automatically deleting content.',
19
23
  preserved: 'Existing paths preserved', preservedDetails: 'Use --json to inspect paths and reasons.',
20
24
  help: 'AgentDevKit: init [directory], update, doctor, sync [--check], lang [pt|en|es], agents [list], next, tools <action>.\nOptions: --target <directory>, --lang <language>, --agents <list>, --yes, --dry-run, --force, --json.\nAliases: --clients and clients.',
21
25
  clientsCurrent: 'Selected agents', clientsAvailable: 'Available agents', clientsSelect: 'Agents (comma-separated IDs or all) [all]: ', agents: 'Agent selection updated.',
@@ -25,6 +29,8 @@ const messages = {
25
29
  agentLanguage: 'Respond in English unless the user requests another language.', inspect: 'Check the installation', workflow: 'Review the next stage', install: 'Initialize this project', repair: 'Check synchronization', review: 'Review conflicting files', tools: 'Tool result',
26
30
  },
27
31
  es: {
32
+ gitPending: 'Git no está inicializado; tras git init, ejecute sync para proteger los archivos locales.',
33
+ trackedLocal: 'Hay artefactos locales versionados; revise el índice sin eliminar contenido automáticamente.',
28
34
  preserved: 'Rutas existentes preservadas', preservedDetails: 'Use --json para consultar las rutas y los motivos.',
29
35
  help: 'AgentDevKit: init [directorio], update, doctor, sync [--check], lang [pt|en|es], agents [lista], next, tools <acción>.\nOpciones: --target <directorio>, --lang <idioma>, --agents <lista>, --yes, --dry-run, --force, --json.\nAlias: --clients y clients.',
30
36
  clientsCurrent: 'Agentes seleccionados', clientsAvailable: 'Agentes disponibles', clientsSelect: 'Agentes (IDs separados por coma o all) [all]: ', agents: 'Selección de agentes actualizada.',
package/src/install.mjs CHANGED
@@ -352,6 +352,7 @@ export function planInstallation({ target, language = 'pt', mode = 'init', force
352
352
  }
353
353
  const wholeRecords = [previous?.files || {}, derivedEntries, derivedFiles];
354
354
  for (const path of new Set(wholeRecords.flatMap(record => Object.keys(record)))) if (!desired.has(path)) {
355
+ if (path === '.gitignore') { recordPreserved(path, 'project-owned'); continue; }
355
356
  if (aliasedEntrypoint(path)) continue;
356
357
  const current = read(target, path); if (!current) continue;
357
358
  const known = wholeRecords.some(record => record[path] === hash(current));
@@ -412,7 +413,7 @@ export function planInstallation({ target, language = 'pt', mode = 'init', force
412
413
  const retiredRoots = adapterRoots.filter(root => !active.roots.includes(root) && changes.some(change => change.action === 'remove' && change.path.startsWith(`${root}/`) && (previous?.files[change.path] || previous?.blocks[change.path])));
413
414
  const ownedOutputs = [...new Set([...synchronized.ownedOutputs, ...ownedEntrypoints, statePath])].filter(path => !mixedPaths.has(path) && !overlapsPreserved(path));
414
415
  const hashes = {};
415
- for (const [path, digest] of Object.entries(previous?.files || {})) if ((ownedOutputs.includes(path) || !path.startsWith('.pbai4devs/')) && !mixedPaths.has(path) && !overlapsPreserved(path) && !aliasedEntrypoint(path)) hashes[path] = digest;
416
+ for (const [path, digest] of Object.entries(previous?.files || {})) if (path !== '.gitignore' && (ownedOutputs.includes(path) || !path.startsWith('.pbai4devs/')) && !mixedPaths.has(path) && !overlapsPreserved(path) && !aliasedEntrypoint(path)) hashes[path] = digest;
416
417
  for (const path of ownedEntrypoints) { const current = read(target, path); if (current && (previous?.blocks[path] || derivedEntries[path] === hash(current))) hashes[path] = hash(current); }
417
418
  for (const path of Object.keys(previous?.blocks || {})) if (path.endsWith('/.gitignore') && adapterRoots.some(root => path === `${root}/.gitignore`)) {
418
419
  const current = read(target, path);