Apariencia
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:
- 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: "...")Desarrolla ambas variantes de forma independiente. Cada rama tiene sus propios criterios de aceptación y PLAN.md.
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:
- En el repositorio fuente, publica una spec hacia un destino:
"Federa la spec SPEC-010 hacia team/payments-service"
→ federate_specs(...)En el repositorio destino, la spec aparece como solo lectura con un enlace al origen. Los equipos downstream pueden referenciarla pero no modificarla directamente.
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:
- 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- 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- 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
- Consulta la Referencia de Herramientas para la documentación completa de parámetros
- Vuelve al Flujo SDD para el ciclo de vida principal