Saltearse al contenido

Guía visual

Esta página es el mapa visual de Kaddo. Muestra el knowledge loop implementado (v2.6+): qué hace el CLI determinístico, qué hacen tus agentes LLM, cómo se conectan los artefactos y cómo encajan Guard, multirepo y la gobernanza. Haz clic en cualquier diagrama para abrirlo a pantalla completa.

Estos diagramas describen comportamiento que existe hoy. No implican ninguna automatización futura — mira Qué no significan los diagramas.

Momentos de operación

Kaddo madura el conocimiento de un proyecto en cuatro momentos. Ver Momentos de operación para el detalle completo.

flowchart TD
    A["Base — init · bootstrap · scan · add agents · context · understand"] -->
    B["Definición — business-agent · product-agent · capability-agent · codebase-agent"]
    B --> C["Proyección — roadmap-agent · backlog-agent · create --from roadmap · work-item-agent"]
    C --> D["Ejecución — implementation-agent · scan · owners suggest · guard · explain"]

Capas de conocimiento (macro-flujo)

Kaddo enmarca todo el proyecto en cuatro capas macro bajo knowledge/. Cada una responde una pregunta y se mantiene conectada con la de arriba.

flowchart TD
    B[Business — por qué existe] --> P[Product — qué construimos]
    P --> T[Tech — cómo lo construimos]
    T --> D[Delivery — cómo lo evolucionamos]
    B --> B1[problem · users · constraints · business-rules]
    P --> P1[product-brief · capabilities]
    T --> T1[codebase · current-state · decisions · modules]
    D --> D1[roadmap · work-items]

kaddo bootstrap siembra la base mínima (Business + Product + tech/codebase.md); Delivery y las decisiones emergen después vía agentes y trabajo real.

Repository Exploration Tax

Sin conocimiento estructurado, los agentes gastan parte de cada sesión redescubriendo el proyecto. Con Kaddo, pueden empezar desde un context pack construido a partir de conocimiento explícito.

flowchart LR
    subgraph Without["Sin Kaddo"]
        A[Repository] --> B[Search files]
        B --> C[Infer architecture]
        C --> D[Infer capabilities]
        D --> E[Infer roadmap]
    end

    subgraph With["Con Kaddo"]
        F[Knowledge] --> G[Context Pack]
        G --> H[Agent]
    end

Madurez del conocimiento

Kaddo reconoce el conocimiento por el type del front-matter (no por el nombre) y reporta una madurez por capa. El conocimiento crece de consolidado a trazable a medida que el proyecto lo gana.

flowchart LR
    A[Consolidated<br/>business.md · product.md · codebase.md] --> B[Structured<br/>capabilities · current-state · ADRs]
    B --> C[Traceable<br/>roadmap · work-items · ownership]

Kaddo Knowledge Loop

El loop completo, desde un repo en crudo hasta un estado de conocimiento explicado. Los pasos del CLI son determinísticos; el paso con agentes ocurre en tu propio chat LLM.

flowchart TD
    A[Repo / Proyecto] --> B[kaddo init]
    B --> C[kaddo scan]
    C --> D[scan.json + inventory.md]
    D --> E[kaddo context]
    E --> F[context-pack.md]
    F --> G[kaddo understand]
    G --> H[understand.md]
    H --> I[Chat LLM + Agentes Kaddo]
    I --> J[capabilities.md]
    I --> K[current-state.md]
    I --> L[roadmap.md]
    L --> M[kaddo create --from roadmap]
    M --> N[work-items/draft/*.md]
    N --> O[kaddo owners suggest]
    O --> P[globs code: en front matter]
    P --> Q[Cambios de código]
    Q --> R[kaddo guard]
    R --> S{Posible drift?}
    S -->|Sí| T[Revisar / actualizar artefacto]
    S -->|No| U[Continuar]
    T --> V[kaddo explain]
    U --> V
    V --> W[explain.md]

Flujo de agentes y límites de responsabilidad

Cada agente produce conocimiento y hace handoff al siguiente. Solo el implementation-agent puede sugerir una rama de Git — y únicamente respetando la estrategia de Git del proyecto. El roadmap-agent y el work-item-agent nunca sugieren ramas ni commits.

flowchart TD
    A[business-agent] --> B[product-agent]
    B --> C[codebase-agent]
    C --> D[architecture-agent]
    D --> E[roadmap-agent]
    E --> F[kaddo create --from roadmap]
    F --> G[work-item-agent]
    G --> H[implementation-agent]
    H --> I[kaddo scan]
    I --> J[kaddo owners suggest]
    J --> K[kaddo guard]
    K --> L[kaddo explain]
    H -. solo este agente sugiere una rama .-> H

Captura de backlog (idea → trabajo estructurado)

El backlog-agent convierte cualquier idea, nota o transcripción cruda en un draft de Work Item o un candidato de roadmap. Nunca refina, implementa ni auto-ejecuta el siguiente agente — siempre decide un humano qué sigue.

flowchart TD
    I[Idea / notas / transcripción] --> BL[backlog-agent]
    BL --> D[Draft de Work Item]
    BL --> RC[Candidato de roadmap]
    BL --> M[Varios items - dividir]
    D --> H{Decide el humano}
    RC --> H
    M --> H
    H --> WI[work-item-agent]
    WI --> R[ready] --> IMPL[implementation-agent]
Ideasalida del backlog-agent
”Exportar tareas a CSV”un draft de Work Item
”Un sistema completo de autenticación”un candidato de roadmap
”Login · Reportes · Notificaciones”3 backlog items

Roles de comandos: scan · context · explain · understand

Cada comando tiene un rol distinto. understand recomienda el siguiente paso a partir del estado real del conocimiento, no solo del project.state configurado.

flowchart LR
    S[scan<br/>detectar señales] --> X[explain<br/>qué sabe Kaddo]
    S --> C[context<br/>empaquetar para el LLM]
    C --> U[understand<br/>qué hacer ahora]
    X -.inspeccionar cuando quieras.-> U
    U --> A[agente recomendado]

Todos los comandos siguen la misma forma — y scan/context/explain/understand imprimen las últimas dos líneas como pie:

Pregunta → Comando → Salida → Siguiente acción
PreguntaComandoSalidaSiguiente
¿Qué hay en el repo?scanscan.json · inventoryexplain / context
¿Qué sabe Kaddo?explainexplain.mdunderstand
¿Qué le doy a un LLM?contextcontext-pack.mdagente recomendado
¿Qué debería hacer ahora?understandunderstand.md + recomendaciónla acción recomendada

Idioma del conocimiento del proyecto

El idioma del proyecto (en/es, definido en kaddo init) fluye a todo lo que Kaddo genera — pero no al CLI, que sigue en inglés.

flowchart LR
    L[project.language] --> T[Templates]
    T --> K[Conocimiento]
    K --> A[Salidas de agentes]
    L -. nunca cambia .-> C[CLI · comandos · flags · nombres de archivo]

Descubrimiento unificado de conocimiento

Cada comando descubre los artefactos de conocimiento a través de un único servicio compartido, para que explain, context, understand, owners suggest y guard siempre coincidan en qué existe. Los Work Items se descubren recursivamente en las subcarpetas del lifecycle.

flowchart TD
    K[artefactos en knowledge/<br/>recursivo · consciente del front matter] --> D[Servicio de descubrimiento unificado]
    D --> E[explain]
    D --> C[context]
    D --> U[understand]
    D --> O[owners suggest]
    D --> G[guard]

CLI vs LLM

Kaddo trabaja en dos capas. El CLI es determinístico y nunca llama a un LLM; tu chat LLM (con los prompts de agentes de Kaddo) hace la interpretación. El Repositorio de Conocimiento es el terreno común entre ambos.

flowchart LR
    subgraph CLI["Kaddo CLI · determinístico"]
        A[init]
        B[scan]
        C[context]
        D[understand]
        E[create --from roadmap]
        F[owners suggest]
        G[guard]
        H[explain]
    end
    subgraph LLM["Chat LLM + Agentes Kaddo · interpretación"]
        I[capability-agent]
        J[architecture-agent]
        K[roadmap-agent]
        L[legacy-agent]
        M[adr-agent]
        N[agentes operativos]
    end
    subgraph Repo["Repositorio de Conocimiento"]
        O[.kaddo/]
        P[knowledge/]
        Q[work-items]
        R[globs de ownership]
    end
    B --> O
    C --> O
    D --> I
    D --> J
    D --> K
    I --> P
    J --> P
    K --> P
    P --> E
    E --> Q
    Q --> F
    F --> R
    R --> G
    G --> H

Humano ↔ CLI ↔ LLM

El handoff operativo. El humano ejecuta cada comando y guarda cada artefacto revisado — Kaddo nunca llama al LLM por ti.

sequenceDiagram
    participant H as Humano
    participant CLI as Kaddo CLI
    participant Repo as Repo de Conocimiento
    participant LLM as Chat LLM + Agentes
    H->>CLI: kaddo init
    CLI->>Repo: .kaddo/config.yml
    H->>CLI: kaddo scan
    CLI->>Repo: scan.json + inventory.md
    H->>CLI: kaddo context
    CLI->>Repo: context-pack.md
    H->>CLI: kaddo add agents
    CLI->>Repo: knowledge/agents/*.md
    H->>CLI: kaddo understand
    CLI->>Repo: understand.md
    H->>LLM: context-pack + agente elegido
    LLM-->>H: artefacto propuesto
    H->>Repo: guardar artefacto revisado
    H->>CLI: kaddo create --from roadmap
    CLI->>Repo: work item
    H->>CLI: kaddo owners suggest
    CLI->>Repo: globs code: en front matter
    H->>CLI: kaddo guard
    CLI-->>H: FYI no bloqueante
    H->>CLI: kaddo explain
    CLI->>Repo: explain.md

Grafo de artefactos

Cómo cada artefacto alimenta al siguiente, desde config.yml hasta explain.md.

flowchart LR
    A[config.yml] --> B[scan.json]
    B --> C[inventory.md]
    B --> D[context-pack.md]
    D --> E[capabilities.md]
    E --> F[current-state.md]
    F --> G[roadmap.md]
    G --> H[work-items/state/*.md]
    H --> I[globs code:]
    I --> J[guard]
    J --> K[FYI de drift]
    E --> L[explain.md]
    F --> L
    G --> L
    H --> L

Estados del proyecto

kaddo init registra el estado del proyecto. El estado cambia a qué agentes recurres primero, pero el loop y los artefactos son los mismos.

flowchart TD
    A[Proyecto] --> B{Estado}
    B -->|new| C[Empezar con conocimiento ligero]
    B -->|pre-AI| D[Preparar repo existente para evolución asistida por LLM]
    B -->|legacy| E[Entender antes de cambiar]
    C --> F[roadmap-agent + architecture-agent]
    D --> G[capability-agent + architecture-agent + roadmap-agent]
    E --> H[legacy-agent + architecture-agent + capability-agent]
    F --> I[Roadmap + Work Items]
    G --> I
    H --> I
    I --> J[Ownership]
    J --> K[Guard]
    K --> L[Explain]

Mapa multirepo

Desde el repo de arquitectura mapeas repos secundarios como módulos; cada uno obtiene su propia estructura de conocimiento. Los archivos existentes nunca se sobrescriben.

flowchart TD
    A[Repo de Arquitectura] --> B[.kaddo/modules.yml]
    A --> C[knowledge/tech/modules/]
    B --> D[repo frontend]
    B --> E[repo backend]
    B --> F[repo worker]
    B --> G[repo infra]
    C --> H[frontend/module-design.md]
    C --> I[backend/module-design.md]
    C --> J[worker/module-design.md]
    C --> K[infra/module-design.md]
    H --> H1["stack · security · standards · diagrams · adrs"]
    I --> I1["stack · security · standards · diagrams · adrs"]
    J --> J1["stack · security · standards · diagrams · adrs"]
    K --> K1["stack · security · standards · diagrams · adrs"]

Knowledge Capsules (contexto externo)

Un proyecto exporta una Knowledge Capsule; otro la importa como contexto externo — sin mapeo multirepo, sin acceso al código.

flowchart LR
    R[Repo externo] --> E[kaddo capsule export]
    E --> CAP[Knowledge Capsule]
    CAP --> A[kaddo capsule add]
    A --> CTX["External Knowledge en el context-pack"]
    CTX --> L[Agente LLM]

Exportar el grafo de conocimiento

kaddo graph export convierte las relaciones ya declaradas en tu conocimiento en un grafo de conocimiento liviano basado en archivos — para onboarding, análisis de impacto y selección de contexto. Sin base de grafos, sin leer código fuente.

flowchart LR
    M["Markdown + front matter"] --> GX[kaddo graph export]
    GX --> J["graph.json + graph.mmd"]
    J --> U["Onboarding / Análisis de impacto / Selección de contexto"]

Los scopes difieren por intención:

Grafo active: contexto de delivery actual (draft, ready, in-progress, blocked)
Grafo all: mapa completo (+ completed; archived excluido por defecto)
Guard: ownership active + completed (archived excluido por defecto)

Cada exportación también califica la calidad de las relaciones y escribe graph-hints.md — sugerencias no bloqueantes para enriquecer el front matter. El graph-agent convierte los hints en metadata precisa que tú confirmas y aplicas:

flowchart LR
    GX[kaddo graph export] --> H["graph-hints.md"]
    H --> GA[graph-agent]
    GA --> C{El humano confirma}
    C --> FM["Mejor front matter"]
    FM --> GX

Habilidades (capacidades reutilizables)

Los agentes orquestan el flujo; las habilidades estandarizan cómo hacer bien lo común. Un agente aplica una o más skills para producir salidas consistentes.

flowchart LR
    K[Knowledge] --> C[Context Pack]
    C --> A[Agente]
    A --> S[Skill]
    S --> O[Salida estructurada]

Servidor MCP (solo lectura)

Los agentes e IDEs pueden leer el conocimiento curado de Kaddo directamente mediante el servidor de solo lectura @kaddo/mcp — sin copiar y pegar, sin escanear código.

flowchart LR
    A["Cliente MCP / IDE / agente"] --> M["@kaddo/mcp (solo lectura)"]
    M --> K[".kaddo/ + knowledge/ + external/"]
    K --> O["context · explain · understand · grafo · work items · capsules · prompts"]

Ownership asistido por agente

El ownership-agent propone globs code: precisos; tú confirmas y los aplicas. owners suggest es la herramienta manual/override (con normalización de globs y validación de rutas).

flowchart LR
    S[kaddo scan] --> C[kaddo context]
    C --> O[ownership-agent]
    O --> H{El humano confirma}
    H --> A[kaddo owners suggest / apply]
    A --> G[kaddo guard]

Flujo de ownership

El ownership lo propone un agente a partir de las señales del scan y lo confirma un humano antes de registrarlo en el artefacto. code: acepta múltiples globs.

flowchart LR
    A[kaddo scan] --> B[kaddo owners suggest]
    B --> C[el agente interpreta señales]
    C --> D[el humano confirma]
    D --> E[ownership registrado en el artefacto: globs code:]
    E --> F[kaddo guard relaciona los cambios de código]

Roadmap → Candidatos → Work Items materializados

Un roadmap lista candidatos, no Work Items. El roadmap-agent (en tu chat LLM) escribe el roadmap en cualquier formato soportado; el CLI de Kaddo parsea los candidatos de forma determinista; tú los materializas en Work Items reales con kaddo create --from roadmap. explain y understand reportan la brecha (candidatos restantes).

flowchart LR
    A[roadmap-agent en chat LLM] --> B[knowledge/delivery/roadmap.md<br/>tabla · viñetas · checklist · mixto]
    B --> C[Candidatos parseados<br/>WI-001, WI-002, …]
    C -->|kaddo create --from roadmap| D[Work Items materializados<br/>knowledge/delivery/work-items/draft/]
    C -.candidatos restantes.-> E[explain · understand<br/>candidatos vs materializados]
    D -.-> E

Workspace lifecycle de Work Items

Los Work Items son un area de trabajo activa organizada por estado del lifecycle. Fase e iniciativa permanecen como metadata de front matter; no crean carpetas.

Cada Work Item tiene un tipofeature, bugfix, hotfix, spike o chore — que recorre el mismo lifecycle. chore evita que el trabajo de mantenimiento/tooling/config/infra se etiquete erróneamente como feature.

flowchart TD
    T["type: feature · bugfix · hotfix · spike · chore"] --> A
    A[Roadmap Candidate] --> B[Draft]
    B --> C[Ready]
    C --> D[In Progress]
    D --> E[Completed]
    E --> F[Archived]
    D --> G[Blocked]
    G --> C

Ciclo de entrega de un Work Item

De un Work Item a un commit, manteniendo el conocimiento sincronizado. El CLI de Kaddo nunca toca git: el agente que implementa (work-item-agent) crea la rama y commitea solo con tu confirmación.

flowchart TD
    A[Roadmap] --> B[Crear Work Item]
    B --> C[Rama — agente, según git strategy]
    C --> D[Implementación]
    D --> E[kaddo scan]
    E --> F[kaddo owners suggest → el humano confirma]
    F --> G[kaddo guard antes del commit]
    G --> H[Actualizar conocimiento: ADR · capabilities · current-state]
    H --> I[Review humano]
    I --> J[Commit ej. feat scope: mensaje]

Guard Lite

Guard lee git diff, matchea los archivos cambiados contra los globs code: declarados y emite un FYI no bloqueante solo cuando un artefacto dueño no se actualizó en el mismo diff. Es silencioso cuando ningún artefacto declara ownership.

flowchart TD
    A[git diff] --> B[Archivos cambiados]
    C[Artefactos con front matter] --> D[globs code:]
    B --> E[Match archivos vs globs]
    D --> E
    E --> F{Match?}
    F -->|No| G[Sin aviso]
    F -->|Sí| H{Artefacto también cambió?}
    H -->|Sí| I[Sin aviso]
    H -->|No| J[FYI de Posible Knowledge Drift]
    J --> K[El humano revisa]
    K --> L[Actualizar artefacto o confirmar sin impacto]

Niveles de gobernanza

La gobernanza escala según el tamaño de equipo. Kaddo nunca la impone — la revisión ocurre por excepción.

flowchart TD
    A[Proyecto Kaddo] --> B{Tamaño de equipo}
    B -->|Indie| C[Sin owner formal]
    B -->|Equipo pequeño| D[Revisión en PR]
    B -->|Equipo mediano| E[Tech Lead por excepción]
    B -->|Enterprise| F[Domain Owners]
    C --> G[Conocimiento mínimo suficiente]
    D --> G
    E --> G
    F --> G
    G --> H[Work Items por Nivel de Conocimiento]
    H --> I[Guard como señal no bloqueante]

Kaddo de un vistazo

Un mapa de alto nivel de comandos, agentes, artefactos, plantillas y principios.

mindmap
  root((Kaddo))
    CLI
      init
      scan
      context
      understand
      create
      owners
      guard
      explain
      modules
    Agentes
      capability
      architecture
      roadmap
      legacy
      adr
      work-item
      git-strategy
      security
      standards
      stack
      module-design
    Artefactos
      .kaddo
      architecture
      work-items
      modules
    Plantillas
      core
      architecture
      module
      operations
      legacy
    Principios
      CLI determinístico
      Sin llamadas a LLM
      El humano confirma
      Guard no bloqueante
      Ownership en front matter

Qué no significan los diagramas

Para mantener expectativas honestas, estos diagramas no implican que:

  • Kaddo llame a un LLM — tú ejecutas los agentes en tu propio chat.
  • Guard bloquee — siempre es un FYI no bloqueante.
  • El ownership se infiera — los globs code: se declaran y los confirma un humano.
  • Kaddo escanee repos remotos o llame a APIs de Git/GitHub.
  • Kaddo genere estos diagramas automáticamente — son docs escritos a mano.

Siguiente: recorre el mismo loop con artefactos reales en los Ejemplos, o lee el Prompt Workflow paso a paso.

Creado por Julian Dario Luna Patiño · v3.60.0