x-dd 0.1.1__tar.gz

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 (592) hide show
  1. x_dd-0.1.1/.agent/hooks/README.md +88 -0
  2. x_dd-0.1.1/.agent/hooks/hooks.json +184 -0
  3. x_dd-0.1.1/.agent/hooks/scripts/aa-replay-flush.sh +6 -0
  4. x_dd-0.1.1/.agent/hooks/scripts/am-cost-record.sh +6 -0
  5. x_dd-0.1.1/.agent/hooks/scripts/ba-otel-trace-start.sh +6 -0
  6. x_dd-0.1.1/.agent/hooks/scripts/bm-cost-budget-check.sh +6 -0
  7. x_dd-0.1.1/.agent/hooks/scripts/post-bash-pr-logger.sh +25 -0
  8. x_dd-0.1.1/.agent/hooks/scripts/post-edit-mempalace-index.sh +8 -0
  9. x_dd-0.1.1/.agent/hooks/scripts/post-write-auto-organize.sh +42 -0
  10. x_dd-0.1.1/.agent/hooks/scripts/pre-bash-dangerous-command.sh +48 -0
  11. x_dd-0.1.1/.agent/hooks/scripts/pre-edit-config-protection.sh +54 -0
  12. x_dd-0.1.1/.agent/hooks/scripts/pre-llm-budget.sh +21 -0
  13. x_dd-0.1.1/.agent/hooks/scripts/pre-tool-authz.sh +21 -0
  14. x_dd-0.1.1/.agent/hooks/scripts/pre-write-doc-warning.sh +36 -0
  15. x_dd-0.1.1/.agent/hooks/scripts/session-start-context-load.sh +43 -0
  16. x_dd-0.1.1/.agent/hooks/scripts/stop-git-check.sh +19 -0
  17. x_dd-0.1.1/.agent/hooks/scripts/stop-pattern-extraction.sh +54 -0
  18. x_dd-0.1.1/.agent/hooks/scripts/wm-otel-span.sh +6 -0
  19. x_dd-0.1.1/.agent/hooks/scripts/wt-otel-span.sh +6 -0
  20. x_dd-0.1.1/.agent/workflows/README.md +38 -0
  21. x_dd-0.1.1/.agent/workflows/a11y-audit.md +49 -0
  22. x_dd-0.1.1/.agent/workflows/adr-new.md +45 -0
  23. x_dd-0.1.1/.agent/workflows/advanced-agentic-pentesting.md +49 -0
  24. x_dd-0.1.1/.agent/workflows/analisis-impacto.md +110 -0
  25. x_dd-0.1.1/.agent/workflows/analytics-instrument.md +50 -0
  26. x_dd-0.1.1/.agent/workflows/api-contract.md +49 -0
  27. x_dd-0.1.1/.agent/workflows/brainstorm.md +84 -0
  28. x_dd-0.1.1/.agent/workflows/ci-cd-setup.md +77 -0
  29. x_dd-0.1.1/.agent/workflows/cierre-fase.md +73 -0
  30. x_dd-0.1.1/.agent/workflows/clarify.md +88 -0
  31. x_dd-0.1.1/.agent/workflows/code-as-tool.md +89 -0
  32. x_dd-0.1.1/.agent/workflows/contract-test.md +44 -0
  33. x_dd-0.1.1/.agent/workflows/cross-validate.md +75 -0
  34. x_dd-0.1.1/.agent/workflows/data-pipeline.md +51 -0
  35. x_dd-0.1.1/.agent/workflows/db-migrate.md +55 -0
  36. x_dd-0.1.1/.agent/workflows/dependency-update.md +111 -0
  37. x_dd-0.1.1/.agent/workflows/deploy-prod.md +93 -0
  38. x_dd-0.1.1/.agent/workflows/design-system-builder.md +35 -0
  39. x_dd-0.1.1/.agent/workflows/dr-drill.md +50 -0
  40. x_dd-0.1.1/.agent/workflows/evolve.md +80 -0
  41. x_dd-0.1.1/.agent/workflows/fase-requisitos.md +69 -0
  42. x_dd-0.1.1/.agent/workflows/feature-flag.md +50 -0
  43. x_dd-0.1.1/.agent/workflows/finops-baseline.md +46 -0
  44. x_dd-0.1.1/.agent/workflows/generar-flujo.md +78 -0
  45. x_dd-0.1.1/.agent/workflows/generate-unit-tests.md +72 -0
  46. x_dd-0.1.1/.agent/workflows/i18n-setup.md +55 -0
  47. x_dd-0.1.1/.agent/workflows/incidente-ID.md +121 -0
  48. x_dd-0.1.1/.agent/workflows/mejorar-prompt.md +77 -0
  49. x_dd-0.1.1/.agent/workflows/mempalace-sync.md +44 -0
  50. x_dd-0.1.1/.agent/workflows/ml-eval.md +56 -0
  51. x_dd-0.1.1/.agent/workflows/mobile-release.md +56 -0
  52. x_dd-0.1.1/.agent/workflows/observability-init.md +51 -0
  53. x_dd-0.1.1/.agent/workflows/onboard-dev.md +53 -0
  54. x_dd-0.1.1/.agent/workflows/orchestrate.md +45 -0
  55. x_dd-0.1.1/.agent/workflows/perf-budget.md +55 -0
  56. x_dd-0.1.1/.agent/workflows/plan-fases.md +68 -0
  57. x_dd-0.1.1/.agent/workflows/privacy-review.md +56 -0
  58. x_dd-0.1.1/.agent/workflows/project-architecture-gsd.md +86 -0
  59. x_dd-0.1.1/.agent/workflows/pruebas-fuzz.md +110 -0
  60. x_dd-0.1.1/.agent/workflows/pruebas-humo.md +104 -0
  61. x_dd-0.1.1/.agent/workflows/qa-review.md +77 -0
  62. x_dd-0.1.1/.agent/workflows/refactor-area.md +73 -0
  63. x_dd-0.1.1/.agent/workflows/release-cut.md +51 -0
  64. x_dd-0.1.1/.agent/workflows/rollback.md +114 -0
  65. x_dd-0.1.1/.agent/workflows/secure-isolation-ops.md +65 -0
  66. x_dd-0.1.1/.agent/workflows/security-audit.md +77 -0
  67. x_dd-0.1.1/.agent/workflows/skill-template-generator.md +77 -0
  68. x_dd-0.1.1/.agent/workflows/stress-test.md +70 -0
  69. x_dd-0.1.1/.agent/workflows/technical-documentation.md +79 -0
  70. x_dd-0.1.1/.agent/workflows/ux-discovery.md +45 -0
  71. x_dd-0.1.1/.agent/workflows/xdd-build.md +33 -0
  72. x_dd-0.1.1/.agent/workflows/xdd-ingest.md +30 -0
  73. x_dd-0.1.1/.agent/workflows/xdd-trace.md +27 -0
  74. x_dd-0.1.1/.agent/workflows/xdd.md +57 -0
  75. x_dd-0.1.1/.devcontainer/devcontainer.json +45 -0
  76. x_dd-0.1.1/.devcontainer/postCreate.sh +43 -0
  77. x_dd-0.1.1/.editorconfig +29 -0
  78. x_dd-0.1.1/.gitattributes +31 -0
  79. x_dd-0.1.1/.github/ISSUE_TEMPLATE/agent.md +43 -0
  80. x_dd-0.1.1/.github/ISSUE_TEMPLATE/bug.md +48 -0
  81. x_dd-0.1.1/.github/ISSUE_TEMPLATE/feature.md +31 -0
  82. x_dd-0.1.1/.github/ISSUE_TEMPLATE/ide-adapter.md +34 -0
  83. x_dd-0.1.1/.github/PULL_REQUEST_TEMPLATE.md +57 -0
  84. x_dd-0.1.1/.github/renovate.json +39 -0
  85. x_dd-0.1.1/.github/workflows/gitleaks.yml +21 -0
  86. x_dd-0.1.1/.github/workflows/lint-commits.yml +33 -0
  87. x_dd-0.1.1/.github/workflows/lint-markdown.yml +30 -0
  88. x_dd-0.1.1/.github/workflows/lint-shell.yml +31 -0
  89. x_dd-0.1.1/.github/workflows/pypi-publish.yml +72 -0
  90. x_dd-0.1.1/.github/workflows/release.yml +63 -0
  91. x_dd-0.1.1/.github/workflows/tests.yml +61 -0
  92. x_dd-0.1.1/.github/workflows/validate-prompts.yml +53 -0
  93. x_dd-0.1.1/.gitignore +46 -0
  94. x_dd-0.1.1/.markdownlint.yaml +55 -0
  95. x_dd-0.1.1/.pre-commit-config.yaml +44 -0
  96. x_dd-0.1.1/.xdd/briefing/.approvers +1 -0
  97. x_dd-0.1.1/.xdd/briefing/.checksums +4 -0
  98. x_dd-0.1.1/.xdd/briefing/.signature +1 -0
  99. x_dd-0.1.1/.xdd/briefing/.status +1 -0
  100. x_dd-0.1.1/.xdd/briefing/FEATURES.md +85 -0
  101. x_dd-0.1.1/.xdd/briefing/SPEC.md +76 -0
  102. x_dd-0.1.1/.xdd/build/.approvers +1 -0
  103. x_dd-0.1.1/.xdd/build/.checksums +3 -0
  104. x_dd-0.1.1/.xdd/build/.signature +1 -0
  105. x_dd-0.1.1/.xdd/build/.status +1 -0
  106. x_dd-0.1.1/.xdd/build/README.md +10 -0
  107. x_dd-0.1.1/.xdd/plan/.approvers +1 -0
  108. x_dd-0.1.1/.xdd/plan/.checksums +3 -0
  109. x_dd-0.1.1/.xdd/plan/.signature +1 -0
  110. x_dd-0.1.1/.xdd/plan/.status +1 -0
  111. x_dd-0.1.1/.xdd/plan/PLAN.md +81 -0
  112. x_dd-0.1.1/.xdd/qa/.approvers +1 -0
  113. x_dd-0.1.1/.xdd/qa/.checksums +3 -0
  114. x_dd-0.1.1/.xdd/qa/.signature +1 -0
  115. x_dd-0.1.1/.xdd/qa/.status +1 -0
  116. x_dd-0.1.1/.xdd/qa/QA_REPORT.md +102 -0
  117. x_dd-0.1.1/.xdd/retro/.approvers +1 -0
  118. x_dd-0.1.1/.xdd/retro/.checksums +3 -0
  119. x_dd-0.1.1/.xdd/retro/.signature +1 -0
  120. x_dd-0.1.1/.xdd/retro/.status +1 -0
  121. x_dd-0.1.1/.xdd/retro/lecciones.md +85 -0
  122. x_dd-0.1.1/.xdd/spec/.approvers +2 -0
  123. x_dd-0.1.1/.xdd/spec/.checksums +4 -0
  124. x_dd-0.1.1/.xdd/spec/.signature +1 -0
  125. x_dd-0.1.1/.xdd/spec/.status +1 -0
  126. x_dd-0.1.1/.xdd/spec/DOMAIN.md +205 -0
  127. x_dd-0.1.1/.xdd/spec/THREATS.md +144 -0
  128. x_dd-0.1.1/AGENTS.md +119 -0
  129. x_dd-0.1.1/CLAUDE.md +122 -0
  130. x_dd-0.1.1/CODE_OF_CONDUCT.md +117 -0
  131. x_dd-0.1.1/CONTRIBUTING.md +169 -0
  132. x_dd-0.1.1/DEPENDENCIES.md +82 -0
  133. x_dd-0.1.1/INSTALL.md +420 -0
  134. x_dd-0.1.1/LICENSE +21 -0
  135. x_dd-0.1.1/MEJORAS-X-DD.md +816 -0
  136. x_dd-0.1.1/Makefile +66 -0
  137. x_dd-0.1.1/NOTICE +38 -0
  138. x_dd-0.1.1/PKG-INFO +164 -0
  139. x_dd-0.1.1/PROJ-MASTER-PLAN.md +158 -0
  140. x_dd-0.1.1/README.en.md +556 -0
  141. x_dd-0.1.1/README.md +138 -0
  142. x_dd-0.1.1/README.pt-BR.md +556 -0
  143. x_dd-0.1.1/RELEASES/v0.1.0.md +51 -0
  144. x_dd-0.1.1/RELEASES/v0.1.1.md +35 -0
  145. x_dd-0.1.1/SECURITY.md +109 -0
  146. x_dd-0.1.1/VERSION +1 -0
  147. x_dd-0.1.1/WORKING-CONTEXT.md +88 -0
  148. x_dd-0.1.1/agent.yaml +267 -0
  149. x_dd-0.1.1/bundles/security-bundle.xddbundle +0 -0
  150. x_dd-0.1.1/commitlint.config.js +51 -0
  151. x_dd-0.1.1/docs/AHE_EVOLVE.md +93 -0
  152. x_dd-0.1.1/docs/BRANDING.md +157 -0
  153. x_dd-0.1.1/docs/CHANGELOG.md +563 -0
  154. x_dd-0.1.1/docs/CONFIG.md +94 -0
  155. x_dd-0.1.1/docs/CONTEXT_ENGINEERING.md +67 -0
  156. x_dd-0.1.1/docs/EXTERNAL_BENCHMARKS.md +54 -0
  157. x_dd-0.1.1/docs/GATE.md +147 -0
  158. x_dd-0.1.1/docs/HOOKS.md +49 -0
  159. x_dd-0.1.1/docs/IDE_SETUP.md +94 -0
  160. x_dd-0.1.1/docs/INSTALL_PROFILES.md +115 -0
  161. x_dd-0.1.1/docs/INSTALL_VSCODE.md +219 -0
  162. x_dd-0.1.1/docs/MCP_INTEGRATION.md +200 -0
  163. x_dd-0.1.1/docs/MONOREPO.md +92 -0
  164. x_dd-0.1.1/docs/OBSERVABILITY.md +90 -0
  165. x_dd-0.1.1/docs/PENTEST.md +98 -0
  166. x_dd-0.1.1/docs/PERMISSIONS.md +73 -0
  167. x_dd-0.1.1/docs/RETROFIT_GUIDE.md +92 -0
  168. x_dd-0.1.1/docs/SANDBOXING.md +52 -0
  169. x_dd-0.1.1/docs/SKILLS_INTEROP.md +77 -0
  170. x_dd-0.1.1/docs/WORKSPACE.md +58 -0
  171. x_dd-0.1.1/docs/X-DD_Integration_Guide.md +591 -0
  172. x_dd-0.1.1/docs/adr/0000-mapeo-mejoras-pipeline-xdd.md +35 -0
  173. x_dd-0.1.1/docs/adr/0001-dogfooding-visible-commiteable.md +37 -0
  174. x_dd-0.1.1/docs/adr/0002-profile-vs-config-coexisten.md +38 -0
  175. x_dd-0.1.1/docs/adr/0003-python-runtime-gate-keeper.md +38 -0
  176. x_dd-0.1.1/docs/adr/0004-mempalace-dep-externa-no-fork.md +44 -0
  177. x_dd-0.1.1/docs/adr/0005-mcp-preferido-y-server-propio.md +47 -0
  178. x_dd-0.1.1/docs/adr/0006-gate-keeper-firma-hmac.md +37 -0
  179. x_dd-0.1.1/docs/adr/0007-adapters-iniciales-claude-opencode-mcp.md +42 -0
  180. x_dd-0.1.1/docs/adr/0008-consolidacion-xdd-cli-diferida.md +53 -0
  181. x_dd-0.1.1/docs/adr/0009-politica-versionado-xdd-directorio.md +51 -0
  182. x_dd-0.1.1/docs/adr/0010-shannon-external-dep-pentest-operator-naming.md +69 -0
  183. x_dd-0.1.1/docs/adr/0011-white-labeling-policy.md +80 -0
  184. x_dd-0.1.1/docs/adr/0012-workspace-mode-wizard.md +83 -0
  185. x_dd-0.1.1/docs/adr/0013-monorepo-three-modes.md +118 -0
  186. x_dd-0.1.1/docs/adr/0014-sdd-parity-clarify-cross-validate-constitution.md +67 -0
  187. x_dd-0.1.1/docs/adr/0015-ai-pre-commit-review.md +60 -0
  188. x_dd-0.1.1/docs/adr/0016-party-mode-orchestration.md +47 -0
  189. x_dd-0.1.1/docs/adr/0017-web-bundles-distribution.md +96 -0
  190. x_dd-0.1.1/docs/adr/0018-hitl-checkpoints-orchestration.md +64 -0
  191. x_dd-0.1.1/docs/adr/0019-multi-provider-router.md +81 -0
  192. x_dd-0.1.1/docs/adr/0020-community-skills-voting-policy.md +98 -0
  193. x_dd-0.1.1/docs/adr/0021-observability-stack-otel-replay.md +89 -0
  194. x_dd-0.1.1/docs/adr/0022-per-call-cost-tracking.md +76 -0
  195. x_dd-0.1.1/docs/adr/0023-context-budget-policy.md +69 -0
  196. x_dd-0.1.1/docs/adr/0024-compaction-skill.md +88 -0
  197. x_dd-0.1.1/docs/adr/0025-inspect-ai-compatibility.md +56 -0
  198. x_dd-0.1.1/docs/adr/0026-external-benchmark-integration.md +72 -0
  199. x_dd-0.1.1/docs/adr/0027-sandbox-provider-abstraction.md +57 -0
  200. x_dd-0.1.1/docs/adr/0028-permission-model-intent-authz.md +115 -0
  201. x_dd-0.1.1/docs/adr/0029-ahe-evolve-3-layer-observability.md +95 -0
  202. x_dd-0.1.1/docs/adr/0030-a2a-protocol-compat.md +60 -0
  203. x_dd-0.1.1/docs/adr/0031-agui-streaming-spec.md +61 -0
  204. x_dd-0.1.1/docs/adr/0032-skills-migration-plan-act-adapt-orch.md +120 -0
  205. x_dd-0.1.1/docs/adr/0033-gitnexus-tier1-companion.md +113 -0
  206. x_dd-0.1.1/docs/adr/0034-universal-ide-adapter.md +94 -0
  207. x_dd-0.1.1/docs/adr/0035-global-install-architecture.md +109 -0
  208. x_dd-0.1.1/docs/adr/0036-codex-adapter-global-skills.md +90 -0
  209. x_dd-0.1.1/docs/adr/0037-windsurf-adapter-parity.md +186 -0
  210. x_dd-0.1.1/docs/adr/0038-workflow-enforcement-pilot-lessons.md +214 -0
  211. x_dd-0.1.1/docs/adr/0039-global-orchestrator-parity.md +209 -0
  212. x_dd-0.1.1/docs/adr/0040-vscode-global-prompts-discovery.md +197 -0
  213. x_dd-0.1.1/docs/adr/0041-auto-organize-workspace.md +213 -0
  214. x_dd-0.1.1/docs/adr/0042-gitflow-hybrid-trunk-based.md +71 -0
  215. x_dd-0.1.1/docs/adr/0043-pip-installable-supersede-0008.md +59 -0
  216. x_dd-0.1.1/docs/adr/0044-deprecar-mcp-no-necesario.md +62 -0
  217. x_dd-0.1.1/docs/adr/0045-global-cli-pipx.md +57 -0
  218. x_dd-0.1.1/docs/adr/0046-adapters-in-code-ssot.md +58 -0
  219. x_dd-0.1.1/docs/adr/0047-pypi-publish-trusted.md +51 -0
  220. x_dd-0.1.1/docs/adr/0048-modelo-distribucion-update-hibrido.md +101 -0
  221. x_dd-0.1.1/docs/adr/README.md +73 -0
  222. x_dd-0.1.1/docs/archive/sprints/README.md +7 -0
  223. x_dd-0.1.1/docs/archive/sprints/sprint-10/REPORT.md +34 -0
  224. x_dd-0.1.1/docs/archive/sprints/sprint-11/REPORT.md +37 -0
  225. x_dd-0.1.1/docs/archive/sprints/sprint-12/REPORT.md +62 -0
  226. x_dd-0.1.1/docs/archive/sprints/sprint-13/REPORT.md +53 -0
  227. x_dd-0.1.1/docs/archive/sprints/sprint-3/REPORT.md +48 -0
  228. x_dd-0.1.1/docs/archive/sprints/sprint-4/REPORT.md +65 -0
  229. x_dd-0.1.1/docs/archive/sprints/sprint-5/REPORT.md +56 -0
  230. x_dd-0.1.1/docs/archive/sprints/sprint-6/REPORT.md +79 -0
  231. x_dd-0.1.1/docs/archive/sprints/sprint-7/REPORT.md +95 -0
  232. x_dd-0.1.1/docs/archive/sprints/sprint-8/REPORT.md +82 -0
  233. x_dd-0.1.1/docs/archive/sprints/sprint-9/REPORT.md +97 -0
  234. x_dd-0.1.1/docs/constitucion.md +69 -0
  235. x_dd-0.1.1/docs/dev/GUIA_ANTIGRAVITY_AGENTES_SKILLS_WORKFLOWS.md +362 -0
  236. x_dd-0.1.1/docs/dev/GUIA_CLAUDE_CODE_AGENTES_SKILLS_WORKFLOWS.md +767 -0
  237. x_dd-0.1.1/docs/dev/GUIA_CODEX_AGENTES_SKILLS_WORKFLOWS.md +598 -0
  238. x_dd-0.1.1/docs/dev/GUIA_CURSOR_AGENTES_SKILLS_WORKFLOWS.md +670 -0
  239. x_dd-0.1.1/docs/dev/GUIA_OPENCODE_AGENTES_SKILLS_WORKFLOWS.md +741 -0
  240. x_dd-0.1.1/docs/dev/GUIA_VSCODE_AGENTES_SKILLS_WORKFLOWS.md +212 -0
  241. x_dd-0.1.1/docs/dev/GUIA_WINDSURF_AGENTES_SKILLS_WORKFLOWS.md +754 -0
  242. x_dd-0.1.1/docs/dev/README.md +28 -0
  243. x_dd-0.1.1/docs/equipo.md +310 -0
  244. x_dd-0.1.1/docs/research/ECC-inspiration-analysis.md +158 -0
  245. x_dd-0.1.1/docs/research/agents-best-practices-integration.md +26 -0
  246. x_dd-0.1.1/docs/research/awesome-harness-engineering-analysis.md +61 -0
  247. x_dd-0.1.1/evals/external/longmemeval/README.md +21 -0
  248. x_dd-0.1.1/evals/external/longmemeval/cases.jsonl +2 -0
  249. x_dd-0.1.1/evals/external/longmemeval/grader.yaml +3 -0
  250. x_dd-0.1.1/evals/external/promptfoo-compat/README.md +21 -0
  251. x_dd-0.1.1/evals/external/promptfoo-compat/cases.jsonl +2 -0
  252. x_dd-0.1.1/evals/external/promptfoo-compat/grader.yaml +3 -0
  253. x_dd-0.1.1/evals/external/swe-bench-verified/README.md +25 -0
  254. x_dd-0.1.1/evals/external/swe-bench-verified/cases.jsonl +3 -0
  255. x_dd-0.1.1/evals/external/swe-bench-verified/grader.yaml +1 -0
  256. x_dd-0.1.1/evals/external/terminal-bench-2/README.md +45 -0
  257. x_dd-0.1.1/evals/external/terminal-bench-2/cases.jsonl +3 -0
  258. x_dd-0.1.1/evals/external/terminal-bench-2/grader.yaml +1 -0
  259. x_dd-0.1.1/evals/xdd-talk-compact/cases.jsonl +5 -0
  260. x_dd-0.1.1/evals/xdd-talk-compact/grader.yaml +6 -0
  261. x_dd-0.1.1/evals/xdd-talk-compact/reports/latest.json +36 -0
  262. x_dd-0.1.1/install.ps1 +231 -0
  263. x_dd-0.1.1/lecciones.md +264 -0
  264. x_dd-0.1.1/manifests/install-components.json +61 -0
  265. x_dd-0.1.1/manifests/install-modules.json +251 -0
  266. x_dd-0.1.1/manifests/install-profiles.json +131 -0
  267. x_dd-0.1.1/memoria.md +293 -0
  268. x_dd-0.1.1/prompts/agents/academic/academic-anthropologist.md +125 -0
  269. x_dd-0.1.1/prompts/agents/academic/academic-geographer.md +127 -0
  270. x_dd-0.1.1/prompts/agents/academic/academic-historian.md +123 -0
  271. x_dd-0.1.1/prompts/agents/academic/academic-narratologist.md +118 -0
  272. x_dd-0.1.1/prompts/agents/academic/academic-psychologist.md +118 -0
  273. x_dd-0.1.1/prompts/agents/design/design-brand-guardian.md +322 -0
  274. x_dd-0.1.1/prompts/agents/design/design-image-prompt-engineer.md +236 -0
  275. x_dd-0.1.1/prompts/agents/design/design-inclusive-visuals-specialist.md +71 -0
  276. x_dd-0.1.1/prompts/agents/design/design-ui-designer.md +383 -0
  277. x_dd-0.1.1/prompts/agents/design/design-ux-architect.md +469 -0
  278. x_dd-0.1.1/prompts/agents/design/design-ux-researcher.md +329 -0
  279. x_dd-0.1.1/prompts/agents/design/design-visual-storyteller.md +149 -0
  280. x_dd-0.1.1/prompts/agents/design/design-whimsy-injector.md +438 -0
  281. x_dd-0.1.1/prompts/agents/engineering/engineering-ai-data-remediation-engineer.md +211 -0
  282. x_dd-0.1.1/prompts/agents/engineering/engineering-ai-engineer.md +146 -0
  283. x_dd-0.1.1/prompts/agents/engineering/engineering-autonomous-optimization-architect.md +107 -0
  284. x_dd-0.1.1/prompts/agents/engineering/engineering-backend-architect.md +235 -0
  285. x_dd-0.1.1/prompts/agents/engineering/engineering-chaos-engineer.md +41 -0
  286. x_dd-0.1.1/prompts/agents/engineering/engineering-cms-developer.md +536 -0
  287. x_dd-0.1.1/prompts/agents/engineering/engineering-code-reviewer.md +76 -0
  288. x_dd-0.1.1/prompts/agents/engineering/engineering-codebase-onboarding-engineer.md +173 -0
  289. x_dd-0.1.1/prompts/agents/engineering/engineering-data-engineer.md +306 -0
  290. x_dd-0.1.1/prompts/agents/engineering/engineering-database-optimizer.md +176 -0
  291. x_dd-0.1.1/prompts/agents/engineering/engineering-devops-automator.md +376 -0
  292. x_dd-0.1.1/prompts/agents/engineering/engineering-email-intelligence-engineer.md +353 -0
  293. x_dd-0.1.1/prompts/agents/engineering/engineering-embedded-firmware-engineer.md +173 -0
  294. x_dd-0.1.1/prompts/agents/engineering/engineering-feature-flag-manager.md +43 -0
  295. x_dd-0.1.1/prompts/agents/engineering/engineering-feishu-integration-developer.md +598 -0
  296. x_dd-0.1.1/prompts/agents/engineering/engineering-filament-optimization-specialist.md +283 -0
  297. x_dd-0.1.1/prompts/agents/engineering/engineering-finops-architect.md +45 -0
  298. x_dd-0.1.1/prompts/agents/engineering/engineering-frontend-developer.md +225 -0
  299. x_dd-0.1.1/prompts/agents/engineering/engineering-git-workflow-master.md +84 -0
  300. x_dd-0.1.1/prompts/agents/engineering/engineering-i18n-engineer.md +42 -0
  301. x_dd-0.1.1/prompts/agents/engineering/engineering-incident-response-commander.md +444 -0
  302. x_dd-0.1.1/prompts/agents/engineering/engineering-minimal-change-engineer.md +207 -0
  303. x_dd-0.1.1/prompts/agents/engineering/engineering-mobile-app-builder.md +493 -0
  304. x_dd-0.1.1/prompts/agents/engineering/engineering-rapid-prototyper.md +462 -0
  305. x_dd-0.1.1/prompts/agents/engineering/engineering-security-engineer.md +304 -0
  306. x_dd-0.1.1/prompts/agents/engineering/engineering-senior-developer.md +176 -0
  307. x_dd-0.1.1/prompts/agents/engineering/engineering-software-architect.md +81 -0
  308. x_dd-0.1.1/prompts/agents/engineering/engineering-solidity-smart-contract-engineer.md +522 -0
  309. x_dd-0.1.1/prompts/agents/engineering/engineering-sre.md +90 -0
  310. x_dd-0.1.1/prompts/agents/engineering/engineering-technical-writer.md +393 -0
  311. x_dd-0.1.1/prompts/agents/engineering/engineering-threat-detection-engineer.md +534 -0
  312. x_dd-0.1.1/prompts/agents/engineering/engineering-voice-ai-integration-engineer.md +561 -0
  313. x_dd-0.1.1/prompts/agents/engineering/engineering-wechat-mini-program-developer.md +350 -0
  314. x_dd-0.1.1/prompts/agents/finance/finance-bookkeeper-controller.md +260 -0
  315. x_dd-0.1.1/prompts/agents/finance/finance-financial-analyst.md +234 -0
  316. x_dd-0.1.1/prompts/agents/finance/finance-fpa-analyst.md +263 -0
  317. x_dd-0.1.1/prompts/agents/finance/finance-investment-researcher.md +272 -0
  318. x_dd-0.1.1/prompts/agents/finance/finance-tax-strategist.md +239 -0
  319. x_dd-0.1.1/prompts/agents/game-development/game-audio-engineer.md +264 -0
  320. x_dd-0.1.1/prompts/agents/game-development/game-designer.md +167 -0
  321. x_dd-0.1.1/prompts/agents/game-development/level-designer.md +208 -0
  322. x_dd-0.1.1/prompts/agents/game-development/narrative-designer.md +243 -0
  323. x_dd-0.1.1/prompts/agents/game-development/technical-artist.md +229 -0
  324. x_dd-0.1.1/prompts/agents/marketing/marketing-agentic-search-optimizer.md +311 -0
  325. x_dd-0.1.1/prompts/agents/marketing/marketing-ai-citation-strategist.md +170 -0
  326. x_dd-0.1.1/prompts/agents/marketing/marketing-app-store-optimizer.md +321 -0
  327. x_dd-0.1.1/prompts/agents/marketing/marketing-baidu-seo-specialist.md +226 -0
  328. x_dd-0.1.1/prompts/agents/marketing/marketing-bilibili-content-strategist.md +199 -0
  329. x_dd-0.1.1/prompts/agents/marketing/marketing-book-co-author.md +110 -0
  330. x_dd-0.1.1/prompts/agents/marketing/marketing-carousel-growth-engine.md +199 -0
  331. x_dd-0.1.1/prompts/agents/marketing/marketing-china-ecommerce-operator.md +283 -0
  332. x_dd-0.1.1/prompts/agents/marketing/marketing-china-market-localization-strategist.md +283 -0
  333. x_dd-0.1.1/prompts/agents/marketing/marketing-content-creator.md +54 -0
  334. x_dd-0.1.1/prompts/agents/marketing/marketing-cross-border-ecommerce.md +259 -0
  335. x_dd-0.1.1/prompts/agents/marketing/marketing-douyin-strategist.md +149 -0
  336. x_dd-0.1.1/prompts/agents/marketing/marketing-growth-hacker.md +54 -0
  337. x_dd-0.1.1/prompts/agents/marketing/marketing-instagram-curator.md +113 -0
  338. x_dd-0.1.1/prompts/agents/marketing/marketing-kuaishou-strategist.md +223 -0
  339. x_dd-0.1.1/prompts/agents/marketing/marketing-linkedin-content-creator.md +214 -0
  340. x_dd-0.1.1/prompts/agents/marketing/marketing-livestream-commerce-coach.md +305 -0
  341. x_dd-0.1.1/prompts/agents/marketing/marketing-podcast-strategist.md +277 -0
  342. x_dd-0.1.1/prompts/agents/marketing/marketing-private-domain-operator.md +308 -0
  343. x_dd-0.1.1/prompts/agents/marketing/marketing-reddit-community-builder.md +123 -0
  344. x_dd-0.1.1/prompts/agents/marketing/marketing-seo-specialist.md +321 -0
  345. x_dd-0.1.1/prompts/agents/marketing/marketing-short-video-editing-coach.md +412 -0
  346. x_dd-0.1.1/prompts/agents/marketing/marketing-social-media-strategist.md +125 -0
  347. x_dd-0.1.1/prompts/agents/marketing/marketing-tiktok-strategist.md +125 -0
  348. x_dd-0.1.1/prompts/agents/marketing/marketing-twitter-engager.md +126 -0
  349. x_dd-0.1.1/prompts/agents/marketing/marketing-video-optimization-specialist.md +119 -0
  350. x_dd-0.1.1/prompts/agents/marketing/marketing-wechat-official-account.md +145 -0
  351. x_dd-0.1.1/prompts/agents/marketing/marketing-weibo-strategist.md +240 -0
  352. x_dd-0.1.1/prompts/agents/marketing/marketing-xiaohongshu-specialist.md +138 -0
  353. x_dd-0.1.1/prompts/agents/marketing/marketing-zhihu-strategist.md +162 -0
  354. x_dd-0.1.1/prompts/agents/paid-media/paid-media-auditor.md +71 -0
  355. x_dd-0.1.1/prompts/agents/paid-media/paid-media-creative-strategist.md +71 -0
  356. x_dd-0.1.1/prompts/agents/paid-media/paid-media-paid-social-strategist.md +71 -0
  357. x_dd-0.1.1/prompts/agents/paid-media/paid-media-ppc-strategist.md +71 -0
  358. x_dd-0.1.1/prompts/agents/paid-media/paid-media-programmatic-buyer.md +71 -0
  359. x_dd-0.1.1/prompts/agents/paid-media/paid-media-search-query-analyst.md +71 -0
  360. x_dd-0.1.1/prompts/agents/paid-media/paid-media-tracking-specialist.md +71 -0
  361. x_dd-0.1.1/prompts/agents/product/product-analytics-architect.md +43 -0
  362. x_dd-0.1.1/prompts/agents/product/product-behavioral-nudge-engine.md +80 -0
  363. x_dd-0.1.1/prompts/agents/product/product-feedback-synthesizer.md +119 -0
  364. x_dd-0.1.1/prompts/agents/product/product-manager.md +469 -0
  365. x_dd-0.1.1/prompts/agents/product/product-sprint-prioritizer.md +154 -0
  366. x_dd-0.1.1/prompts/agents/product/product-trend-researcher.md +159 -0
  367. x_dd-0.1.1/prompts/agents/project-management/project-management-experiment-tracker.md +198 -0
  368. x_dd-0.1.1/prompts/agents/project-management/project-management-jira-workflow-steward.md +230 -0
  369. x_dd-0.1.1/prompts/agents/project-management/project-management-project-shepherd.md +194 -0
  370. x_dd-0.1.1/prompts/agents/project-management/project-management-studio-operations.md +200 -0
  371. x_dd-0.1.1/prompts/agents/project-management/project-management-studio-producer.md +203 -0
  372. x_dd-0.1.1/prompts/agents/project-management/project-manager-senior.md +135 -0
  373. x_dd-0.1.1/prompts/agents/project-management/release-manager.md +44 -0
  374. x_dd-0.1.1/prompts/agents/registry.json +3505 -0
  375. x_dd-0.1.1/prompts/agents/registry.schema.json +115 -0
  376. x_dd-0.1.1/prompts/agents/sales/sales-account-strategist.md +227 -0
  377. x_dd-0.1.1/prompts/agents/sales/sales-coach.md +271 -0
  378. x_dd-0.1.1/prompts/agents/sales/sales-deal-strategist.md +180 -0
  379. x_dd-0.1.1/prompts/agents/sales/sales-discovery-coach.md +225 -0
  380. x_dd-0.1.1/prompts/agents/sales/sales-engineer.md +182 -0
  381. x_dd-0.1.1/prompts/agents/sales/sales-outbound-strategist.md +201 -0
  382. x_dd-0.1.1/prompts/agents/sales/sales-pipeline-analyst.md +267 -0
  383. x_dd-0.1.1/prompts/agents/sales/sales-proposal-strategist.md +217 -0
  384. x_dd-0.1.1/prompts/agents/security/README.md +29 -0
  385. x_dd-0.1.1/prompts/agents/security/privacy-engineer.md +46 -0
  386. x_dd-0.1.1/prompts/agents/security/security-pentest-operator.md +153 -0
  387. x_dd-0.1.1/prompts/agents/spatial-computing/macos-spatial-metal-engineer.md +337 -0
  388. x_dd-0.1.1/prompts/agents/spatial-computing/terminal-integration-specialist.md +70 -0
  389. x_dd-0.1.1/prompts/agents/spatial-computing/visionos-spatial-engineer.md +54 -0
  390. x_dd-0.1.1/prompts/agents/spatial-computing/xr-cockpit-interaction-specialist.md +32 -0
  391. x_dd-0.1.1/prompts/agents/spatial-computing/xr-immersive-developer.md +32 -0
  392. x_dd-0.1.1/prompts/agents/spatial-computing/xr-interface-architect.md +32 -0
  393. x_dd-0.1.1/prompts/agents/specialized/accounts-payable-agent.md +185 -0
  394. x_dd-0.1.1/prompts/agents/specialized/agentic-identity-trust.md +387 -0
  395. x_dd-0.1.1/prompts/agents/specialized/agents-orchestrator.md +367 -0
  396. x_dd-0.1.1/prompts/agents/specialized/automation-governance-architect.md +216 -0
  397. x_dd-0.1.1/prompts/agents/specialized/blockchain-security-auditor.md +463 -0
  398. x_dd-0.1.1/prompts/agents/specialized/compliance-auditor.md +158 -0
  399. x_dd-0.1.1/prompts/agents/specialized/corporate-training-designer.md +192 -0
  400. x_dd-0.1.1/prompts/agents/specialized/customer-service.md +398 -0
  401. x_dd-0.1.1/prompts/agents/specialized/data-consolidation-agent.md +60 -0
  402. x_dd-0.1.1/prompts/agents/specialized/government-digital-presales-consultant.md +363 -0
  403. x_dd-0.1.1/prompts/agents/specialized/healthcare-customer-service.md +389 -0
  404. x_dd-0.1.1/prompts/agents/specialized/healthcare-marketing-compliance.md +395 -0
  405. x_dd-0.1.1/prompts/agents/specialized/hospitality-guest-services.md +603 -0
  406. x_dd-0.1.1/prompts/agents/specialized/hr-onboarding.md +451 -0
  407. x_dd-0.1.1/prompts/agents/specialized/identity-graph-operator.md +260 -0
  408. x_dd-0.1.1/prompts/agents/specialized/language-translator.md +264 -0
  409. x_dd-0.1.1/prompts/agents/specialized/legal-billing-time-tracking.md +569 -0
  410. x_dd-0.1.1/prompts/agents/specialized/legal-client-intake.md +492 -0
  411. x_dd-0.1.1/prompts/agents/specialized/legal-document-review.md +454 -0
  412. x_dd-0.1.1/prompts/agents/specialized/loan-officer-assistant.md +555 -0
  413. x_dd-0.1.1/prompts/agents/specialized/lsp-index-engineer.md +314 -0
  414. x_dd-0.1.1/prompts/agents/specialized/real-estate-buyer-seller.md +596 -0
  415. x_dd-0.1.1/prompts/agents/specialized/recruitment-specialist.md +509 -0
  416. x_dd-0.1.1/prompts/agents/specialized/report-distribution-agent.md +65 -0
  417. x_dd-0.1.1/prompts/agents/specialized/retail-customer-returns.md +566 -0
  418. x_dd-0.1.1/prompts/agents/specialized/sales-data-extraction-agent.md +67 -0
  419. x_dd-0.1.1/prompts/agents/specialized/sales-outreach.md +425 -0
  420. x_dd-0.1.1/prompts/agents/specialized/specialized-chief-of-staff.md +279 -0
  421. x_dd-0.1.1/prompts/agents/specialized/specialized-civil-engineer.md +356 -0
  422. x_dd-0.1.1/prompts/agents/specialized/specialized-cultural-intelligence-strategist.md +88 -0
  423. x_dd-0.1.1/prompts/agents/specialized/specialized-developer-advocate.md +317 -0
  424. x_dd-0.1.1/prompts/agents/specialized/specialized-document-generator.md +55 -0
  425. x_dd-0.1.1/prompts/agents/specialized/specialized-french-consulting-market.md +192 -0
  426. x_dd-0.1.1/prompts/agents/specialized/specialized-korean-business-navigator.md +216 -0
  427. x_dd-0.1.1/prompts/agents/specialized/specialized-mcp-builder.md +248 -0
  428. x_dd-0.1.1/prompts/agents/specialized/specialized-model-qa.md +488 -0
  429. x_dd-0.1.1/prompts/agents/specialized/specialized-salesforce-architect.md +180 -0
  430. x_dd-0.1.1/prompts/agents/specialized/specialized-workflow-architect.md +597 -0
  431. x_dd-0.1.1/prompts/agents/specialized/study-abroad-advisor.md +282 -0
  432. x_dd-0.1.1/prompts/agents/specialized/supply-chain-strategist.md +582 -0
  433. x_dd-0.1.1/prompts/agents/specialized/zk-steward.md +211 -0
  434. x_dd-0.1.1/prompts/agents/strategy/EXECUTIVE-BRIEF.md +95 -0
  435. x_dd-0.1.1/prompts/agents/strategy/QUICKSTART.md +194 -0
  436. x_dd-0.1.1/prompts/agents/strategy/nexus-strategy.md +1110 -0
  437. x_dd-0.1.1/prompts/agents/support/support-analytics-reporter.md +365 -0
  438. x_dd-0.1.1/prompts/agents/support/support-dev-onboarding-coach.md +41 -0
  439. x_dd-0.1.1/prompts/agents/support/support-end-user-docs-writer.md +42 -0
  440. x_dd-0.1.1/prompts/agents/support/support-executive-summary-generator.md +212 -0
  441. x_dd-0.1.1/prompts/agents/support/support-finance-tracker.md +442 -0
  442. x_dd-0.1.1/prompts/agents/support/support-infrastructure-maintainer.md +618 -0
  443. x_dd-0.1.1/prompts/agents/support/support-legal-compliance-checker.md +588 -0
  444. x_dd-0.1.1/prompts/agents/support/support-support-responder.md +585 -0
  445. x_dd-0.1.1/prompts/agents/testing/testing-accessibility-auditor.md +316 -0
  446. x_dd-0.1.1/prompts/agents/testing/testing-api-tester.md +306 -0
  447. x_dd-0.1.1/prompts/agents/testing/testing-contract-testing-engineer.md +41 -0
  448. x_dd-0.1.1/prompts/agents/testing/testing-evidence-collector.md +210 -0
  449. x_dd-0.1.1/prompts/agents/testing/testing-performance-benchmarker.md +268 -0
  450. x_dd-0.1.1/prompts/agents/testing/testing-reality-checker.md +236 -0
  451. x_dd-0.1.1/prompts/agents/testing/testing-test-results-analyzer.md +305 -0
  452. x_dd-0.1.1/prompts/agents/testing/testing-tool-evaluator.md +394 -0
  453. x_dd-0.1.1/prompts/agents/testing/testing-workflow-optimizer.md +450 -0
  454. x_dd-0.1.1/prompts/ecosystem/01_ecosystem_structure.md +132 -0
  455. x_dd-0.1.1/prompts/orchestrator/personas/casual.md +28 -0
  456. x_dd-0.1.1/prompts/orchestrator/personas/formal.md +29 -0
  457. x_dd-0.1.1/prompts/orchestrator/personas/friendly.md +29 -0
  458. x_dd-0.1.1/prompts/orchestrator/personas/technical.md +29 -0
  459. x_dd-0.1.1/prompts/phases/atdd_01_acceptance_stubs.md +48 -0
  460. x_dd-0.1.1/prompts/phases/bdd_01_feature_generator.md +50 -0
  461. x_dd-0.1.1/prompts/phases/bdd_02_qa_reporter.md +74 -0
  462. x_dd-0.1.1/prompts/phases/ddd_01_domain_model.md +60 -0
  463. x_dd-0.1.1/prompts/phases/fdd_01_feature_catalog.md +46 -0
  464. x_dd-0.1.1/prompts/phases/fdd_02_plan_features.md +56 -0
  465. x_dd-0.1.1/prompts/phases/memoria_01_learning_loop.md +64 -0
  466. x_dd-0.1.1/prompts/phases/sec_01_threat_model.md +58 -0
  467. x_dd-0.1.1/prompts/phases/sec_02_stdd_hardening.md +58 -0
  468. x_dd-0.1.1/prompts/phases/sec_03_devsecops_scan.md +78 -0
  469. x_dd-0.1.1/prompts/phases/sec_04_shannon_red_team.md +74 -0
  470. x_dd-0.1.1/prompts/phases/tdd_01_red_green_refactor.md +69 -0
  471. x_dd-0.1.1/prompts/phases/xdd_agency_matrix.md +31 -0
  472. x_dd-0.1.1/prompts/skills/02_skills_catalog.md +51 -0
  473. x_dd-0.1.1/prompts/skills/registry.json +60 -0
  474. x_dd-0.1.1/prompts/templates/04_templates_guide.md +57 -0
  475. x_dd-0.1.1/prompts/workflows/03_workflows_catalog.md +105 -0
  476. x_dd-0.1.1/pyproject.toml +53 -0
  477. x_dd-0.1.1/requirements-dev.txt +5 -0
  478. x_dd-0.1.1/schemas/hooks.schema.json +51 -0
  479. x_dd-0.1.1/schemas/install-components.schema.json +32 -0
  480. x_dd-0.1.1/schemas/install-modules.schema.json +41 -0
  481. x_dd-0.1.1/schemas/install-profiles.schema.json +34 -0
  482. x_dd-0.1.1/schemas/skills.schema.json +32 -0
  483. x_dd-0.1.1/schemas/xdd.config.schema.json +183 -0
  484. x_dd-0.1.1/schemas/xdd.profile.schema.json +105 -0
  485. x_dd-0.1.1/scripts/_xdd_common.py +68 -0
  486. x_dd-0.1.1/scripts/generate-equipo.sh +131 -0
  487. x_dd-0.1.1/scripts/hooks/post-commit +10 -0
  488. x_dd-0.1.1/scripts/lint-workflows.sh +72 -0
  489. x_dd-0.1.1/scripts/migrate-agents-to-registry.py +197 -0
  490. x_dd-0.1.1/scripts/validate-registry.py +115 -0
  491. x_dd-0.1.1/scripts/xdd-a2a.py +167 -0
  492. x_dd-0.1.1/scripts/xdd-adapt.sh +712 -0
  493. x_dd-0.1.1/scripts/xdd-agui.py +154 -0
  494. x_dd-0.1.1/scripts/xdd-authz.py +194 -0
  495. x_dd-0.1.1/scripts/xdd-brand.sh +169 -0
  496. x_dd-0.1.1/scripts/xdd-bundle.py +261 -0
  497. x_dd-0.1.1/scripts/xdd-context.py +201 -0
  498. x_dd-0.1.1/scripts/xdd-cost.py +256 -0
  499. x_dd-0.1.1/scripts/xdd-doctor.sh +281 -0
  500. x_dd-0.1.1/scripts/xdd-eval.py +309 -0
  501. x_dd-0.1.1/scripts/xdd-flow.py +247 -0
  502. x_dd-0.1.1/scripts/xdd-frozen-transfer.py +206 -0
  503. x_dd-0.1.1/scripts/xdd-gate.py +384 -0
  504. x_dd-0.1.1/scripts/xdd-global-install.sh +412 -0
  505. x_dd-0.1.1/scripts/xdd-init.sh +287 -0
  506. x_dd-0.1.1/scripts/xdd-intent.py +204 -0
  507. x_dd-0.1.1/scripts/xdd-mcp-install-global.sh +119 -0
  508. x_dd-0.1.1/scripts/xdd-meta-eval.py +192 -0
  509. x_dd-0.1.1/scripts/xdd-monorepo.sh +104 -0
  510. x_dd-0.1.1/scripts/xdd-orchestrate.py +311 -0
  511. x_dd-0.1.1/scripts/xdd-organize.sh +293 -0
  512. x_dd-0.1.1/scripts/xdd-otel.py +234 -0
  513. x_dd-0.1.1/scripts/xdd-pentest.sh +127 -0
  514. x_dd-0.1.1/scripts/xdd-provider.py +161 -0
  515. x_dd-0.1.1/scripts/xdd-replay.py +233 -0
  516. x_dd-0.1.1/scripts/xdd-router.py +190 -0
  517. x_dd-0.1.1/scripts/xdd-shield.py +292 -0
  518. x_dd-0.1.1/scripts/xdd-start.sh +92 -0
  519. x_dd-0.1.1/scripts/xdd-state.py +472 -0
  520. x_dd-0.1.1/scripts/xdd-trace-summarize.py +203 -0
  521. x_dd-0.1.1/scripts/xdd-wizard.sh +223 -0
  522. x_dd-0.1.1/scripts/xdd_adapters.py +193 -0
  523. x_dd-0.1.1/skills/agent-eval/SKILL.md +70 -0
  524. x_dd-0.1.1/skills/xdd-ai-review/SKILL.md +95 -0
  525. x_dd-0.1.1/skills/xdd-compact/SKILL.md +95 -0
  526. x_dd-0.1.1/skills/xdd-fs-context/SKILL.md +99 -0
  527. x_dd-0.1.1/skills/xdd-sandbox/SKILL.md +67 -0
  528. x_dd-0.1.1/skills/xdd-talk-compact/SKILL.md +103 -0
  529. x_dd-0.1.1/src/xdd_cli/__init__.py +143 -0
  530. x_dd-0.1.1/templates/adr.template.md +24 -0
  531. x_dd-0.1.1/templates/auto-organize.template.yml +149 -0
  532. x_dd-0.1.1/templates/budget.template.md +52 -0
  533. x_dd-0.1.1/templates/constitution.template.md +91 -0
  534. x_dd-0.1.1/templates/constitution.template.yml +90 -0
  535. x_dd-0.1.1/templates/discovery.template.md +36 -0
  536. x_dd-0.1.1/templates/dr-plan.template.md +48 -0
  537. x_dd-0.1.1/templates/events.schema.template.json +59 -0
  538. x_dd-0.1.1/templates/flags.template.md +40 -0
  539. x_dd-0.1.1/templates/lecciones.template.md +23 -0
  540. x_dd-0.1.1/templates/memoria.template.md +33 -0
  541. x_dd-0.1.1/templates/onboarding.template.md +44 -0
  542. x_dd-0.1.1/templates/privacy.template.md +37 -0
  543. x_dd-0.1.1/templates/release-notes.template.md +30 -0
  544. x_dd-0.1.1/templates/runbook.template.md +40 -0
  545. x_dd-0.1.1/templates/xdd.profile.template.yml +46 -0
  546. x_dd-0.1.1/templates/xdd.profile.with-branding.yml +27 -0
  547. x_dd-0.1.1/tests/bats/hooks.bats +70 -0
  548. x_dd-0.1.1/tests/bats/xdd-adapt-windsurf.bats +134 -0
  549. x_dd-0.1.1/tests/bats/xdd-adapt.bats +205 -0
  550. x_dd-0.1.1/tests/bats/xdd-brand.bats +109 -0
  551. x_dd-0.1.1/tests/bats/xdd-doctor.bats +44 -0
  552. x_dd-0.1.1/tests/bats/xdd-flow.bats +47 -0
  553. x_dd-0.1.1/tests/bats/xdd-global-install.bats +219 -0
  554. x_dd-0.1.1/tests/bats/xdd-init-sprint28.bats +122 -0
  555. x_dd-0.1.1/tests/bats/xdd-init.bats +71 -0
  556. x_dd-0.1.1/tests/bats/xdd-mcp-install-global.bats +69 -0
  557. x_dd-0.1.1/tests/bats/xdd-monorepo.bats +110 -0
  558. x_dd-0.1.1/tests/bats/xdd-organize.bats +177 -0
  559. x_dd-0.1.1/tests/bats/xdd-wizard.bats +54 -0
  560. x_dd-0.1.1/tests/e2e/test_quickstart.bats +106 -0
  561. x_dd-0.1.1/tests/test_adapters.py +113 -0
  562. x_dd-0.1.1/tests/test_ahe.py +179 -0
  563. x_dd-0.1.1/tests/test_authz.py +95 -0
  564. x_dd-0.1.1/tests/test_context.py +93 -0
  565. x_dd-0.1.1/tests/test_cost.py +112 -0
  566. x_dd-0.1.1/tests/test_eval.py +147 -0
  567. x_dd-0.1.1/tests/test_eval_external.py +151 -0
  568. x_dd-0.1.1/tests/test_flow.py +157 -0
  569. x_dd-0.1.1/tests/test_gate.py +232 -0
  570. x_dd-0.1.1/tests/test_intent.py +77 -0
  571. x_dd-0.1.1/tests/test_manifests.py +126 -0
  572. x_dd-0.1.1/tests/test_mcp_local_first.py +117 -0
  573. x_dd-0.1.1/tests/test_mcp_server.py +155 -0
  574. x_dd-0.1.1/tests/test_orchestrate.py +197 -0
  575. x_dd-0.1.1/tests/test_otel.py +99 -0
  576. x_dd-0.1.1/tests/test_packaging.py +83 -0
  577. x_dd-0.1.1/tests/test_protocols_bundle.py +222 -0
  578. x_dd-0.1.1/tests/test_provider.py +108 -0
  579. x_dd-0.1.1/tests/test_replay.py +85 -0
  580. x_dd-0.1.1/tests/test_router.py +78 -0
  581. x_dd-0.1.1/tests/test_shield.py +78 -0
  582. x_dd-0.1.1/tests/test_state.py +290 -0
  583. x_dd-0.1.1/tests/test_version_consistency.py +91 -0
  584. x_dd-0.1.1/the-longform-guide.md +374 -0
  585. x_dd-0.1.1/the-security-guide.md +201 -0
  586. x_dd-0.1.1/the-shortform-guide.md +224 -0
  587. x_dd-0.1.1/xdd-mcp-server/__init__.py +6 -0
  588. x_dd-0.1.1/xdd-mcp-server/__main__.py +45 -0
  589. x_dd-0.1.1/xdd-mcp-server/server.py +124 -0
  590. x_dd-0.1.1/xdd-mcp-server/tools.py +299 -0
  591. x_dd-0.1.1/xdd.config.yml +83 -0
  592. x_dd-0.1.1/xdd.profile.yml +37 -0
@@ -0,0 +1,88 @@
1
+ # X-DD Hooks
2
+
3
+ Catálogo de hooks event-driven inspirado en ECC (Sprint 7).
4
+ Definidos en [`hooks.json`](hooks.json) y validados contra
5
+ [`schemas/hooks.schema.json`](../../schemas/hooks.schema.json).
6
+
7
+ ## Eventos soportados
8
+
9
+ - **PreToolUse** — antes de ejecutar tool. Puede bloquear (`exit_on_match: 2`).
10
+ - **PostToolUse** — después. No bloquea; útil para indexar / loguear.
11
+ - **SessionStart** — al iniciar sesión del orquestador.
12
+ - **SessionEnd** — al cerrar sesión (cleanup).
13
+ - **Stop** — al finalizar respuesta del agente.
14
+ - **PreCompact** — antes de compactar contexto.
15
+
16
+ ## Profiles
17
+
18
+ Cada hook declara en qué profiles aplica: `minimal | standard | strict`.
19
+ Configurable vía env:
20
+
21
+ ```bash
22
+ export XDD_HOOK_PROFILE=standard # default
23
+ ```
24
+
25
+ ## Catálogo v0.1.0
26
+
27
+ | ID | Evento | Profile | Comportamiento |
28
+ |----|--------|---------|----------------|
29
+ | `pre:bash:dangerous-command` | PreToolUse `Bash` | standard, strict | **Bloquea** `rm -rf /`, `git push --force`, `git reset --hard origin/...`, `chmod 777`, `curl \| sh`, fork bombs, `dd >/dev/sda` |
30
+ | `pre:edit:config-protection` | PreToolUse `Edit\|Write` | strict | **Bloquea** edición de configs sensibles (linters, schemas). Override: `XDD_ALLOW_CONFIG_EDIT=1` |
31
+ | `pre:write:doc-file-warning` | PreToolUse `Write` | standard, strict | Advierte sobre `.md` fuera de paths canónicos (no bloquea) |
32
+ | `post:edit:mempalace-index` | PostToolUse `Edit\|Write\|NotebookEdit` | minimal+ | Re-indexa MemPalace en background |
33
+ | `post:bash:pr-logger` | PostToolUse `Bash` | standard, strict | Loguea URL de PR tras `gh pr create` en `~/.xdd/pr-history.log` |
34
+ | `session-start:context-load` | SessionStart | standard, strict | Imprime `WORKING-CONTEXT.md` + última sesión de `memoria.md` |
35
+ | `stop:git-check` | Stop | standard, strict | Advierte si hay cambios sin commitear/pushear |
36
+ | `stop:pattern-extraction` | Stop | strict | Stub para Sprint 9 (Continuous Learning) |
37
+
38
+ ## Instalación
39
+
40
+ ```bash
41
+ # Manual (futuro: vía manifests, Sprint 7.3)
42
+ cp -r .agent/hooks/scripts ~/.claude/hooks/
43
+ # O via xdd-adapt.sh (próxima iteración)
44
+ ```
45
+
46
+ Los hooks usan `bash` puro (sin Node) para portabilidad. Reciben JSON por
47
+ stdin con `{tool_name, tool_input, tool_output?}`. Salida:
48
+ - `exit 0` — permitir y continuar
49
+ - `exit 2` — **bloquear** la herramienta (solo PreToolUse)
50
+ - otro código — error logueado, no bloquea
51
+
52
+ ## Variables de entorno
53
+
54
+ | Var | Default | Efecto |
55
+ |-----|---------|--------|
56
+ | `XDD_HOOK_PROFILE` | `standard` | `minimal\|standard\|strict` |
57
+ | `XDD_DISABLED_HOOKS` | (vacío) | CSV de IDs a desactivar, ej `pre:bash:dangerous-command,stop:git-check` |
58
+ | `XDD_ALLOW_CONFIG_EDIT` | `0` | `1` permite editar configs protegidos |
59
+ | `XDD_SESSION_START_MAX_CHARS` | `8000` | cap del contexto inicial cargado |
60
+
61
+ ## Tests
62
+
63
+ ```bash
64
+ # Manual quick-check
65
+ echo '{"tool_input":{"command":"rm -rf /"}}' | bash .agent/hooks/scripts/pre-bash-dangerous-command.sh
66
+ # → BLOCKED + exit 2
67
+
68
+ echo '{"tool_input":{"file_path":".markdownlint.yaml"}}' | bash .agent/hooks/scripts/pre-edit-config-protection.sh
69
+ # → BLOCKED + exit 2
70
+
71
+ # Suite bats (Sprint 7.5)
72
+ bats tests/hooks/
73
+ ```
74
+
75
+ ## Crear un hook propio
76
+
77
+ 1. Escribir script bash/node en `.agent/hooks/scripts/`.
78
+ 2. Registrar entry en `.agent/hooks/hooks.json` siguiendo el schema.
79
+ 3. Validar: `python3 -c "import json,jsonschema; jsonschema.validate(json.load(open('.agent/hooks/hooks.json')), json.load(open('schemas/hooks.schema.json')))"`.
80
+ 4. Test manual con stdin.
81
+
82
+ ## Threat model coverage
83
+
84
+ Los hooks mitigan amenazas listadas en [.xdd/spec/THREATS.md](../../.xdd/spec/THREATS.md):
85
+
86
+ - **T2.6** (hook ejecutando script malicioso) — `pre:edit:config-protection` defiende los configs de linters/CI
87
+ - **T6.2** (workflow ejecuta `sudo` o accede fuera de scope) — `pre:bash:dangerous-command` bloquea ataques destructivos típicos
88
+ - **V2** (Hook ejecutando script malicioso post-commit) — todos los hooks viven en `.agent/hooks/scripts/` versionado y auditable, no en `.git/hooks/`
@@ -0,0 +1,184 @@
1
+ {
2
+ "$schema": "../../schemas/hooks.schema.json",
3
+ "version": "0.1.0",
4
+ "description": "Catálogo de hooks X-DD event-driven (inspirado en ECC). Profiles: minimal | standard | strict.",
5
+ "hooks": {
6
+ "PreToolUse": [
7
+ {
8
+ "id": "pre:bash:dangerous-command",
9
+ "matcher": "Bash",
10
+ "description": "Bloquea comandos peligrosos: rm -rf, git push --force, git reset --hard, chmod 777, curl|sh.",
11
+ "profile": [
12
+ "standard",
13
+ "strict"
14
+ ],
15
+ "exit_on_match": 2,
16
+ "script": ".agent/hooks/scripts/pre-bash-dangerous-command.sh"
17
+ },
18
+ {
19
+ "id": "pre:edit:config-protection",
20
+ "matcher": "Edit|Write",
21
+ "description": "Bloquea modificaciones a configs de linters/formatters sin justificación explícita (steers a arreglar código, no a debilitar configs).",
22
+ "profile": [
23
+ "strict"
24
+ ],
25
+ "exit_on_match": 2,
26
+ "script": ".agent/hooks/scripts/pre-edit-config-protection.sh"
27
+ },
28
+ {
29
+ "id": "pre:write:doc-file-warning",
30
+ "matcher": "Write",
31
+ "description": "Advierte cuando se crean archivos .md fuera de paths estándar (README, CHANGELOG, docs/, .xdd/).",
32
+ "profile": [
33
+ "standard",
34
+ "strict"
35
+ ],
36
+ "exit_on_match": 0,
37
+ "script": ".agent/hooks/scripts/pre-write-doc-warning.sh"
38
+ }
39
+ ],
40
+ "PostToolUse": [
41
+ {
42
+ "id": "post:edit:mempalace-index",
43
+ "matcher": "Edit|Write|NotebookEdit",
44
+ "description": "Re-indexa MemPalace en background tras cada Edit/Write (heredado del retrofit original).",
45
+ "profile": [
46
+ "minimal",
47
+ "standard",
48
+ "strict"
49
+ ],
50
+ "async": true,
51
+ "script": ".agent/hooks/scripts/post-edit-mempalace-index.sh"
52
+ },
53
+ {
54
+ "id": "post:bash:pr-logger",
55
+ "matcher": "Bash",
56
+ "description": "Log de PR URL tras gh pr create (facilita seguimiento).",
57
+ "profile": [
58
+ "standard",
59
+ "strict"
60
+ ],
61
+ "async": true,
62
+ "script": ".agent/hooks/scripts/post-bash-pr-logger.sh"
63
+ },
64
+ {
65
+ "id": "post:write:auto-organize",
66
+ "matcher": "Edit|Write|NotebookEdit",
67
+ "description": "Sprint 31: auto-organize workspace (move docs canónicos, gitignore framework pollution + cache + secrets). Idempotente, no destructivo. Opt-out: XDD_NO_ORGANIZE=1.",
68
+ "profile": [
69
+ "standard",
70
+ "strict"
71
+ ],
72
+ "async": true,
73
+ "script": ".agent/hooks/scripts/post-write-auto-organize.sh"
74
+ }
75
+ ],
76
+ "SessionStart": [
77
+ {
78
+ "id": "session-start:context-load",
79
+ "matcher": "*",
80
+ "description": "Carga last entry de memoria.md + estado de WORKING-CONTEXT.md al iniciar sesión.",
81
+ "profile": [
82
+ "standard",
83
+ "strict"
84
+ ],
85
+ "script": ".agent/hooks/scripts/session-start-context-load.sh"
86
+ }
87
+ ],
88
+ "Stop": [
89
+ {
90
+ "id": "stop:git-check",
91
+ "matcher": "*",
92
+ "description": "Advierte (no bloquea) si hay cambios no commiteados al cerrar la sesión.",
93
+ "profile": [
94
+ "standard",
95
+ "strict"
96
+ ],
97
+ "exit_on_match": 0,
98
+ "script": ".agent/hooks/scripts/stop-git-check.sh"
99
+ },
100
+ {
101
+ "id": "stop:pattern-extraction",
102
+ "matcher": "*",
103
+ "description": "Stub para Sprint 9 (Continuous Learning). Hoy no-op; será punto de extracción de instincts.",
104
+ "profile": [
105
+ "strict"
106
+ ],
107
+ "async": true,
108
+ "script": ".agent/hooks/scripts/stop-pattern-extraction.sh"
109
+ }
110
+ ],
111
+ "before_agent": [
112
+ {
113
+ "id": "ba:otel:trace-start",
114
+ "matcher": "*",
115
+ "description": "Sprint 18 ADR-0021: abre span OTel agent.invocation al inicio de agent loop.",
116
+ "profile": [
117
+ "strict"
118
+ ],
119
+ "async": true,
120
+ "script": ".agent/hooks/scripts/ba-otel-trace-start.sh"
121
+ }
122
+ ],
123
+ "before_model": [
124
+ {
125
+ "id": "bm:cost:budget-check",
126
+ "matcher": "*",
127
+ "description": "Sprint 18 ADR-0022: pre-call check de cost budget (warning si exceede).",
128
+ "profile": [
129
+ "strict"
130
+ ],
131
+ "exit_on_match": 0,
132
+ "script": ".agent/hooks/scripts/bm-cost-budget-check.sh"
133
+ }
134
+ ],
135
+ "wrap_model_call": [
136
+ {
137
+ "id": "wm:otel:span",
138
+ "matcher": "*",
139
+ "description": "Sprint 18 ADR-0021: wrap LLM call con span llm.call (input/output tokens, latency, cost).",
140
+ "profile": [
141
+ "strict"
142
+ ],
143
+ "async": true,
144
+ "script": ".agent/hooks/scripts/wm-otel-span.sh"
145
+ }
146
+ ],
147
+ "wrap_tool_call": [
148
+ {
149
+ "id": "wt:otel:span",
150
+ "matcher": "*",
151
+ "description": "Sprint 18 ADR-0021: wrap tool call con span tool.call (tool name, args, duration).",
152
+ "profile": [
153
+ "strict"
154
+ ],
155
+ "async": true,
156
+ "script": ".agent/hooks/scripts/wt-otel-span.sh"
157
+ }
158
+ ],
159
+ "after_model": [
160
+ {
161
+ "id": "am:cost:record",
162
+ "matcher": "*",
163
+ "description": "Sprint 18 ADR-0022: post-call registra cost en SQLite cost.db.",
164
+ "profile": [
165
+ "strict"
166
+ ],
167
+ "async": true,
168
+ "script": ".agent/hooks/scripts/am-cost-record.sh"
169
+ }
170
+ ],
171
+ "after_agent": [
172
+ {
173
+ "id": "aa:replay:flush",
174
+ "matcher": "*",
175
+ "description": "Sprint 18 ADR-0021: flush session events a .xdd/traces/<sid>.jsonl.",
176
+ "profile": [
177
+ "strict"
178
+ ],
179
+ "async": true,
180
+ "script": ".agent/hooks/scripts/aa-replay-flush.sh"
181
+ }
182
+ ]
183
+ }
184
+ }
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+ # Sprint 18 stub: aa-replay-flush
3
+ # Real implementation: invoke scripts/xdd-otel.py o scripts/xdd-cost.py.
4
+ # Stub no-op por defecto; activable cuando orchestrator soporte 6-stage middleware.
5
+ set -eu
6
+ exit 0
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+ # Sprint 18 stub: am-cost-record
3
+ # Real implementation: invoke scripts/xdd-otel.py o scripts/xdd-cost.py.
4
+ # Stub no-op por defecto; activable cuando orchestrator soporte 6-stage middleware.
5
+ set -eu
6
+ exit 0
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+ # Sprint 18 stub: ba-otel-trace-start
3
+ # Real implementation: invoke scripts/xdd-otel.py o scripts/xdd-cost.py.
4
+ # Stub no-op por defecto; activable cuando orchestrator soporte 6-stage middleware.
5
+ set -eu
6
+ exit 0
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+ # Sprint 18 stub: bm-cost-budget-check
3
+ # Real implementation: invoke scripts/xdd-otel.py o scripts/xdd-cost.py.
4
+ # Stub no-op por defecto; activable cuando orchestrator soporte 6-stage middleware.
5
+ set -eu
6
+ exit 0
@@ -0,0 +1,25 @@
1
+ #!/bin/bash
2
+ # post:bash:pr-logger — log de PR URL tras gh pr create.
3
+ # No bloquea. Async OK.
4
+ set +e
5
+
6
+ CMD=""
7
+ OUTPUT=""
8
+ if [ ! -t 0 ]; then
9
+ RAW=$(cat || true)
10
+ if command -v python3 >/dev/null 2>&1; then
11
+ CMD=$(echo "$RAW" | python3 -c "import json,sys; d=json.loads(sys.stdin.read() or '{}'); print((d.get('tool_input') or {}).get('command') or '')" 2>/dev/null || echo "")
12
+ OUTPUT=$(echo "$RAW" | python3 -c "import json,sys; d=json.loads(sys.stdin.read() or '{}'); print((d.get('tool_output') or {}).get('output') or '')" 2>/dev/null || echo "")
13
+ fi
14
+ fi
15
+
16
+ # Detectar gh pr create
17
+ if echo "$CMD" | grep -qE "gh\s+pr\s+create"; then
18
+ PR_URL=$(echo "$OUTPUT" | grep -oE 'https://github\.com/[^/]+/[^/]+/pull/[0-9]+' | head -1)
19
+ if [ -n "$PR_URL" ]; then
20
+ mkdir -p ~/.xdd
21
+ echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) PR opened: $PR_URL" >> ~/.xdd/pr-history.log
22
+ echo "[xdd:hook] PR logged → $PR_URL"
23
+ fi
24
+ fi
25
+ exit 0
@@ -0,0 +1,8 @@
1
+ #!/bin/bash
2
+ # post:edit:mempalace-index — re-indexa MemPalace en background tras cada Edit/Write.
3
+ # Heredado del retrofit original. No bloquea nunca.
4
+ set +e
5
+ if command -v mempalace >/dev/null 2>&1; then
6
+ ( mempalace mine "$PWD" >>"$HOME/.mempalace/mine.log" 2>&1 & ) >/dev/null 2>&1
7
+ fi
8
+ exit 0
@@ -0,0 +1,42 @@
1
+ #!/bin/bash
2
+ # post:write:auto-organize — Sprint 31 / ADR-0041
3
+ # Hook PostToolUse que invoca xdd-organize en modo apply (non-destructive) tras
4
+ # Write/Edit/NotebookEdit. Real-time auto-organize sin destruir.
5
+ #
6
+ # Comportamiento:
7
+ # - NO bloquea (exit 0 siempre)
8
+ # - Async (no demora respuesta del orquestador)
9
+ # - Solo gitignore_only + move (NO gitignore_and_delete sin --confirm-delete)
10
+ # - Opt-out: XDD_NO_ORGANIZE=1 env var (mismo opt-out que xdd-organize)
11
+ #
12
+ # Output: log line por acción al stderr. Captura en .xdd/organize.log si dir existe.
13
+ set +e
14
+
15
+ # Skip si opt-out activo
16
+ [ "${XDD_NO_ORGANIZE:-0}" = "1" ] && exit 0
17
+
18
+ # Resolver path del repo X-DD source (script xdd-organize vive ahí)
19
+ XDD_ORGANIZE=""
20
+ if [ -x ./scripts/xdd-organize.sh ]; then
21
+ XDD_ORGANIZE="./scripts/xdd-organize.sh"
22
+ elif [ -x "$HOME/Documentos/Desarrollos/scripts/xdd-organize.sh" ]; then
23
+ XDD_ORGANIZE="$HOME/Documentos/Desarrollos/scripts/xdd-organize.sh"
24
+ elif command -v xdd-organize >/dev/null 2>&1; then
25
+ XDD_ORGANIZE="$(command -v xdd-organize)"
26
+ else
27
+ # No disponible — skip silencioso
28
+ exit 0
29
+ fi
30
+
31
+ # Ejecutar apply (non-destructive). Log a .xdd/organize.log si dir existe.
32
+ LOG=""
33
+ [ -d .xdd ] && LOG=".xdd/organize.log"
34
+
35
+ if [ -n "$LOG" ]; then
36
+ echo "=== $(date -Iseconds) post:write:auto-organize ===" >> "$LOG"
37
+ bash "$XDD_ORGANIZE" apply --dest=. 2>&1 | tee -a "$LOG" >&2
38
+ else
39
+ bash "$XDD_ORGANIZE" apply --dest=. 2>&1 >&2
40
+ fi
41
+
42
+ exit 0
@@ -0,0 +1,48 @@
1
+ #!/bin/bash
2
+ # pre:bash:dangerous-command — bloquea comandos peligrosos.
3
+ # Recibe el comando como JSON por stdin (formato Claude Code) o $1.
4
+ # Exit 2 = bloquea ejecución; Exit 0 = permite.
5
+ set -eu
6
+
7
+ # Obtener el comando del input
8
+ CMD=""
9
+ if [ -t 0 ]; then
10
+ CMD="${1:-}"
11
+ else
12
+ RAW=$(cat || true)
13
+ if command -v python3 >/dev/null 2>&1; then
14
+ CMD=$(echo "$RAW" | python3 -c "import json,sys; d=json.loads(sys.stdin.read() or '{}'); print((d.get('tool_input') or {}).get('command') or '')" 2>/dev/null || echo "")
15
+ else
16
+ CMD=$(echo "$RAW" | grep -oE '"command"\s*:\s*"[^"]*"' | head -1 | sed 's/.*"command"\s*:\s*"\(.*\)"/\1/' || echo "")
17
+ fi
18
+ fi
19
+
20
+ [ -z "$CMD" ] && exit 0
21
+
22
+ # Patrones peligrosos
23
+ DANGEROUS_PATTERNS=(
24
+ 'rm[[:space:]]+-[rR][fF]?[[:space:]]+/'
25
+ 'rm[[:space:]]+-[fF][rR]?[[:space:]]+/'
26
+ 'git[[:space:]]+push[[:space:]]+.*--force'
27
+ 'git[[:space:]]+push[[:space:]]+.*-f([[:space:]]|$)'
28
+ 'git[[:space:]]+reset[[:space:]]+--hard[[:space:]]+(origin|HEAD~)'
29
+ 'git[[:space:]]+clean[[:space:]]+-[fdx]'
30
+ 'chmod[[:space:]]+-?R?[[:space:]]+777'
31
+ 'curl[[:space:]]+.*\|[[:space:]]*(bash|sh)([[:space:]]|$)'
32
+ 'wget[[:space:]]+.*\|[[:space:]]*(bash|sh)([[:space:]]|$)'
33
+ 'dd[[:space:]]+if=.*of=/dev/(sda|hda|nvme)'
34
+ ':(){.*}'
35
+ '>\s*/dev/(sda|hda|nvme)'
36
+ )
37
+
38
+ for pat in "${DANGEROUS_PATTERNS[@]}"; do
39
+ if echo "$CMD" | grep -qE "$pat"; then
40
+ echo "[xdd:hook] BLOCKED — comando peligroso detectado:" >&2
41
+ echo "[xdd:hook] patrón: $pat" >&2
42
+ echo "[xdd:hook] comando: $CMD" >&2
43
+ echo "[xdd:hook] Si es intencional, ejecutalo manualmente fuera del agente." >&2
44
+ exit 2
45
+ fi
46
+ done
47
+
48
+ exit 0
@@ -0,0 +1,54 @@
1
+ #!/bin/bash
2
+ # pre:edit:config-protection — bloquea modificación de configs sensibles.
3
+ # Profile: strict. Steers al agente a arreglar el código, no a debilitar la config.
4
+ set -eu
5
+
6
+ # Lista de paths protegidos (configs que NO deben relajarse silenciosamente)
7
+ PROTECTED=(
8
+ ".markdownlint.yaml"
9
+ ".markdownlint.json"
10
+ ".editorconfig"
11
+ ".gitignore"
12
+ ".pre-commit-config.yaml"
13
+ ".eslintrc"
14
+ ".eslintrc.js"
15
+ ".eslintrc.json"
16
+ ".prettierrc"
17
+ ".prettierrc.json"
18
+ "eslint.config.js"
19
+ "ruff.toml"
20
+ "pyproject.toml"
21
+ "tsconfig.json"
22
+ ".github/renovate.json"
23
+ ".github/dependabot.yml"
24
+ "schemas/"
25
+ )
26
+
27
+ # Obtener path del input
28
+ FILE_PATH=""
29
+ if [ -t 0 ]; then
30
+ FILE_PATH="${1:-}"
31
+ else
32
+ RAW=$(cat || true)
33
+ if command -v python3 >/dev/null 2>&1; then
34
+ FILE_PATH=$(echo "$RAW" | python3 -c "import json,sys; d=json.loads(sys.stdin.read() or '{}'); print((d.get('tool_input') or {}).get('file_path') or '')" 2>/dev/null || echo "")
35
+ fi
36
+ fi
37
+
38
+ [ -z "$FILE_PATH" ] && exit 0
39
+
40
+ # Verificar contra paths protegidos
41
+ for prot in "${PROTECTED[@]}"; do
42
+ if [[ "$FILE_PATH" == *"$prot"* ]]; then
43
+ if [ "${XDD_ALLOW_CONFIG_EDIT:-}" = "1" ]; then
44
+ echo "[xdd:hook] WARN — editando config protegido: $FILE_PATH (XDD_ALLOW_CONFIG_EDIT=1)" >&2
45
+ exit 0
46
+ fi
47
+ echo "[xdd:hook] BLOCKED — modificación a config protegido: $FILE_PATH" >&2
48
+ echo "[xdd:hook] Steers: ¿podés arreglar el código en lugar de debilitar la config?" >&2
49
+ echo "[xdd:hook] Si es realmente necesario: export XDD_ALLOW_CONFIG_EDIT=1" >&2
50
+ exit 2
51
+ fi
52
+ done
53
+
54
+ exit 0
@@ -0,0 +1,21 @@
1
+ #!/bin/bash
2
+ # Sprint 19 ADR-0023: pre-LLM-call budget check.
3
+ # Lee tokens estimados desde stdin o XDD_TOKENS_ESTIMATE env var.
4
+ # Invoca xdd-context check con budget de xdd.config.yml.
5
+ set -eu
6
+
7
+ TOKENS="${XDD_TOKENS_ESTIMATE:-}"
8
+ if [ -z "$TOKENS" ]; then
9
+ # Sin input → no-op (stub no bloquea)
10
+ exit 0
11
+ fi
12
+
13
+ XDD_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../../.." && pwd)"
14
+ python3 "$XDD_ROOT/scripts/xdd-context.py" check --tokens="$TOKENS"
15
+ RC=$?
16
+ # rc=0 ok, rc=1 warning (no bloquea), rc=2 block
17
+ if [ "$RC" -eq 2 ]; then
18
+ echo "[hook] BLOCK: context budget exceeded" >&2
19
+ exit 2
20
+ fi
21
+ exit 0
@@ -0,0 +1,21 @@
1
+ #!/bin/bash
2
+ # Sprint 21 ADR-0028: hook PreToolUse que invoca xdd-authz.
3
+ # Si exit 2 = deny → bloquea tool call.
4
+ # Si exit 1 = require_approval → orchestrator debería prompt humano.
5
+ set -eu
6
+
7
+ TOOL="${XDD_TOOL_NAME:-}"
8
+ ARGS_JSON="${XDD_TOOL_ARGS:-{}}"
9
+ if [ -z "$TOOL" ]; then
10
+ exit 0 # no info, no-op
11
+ fi
12
+
13
+ XDD_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../../.." && pwd)"
14
+ python3 "$XDD_ROOT/scripts/xdd-authz.py" check --tool="$TOOL" --args="$ARGS_JSON"
15
+ RC=$?
16
+ case "$RC" in
17
+ 0) exit 0 ;;
18
+ 1) echo "[hook] require_approval: $TOOL" >&2; exit 1 ;;
19
+ 2) echo "[hook] DENY: $TOOL blocked by authz policy" >&2; exit 2 ;;
20
+ *) exit 0 ;;
21
+ esac
@@ -0,0 +1,36 @@
1
+ #!/bin/bash
2
+ # pre:write:doc-file-warning — advierte sobre archivos .md fuera de paths estándar.
3
+ # Exit 0 siempre (solo warn).
4
+ set -eu
5
+
6
+ FILE_PATH=""
7
+ if [ -t 0 ]; then
8
+ FILE_PATH="${1:-}"
9
+ else
10
+ RAW=$(cat || true)
11
+ if command -v python3 >/dev/null 2>&1; then
12
+ FILE_PATH=$(echo "$RAW" | python3 -c "import json,sys; d=json.loads(sys.stdin.read() or '{}'); print((d.get('tool_input') or {}).get('file_path') or '')" 2>/dev/null || echo "")
13
+ fi
14
+ fi
15
+
16
+ [ -z "$FILE_PATH" ] && exit 0
17
+
18
+ # Solo aplica a .md
19
+ case "$FILE_PATH" in
20
+ *.md|*.MD|*.Md) ;;
21
+ *) exit 0 ;;
22
+ esac
23
+
24
+ # Paths estándar permitidos sin warn
25
+ case "$FILE_PATH" in
26
+ *README.md|*CHANGELOG.md|*CONTRIBUTING.md|*CODE_OF_CONDUCT.md|*SECURITY.md|*LICENSE.md|*NOTICE.md|*CLAUDE.md|*AGENTS.md|*SOUL.md|*RULES.md|*MEMORY.md|*memoria.md|*lecciones.md|*MEJORAS-X-DD.md|*DEPENDENCIES.md|*PROJ-MASTER-PLAN.md|*WORKING-CONTEXT.md|*EVALUATION.md|*the-*-guide.md)
27
+ exit 0 ;;
28
+ docs/*|.xdd/*|.agent/*|prompts/*|templates/*|schemas/*|RELEASES/*|skills/*)
29
+ exit 0 ;;
30
+ */docs/*|*/.xdd/*|*/.agent/*|*/prompts/*|*/templates/*|*/schemas/*|*/RELEASES/*|*/skills/*|*SKILL.md|*ADR-*.md|*adr/*.md)
31
+ exit 0 ;;
32
+ esac
33
+
34
+ echo "[xdd:hook] WARN — creando archivo .md fuera de paths estándar: $FILE_PATH" >&2
35
+ echo "[xdd:hook] Considerá: docs/, .xdd/, prompts/, templates/, skills/, o uno de los archivos raíz canónicos." >&2
36
+ exit 0
@@ -0,0 +1,43 @@
1
+ #!/bin/bash
2
+ # session-start:context-load — imprime el contexto vivo al iniciar sesión.
3
+ # Sprint 28 / ADR-0038: enforce lectura memoria + lecciones + WORKING-CONTEXT + doctor + gate.
4
+ # Lección retroactiva: en proyecto piloto multi-IDE el orquestador omitía leer lecciones,
5
+ # repitiendo errores conocidos. Ahora carga forzada y visible al inicio.
6
+ # Exit 0 siempre. El orquestador captura stdout como contexto del prompt.
7
+ set +e
8
+
9
+ if [ -f WORKING-CONTEXT.md ]; then
10
+ echo "=== Working Context (live) ==="
11
+ head -30 WORKING-CONTEXT.md
12
+ echo
13
+ fi
14
+
15
+ if [ -f memoria.md ]; then
16
+ echo "=== Memoria — última sesión ==="
17
+ awk '/^### Sesión/{p=1} p' memoria.md | head -25
18
+ echo
19
+ fi
20
+
21
+ # Sprint 28: carga lecciones recientes (last 5 entries) — previene repetición de errores
22
+ if [ -f lecciones.md ]; then
23
+ echo "=== Lecciones — últimas 5 entries (consultar ANTES de proponer arquitectura) ==="
24
+ awk '/^### \[/{count++; if (count>5) exit} count>=1' lecciones.md | head -80
25
+ echo
26
+ fi
27
+
28
+ # Sprint 28: micro-doctor — verifica salud crítica del entorno (NO bloquea, solo reporta)
29
+ if [ -x ./scripts/xdd-doctor.sh ]; then
30
+ echo "=== Doctor (resumen) ==="
31
+ bash ./scripts/xdd-doctor.sh 2>/dev/null | tail -5
32
+ echo
33
+ fi
34
+
35
+ # Sprint 28: gate status — fase actual + estado
36
+ if [ -f ./scripts/xdd-gate.py ] && command -v python3 >/dev/null 2>&1; then
37
+ echo "=== Gate keeper (fase actual) ==="
38
+ python3 ./scripts/xdd-gate.py status 2>/dev/null | head -10
39
+ echo
40
+ fi
41
+
42
+ # Cap a ~8000 chars total (similar a ECC_SESSION_START_MAX_CHARS)
43
+ exit 0
@@ -0,0 +1,19 @@
1
+ #!/bin/bash
2
+ # stop:git-check — advierte si hay cambios sin commitear al cerrar sesión.
3
+ # Exit 0 siempre (warn-only).
4
+ set +e
5
+
6
+ if [ ! -d .git ]; then
7
+ exit 0
8
+ fi
9
+
10
+ UNCOMMITTED=$(git status --porcelain 2>/dev/null | wc -l)
11
+ UNPUSHED=$(git log --branches --not --remotes --oneline 2>/dev/null | wc -l)
12
+
13
+ if [ "$UNCOMMITTED" -gt 0 ] || [ "$UNPUSHED" -gt 0 ]; then
14
+ echo "[xdd:hook] WARN — al cerrar sesión:" >&2
15
+ [ "$UNCOMMITTED" -gt 0 ] && echo "[xdd:hook] · $UNCOMMITTED archivos modificados sin commitear" >&2
16
+ [ "$UNPUSHED" -gt 0 ] && echo "[xdd:hook] · $UNPUSHED commits locales sin pushear" >&2
17
+ echo "[xdd:hook] Considerá ejecutar: git status / git push origin HEAD" >&2
18
+ fi
19
+ exit 0