X-DD — Gated pipeline multi-metodología (*-Driven Development) con gate keeper HMAC. CLI + tooling. Stdlib-first.
Project description
X-DD
El sistema operativo para desarrollo de software asistido por IA
Agentes de IA que colaboran bajo reglas estrictas y firmadas — para que "lo hizo la IA" deje de significar "nadie revisó".
El problema
La IA escribe código rápido. Pero "build verde" no es "producto verde": tests que no existen, documentación inventada, fases marcadas como completas que nunca corrieron. Cuando un agente escribe y aprueba su propio trabajo, nadie revisó nada.
La solución
X-DD pone a los agentes a trabajar dentro de un pipeline con candados criptográficos. Cada fase del desarrollo se valida por contenido real y se firma con HMAC. No hay "APROBADO" verbal: hay una firma que el gate verifica, y un aprobador que no puede ser el mismo que hizo el trabajo.
Briefing → Spec → Plan → Build → QA → Retro
└─ cada flecha es un gate firmado que bloquea el avance sin aprobación válida ─┘
Lo que hace a X-DD distinto: 9 disciplinas, una sola corriente
X-DD no inventa una metodología nueva: integra nueve -Driven Development como capas sobre el pipeline gated, cada una entrando en la fase donde aporta.
| Disciplina | Qué aporta | Dónde entra |
|---|---|---|
| SDD Spec-Driven | la spec es el contrato, no un borrador | Briefing → Spec |
| FDD Feature-Driven | catálogo de features trazable | Spec → Plan |
| DDD Domain-Driven | modelo de dominio + bounded contexts | Spec |
| BDD / ATDD Behavior/Acceptance | criterios ejecutables antes de codear | Plan → Build |
| TDD Test-Driven | tests primero, código después | Build |
| STDD Security-Test-Driven | tests de seguridad como ciudadanos de primera | Build → QA |
| SecDD + Threat-Driven | modelo de amenazas STRIDE guía el diseño | Spec + QA |
No eliges una; X-DD las orquesta en la fase correcta.
Harness engineering: el agente es el 10%, el entorno es el 90%
Un buen prompt no basta. Lo que hace confiable a un agente es el harness que lo rodea: los gates, los hooks, el presupuesto de contexto, la memoria y las pruebas. X-DD trata ese entorno como ingeniería de primera clase:
- Eval-harness (
xdd-eval) — 5 tipos de grader deterministas para medir agentes sin azar. - MockProvider (
xdd-provider) — corre flujos completos sin red ni tokens, reproducibles. - Hooks + context budget + observabilidad — OTel spans, session replay, cost tracker.
- AgentShield (
xdd-shield) — audita el propio framework con 13 reglas estáticas.
Memoria y pruebas: MemPalace + Shannon
Dos integraciones externas (opcionales, nunca bundled) cubren lo que un agente solo no puede:
-
🧠 MemPalace (memoria semántica, MIT) — el flight recorder del proyecto. ChromaDB + SQLite
- 29 MCP tools para que los agentes recuerden decisiones y lecciones entre sesiones, no solo
dentro de una conversación. Sin él, X-DD degrada a memoria de archivos (
memoria.md/lecciones.md).
- 29 MCP tools para que los agentes recuerden decisiones y lecciones entre sesiones, no solo
dentro de una conversación. Sin él, X-DD degrada a memoria de archivos (
-
🎯 Shannon (pentest dinámico, AGPL) — pruebas de seguridad reales: white-box, exploits en sandbox, verify findings contra el código corriendo. Integrado vía
xdd-pentest.sh. Sin él, X-DD degrada elegantemente a STRIDE + revisión estática de fuente.
Ambas son dependencias externas declaradas (DEPENDENCIES.md), nunca incrustadas: tu proyecto MIT no se contamina con sus licencias. Instalarlas es decisión tuya.
Por qué importa
| En vez de… | X-DD te da… |
|---|---|
| "confía en que la IA lo hizo bien" | un gate que parsea el artefacto (tests N>0, evidencia de ejecución, placeholders resueltos) |
| el agente que escribe también aprueba | aprobador ≠ autor, firmado criptográficamente |
| "el .md existe, listo" | validación de flujos ejecutados end-to-end (xdd-flow), no solo de archivos |
| copiar prompts entre IDEs a mano | 7 IDEs desde una sola fuente (Claude Code, Cursor, opencode, Windsurf, Copilot, Antigravity, Codex) |
| 180 prompts sueltos | un registry tipado de 180 agentes especializados |
| probar agentes gastando tokens | MockProvider determinista — testea flujos sin red ni costo |
Instala en 30 segundos
pip install -e . # o: pipx install x-dd
xdd doctor # diagnóstico del entorno
xdd gate status # estado del pipeline
¿Prefieres bootstrap de un proyecto completo?
git clone https://github.com/Cucholambr3ta/x-dd.git && cd x-dd
make init DEST=/ruta/a/tu/proyecto
Qué hay dentro
- 🔐 Gate keeper HMAC-SHA256 — cada transición de fase se firma; el gate detecta manipulación.
- ▶️ Gate ejecutable —
xdd-flowcorre flujos de agentes y valida su salida real, no su existencia. - 🧪 CI como ley — pytest + bats + AgentShield corren como gate en cada PR (Constitución Art. 7).
- 🛡️ AgentShield — audit estático de seguridad del propio framework: 13 reglas.
- 🎨 White-labeling — renombra el orquestador y su persona por proyecto.
- 📊 Observabilidad — spans OTel, session replay, cost tracker, context budget.
Filosofía
X-DD se construye a sí mismo con su propio pipeline (dogfooding). Cada decisión vive en un ADR (47 y contando). La Constitución es la ley; el gate la hace cumplir. No prometemos calidad: la bloqueamos cuando falta.
Empieza
- 📖 Constitución — la ley, 9 artículos
- 🚀 INSTALL — instalación, perfiles, pip
- 🧭 Guía de Integración — el pipeline completo
- 🏛️ ADRs — por qué X-DD es como es
- 🛠️ Guías de desarrollo — cómo crear agentes/skills/workflows (material interno)
⏳ Nota v0.1.0: el MCP server propio está deprecado (se elimina en v0.2.0, ADR-0044); la copia real a IDEs lo reemplaza.
X-DD — la IA escribe, el pipeline responde.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file x_dd-0.1.2.tar.gz.
File metadata
- Download URL: x_dd-0.1.2.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
130781df37639b8a85d7755428ea92758068032cf7552c40e07fcecbc58cba9d
|
|
| MD5 |
212b8173a5b0423fafe4976408ff5ee3
|
|
| BLAKE2b-256 |
40d798d00c81050fdf9b425adfe14441a422bc22aa2b6bb34f90506f7fa99260
|
Provenance
The following attestation bundles were made for x_dd-0.1.2.tar.gz:
Publisher:
pypi-publish.yml on Cucholambr3ta/x-dd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
x_dd-0.1.2.tar.gz -
Subject digest:
130781df37639b8a85d7755428ea92758068032cf7552c40e07fcecbc58cba9d - Sigstore transparency entry: 1677198639
- Sigstore integration time:
-
Permalink:
Cucholambr3ta/x-dd@79d0fd2faf22edcf14d32e141d75b262d252c64c -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Cucholambr3ta
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79d0fd2faf22edcf14d32e141d75b262d252c64c -
Trigger Event:
push
-
Statement type:
File details
Details for the file x_dd-0.1.2-py3-none-any.whl.
File metadata
- Download URL: x_dd-0.1.2-py3-none-any.whl
- Upload date:
- Size: 124.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
398e937a0c2cffd72df9b964124b563decf387acec5e41559eb00839c60e96ca
|
|
| MD5 |
1ec2a48265189a79edf71048466e508f
|
|
| BLAKE2b-256 |
c08c541d75e97391c6d10d562bb1b00c0ef7a2bb00bb09f5adeca2a5ad98733d
|
Provenance
The following attestation bundles were made for x_dd-0.1.2-py3-none-any.whl:
Publisher:
pypi-publish.yml on Cucholambr3ta/x-dd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
x_dd-0.1.2-py3-none-any.whl -
Subject digest:
398e937a0c2cffd72df9b964124b563decf387acec5e41559eb00839c60e96ca - Sigstore transparency entry: 1677198657
- Sigstore integration time:
-
Permalink:
Cucholambr3ta/x-dd@79d0fd2faf22edcf14d32e141d75b262d252c64c -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Cucholambr3ta
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79d0fd2faf22edcf14d32e141d75b262d252c64c -
Trigger Event:
push
-
Statement type: