Saltar al contenido

Funciones Avanzadas

Estas funciones habilitan flujos de trabajo SDD colaborativos, a gran escala y en paralelo. Parten del ciclo de vida principal — asegúrate de estar familiarizado con el Flujo SDD antes de utilizarlas.

1. Ramificación de Specs

Herramientas: branch_spec, merge_spec_branch

Piensa en las ramas de specs como ramas de Git — pero para tus planes. Crea una variante A/B para explorar un enfoque de implementación diferente antes de comprometerte con uno.

Cuándo usarlo:

  • Decisiones de arquitectura con múltiples enfoques válidos
  • Experimentos de UI (spec A de rediseño vs. spec B incremental)
  • Cuando un stakeholder solicita una estimación alternativa

Cuándo NO usarlo

No crees ramas de specs para cambios menores de redacción o correcciones de errores tipográficos. Las ramas son para estrategias de implementación fundamentalmente diferentes — si ambos enfoques tocan los mismos archivos, resuelve la decisión primero y luego implementa.

Cómo funciona:

  1. Ramifica una spec existente para crear una variante:
"Ramifica la spec SPEC-042 como variant-B con enfoque de microservicios"
→ branch_spec(specId: "SPEC-042", branchName: "variant-b", description: "...")
  1. Desarrolla ambas variantes de forma independiente. Cada rama tiene sus propios criterios de aceptación y PLAN.md.

  2. Compara las estimaciones y elige la ganadora. Luego fusiona:

"Fusiona la rama variant-b de la spec SPEC-042"
→ merge_spec_branch(specId: "SPEC-042", branchName: "variant-b")

Planu detecta conflictos entre variantes y marca los criterios que se contradicen antes de fusionar.


2. Federación de Specs

Herramientas: federate_specs, federation_status

Comparte y sincroniza specs entre múltiples repositorios. Esencial para monorepos, microservicios y equipos de plataforma.

Cuándo usarlo:

  • El equipo de plataforma posee specs compartidas (autenticación, pagos, logging)
  • Monorepo con múltiples servicios que comparten requisitos
  • Specs de contratos de API compartidas entre repos de frontend y backend

Cuándo NO usarlo

No federes specs que estén estrechamente acopladas a los internos de un único servicio. La federación es para contratos compartidos — no para replicar detalles de implementación entre repos.

Cómo funciona:

  1. En el repositorio fuente, publica una spec hacia un destino:
"Federa la spec SPEC-010 hacia team/payments-service"
→ federate_specs(...)
  1. En el repositorio destino, la spec aparece como solo lectura con un enlace al origen. Los equipos downstream pueden referenciarla pero no modificarla directamente.

  2. Los cambios se sincronizan automáticamente o bajo demanda. Consulta el estado de sincronización en cualquier momento:

"Consulta el estado de federación"
→ federation_status()

El reporte de estado muestra qué specs están adelantadas, atrasadas o en conflicto con su origen.


3. Orquestación de Equipos de Agentes

Herramientas: plan_team_distribution, orchestrate_runtime, orchestrate_agents

Distribuye una spec grande entre múltiples agentes de IA en paralelo, cada uno con propiedad exclusiva sobre archivos específicos.

Cuándo usarlo:

  • Specs que tocan 5+ módulos independientes
  • Refactorizaciones grandes con límites de archivos claros
  • Funcionalidades urgentes que se pueden paralelizar

Cuándo NO usarlo

No orquestes specs pequeñas (menos de 3 archivos). El costo de coordinación supera el tiempo ahorrado. Evita también la orquestación cuando los módulos están estrechamente acoplados — los agentes no pueden resolver conflictos entre archivos en mitad de la ejecución.

Cómo funciona:

  1. Planifica la distribución — Planu analiza la spec y propone las asignaciones de agentes:
"Planifica la distribución del equipo para SPEC-099"
→ plan_team_distribution(specId: "SPEC-099")
→ Resultado: 3 agentes, asignaciones de archivos, tiempo estimado
  1. Lanza la orquestación — los agentes trabajan en paralelo, cada uno con sus archivos asignados:
"Orquesta SPEC-099 con 3 agentes"
→ orchestrate_runtime(specId: "SPEC-099", agentCount: 3)
→ Los agentes trabajan en paralelo, Planu monitoriza el progreso
  1. Monitoriza y finaliza:
"Consulta el estado de la orquestación"
→ orchestrate_agents(action: "status")

Reglas que Planu aplica:

  • Cada agente posee archivos exclusivos — sin ediciones concurrentes
  • Las pruebas de integración se ejecutan después de que todos los agentes terminen
  • Los conflictos se marcan, no se resuelven automáticamente

Siguientes Pasos

Únete a la comunidadHaz preguntas, comparte feedback y conecta con otros desarrolladores usando Planu.
Unirse a Discord