Skip to content

Visual Guide

This page is the visual map of Kaddo. It shows the implemented v2.6+ knowledge loop: what the deterministic CLI does, what your LLM agents do, how artifacts connect, and how Guard, multirepo and governance fit in. Click any diagram to open it full-screen.

These diagrams describe behavior that exists today. They do not imply any future automation — see What the diagrams do not mean.

Operating moments

Kaddo matures a project’s knowledge through four moments. See Operating Moments for the full breakdown.

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

Knowledge layers (macro flow)

Kaddo frames the whole project as four macro layers under knowledge/. Each answers one question and stays connected to the one above it.

flowchart TD
    B[Business — why it exists] --> P[Product — what we build]
    P --> T[Tech — how we build it]
    T --> D[Delivery — how we evolve it]
    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 seeds the minimal base (Business + Product + tech/codebase.md); Delivery and decisions emerge later through agents and real work.

Repository Exploration Tax

Without structured knowledge, agents spend part of every session rediscovering the project. With Kaddo, they can start from a context pack built from explicit knowledge.

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

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

Knowledge maturity

Kaddo recognizes knowledge by front-matter type (not file name) and reports a maturity per layer. Knowledge grows from consolidated to traceable as the project earns it.

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

The full loop, from a raw repo to an explained knowledge state. CLI steps are deterministic; the agent step happens in your own LLM chat.

flowchart TD
    A[Repo / Project] --> 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[LLM Chat + Kaddo Agents]
    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[front matter code: globs]
    P --> Q[Code changes]
    Q --> R[kaddo guard]
    R --> S{Possible drift?}
    S -->|Yes| T[Review / update artifact]
    S -->|No| U[Continue]
    T --> V[kaddo explain]
    U --> V
    V --> W[explain.md]

Agent flow & responsibility boundaries

Each agent produces knowledge and hands off to the next. Only the implementation-agent may suggest a Git branch — and only by respecting the project Git strategy. The roadmap-agent and work-item-agent never suggest branches or 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 -. only this agent suggests a branch .-> H

Backlog capture (idea → structured work)

The backlog-agent turns any raw idea, note or transcript into a Work Item draft or a roadmap candidate. It never refines, implements or auto-runs the next agent — a human always decides what happens next.

flowchart TD
    I[Idea / notes / transcript] --> BL[backlog-agent]
    BL --> D[Work Item draft]
    BL --> RC[Roadmap candidate]
    BL --> M[Multiple items - split]
    D --> H{Human decides}
    RC --> H
    M --> H
    H --> WI[work-item-agent]
    WI --> R[ready] --> IMPL[implementation-agent]
Ideabacklog-agent output
”Export tasks to CSV”a Work Item draft
”A complete authentication system”a roadmap candidate
”Login · Reports · Notifications”3 backlog items

Command roles: scan · context · explain · understand

Each command has a distinct role. understand recommends the next step from the real knowledge state, not just the configured project.state.

flowchart LR
    S[scan<br/>detect signals] --> X[explain<br/>what Kaddo knows]
    S --> C[context<br/>package for LLM]
    C --> U[understand<br/>what to do now]
    X -.inspect anytime.-> U
    U --> A[recommended agent]

Every command follows the same shape — and scan/context/explain/understand print the last two lines as a footer:

Question → Command → Output → Next action
QuestionCommandOutputNext
What exists in the repo?scanscan.json · inventoryexplain / context
What does Kaddo know?explainexplain.mdunderstand
What do I give an LLM?contextcontext-pack.mdrecommended agent
What should I do now?understandunderstand.md + recommendationthe recommended action

Project knowledge language

The project language (en/es, set at kaddo init) flows into everything Kaddo generates — but not the CLI, which stays English.

flowchart LR
    L[project.language] --> T[Templates]
    T --> K[Knowledge]
    K --> A[Agent outputs]
    L -. never changes .-> C[CLI · commands · flags · file names]

Unified knowledge discovery

Every command discovers knowledge artifacts through one shared service, so explain, context, understand, owners suggest and guard always agree on what exists. Work Items are discovered recursively across lifecycle subfolders.

flowchart TD
    K[knowledge/ artifacts<br/>recursive · front-matter aware] --> D[Unified discovery service]
    D --> E[explain]
    D --> C[context]
    D --> U[understand]
    D --> O[owners suggest]
    D --> G[guard]

CLI vs LLM

Kaddo works in two layers. The CLI is deterministic and never calls an LLM; your LLM chat (with Kaddo agent prompts) does the interpretation. The Knowledge Repository is the shared ground between them.

flowchart LR
    subgraph CLI["Kaddo CLI · deterministic"]
        A[init]
        B[scan]
        C[context]
        D[understand]
        E[create --from roadmap]
        F[owners suggest]
        G[guard]
        H[explain]
    end
    subgraph LLM["LLM Chat + Kaddo Agents · interpretation"]
        I[capability-agent]
        J[architecture-agent]
        K[roadmap-agent]
        L[legacy-agent]
        M[adr-agent]
        N[operational agents]
    end
    subgraph Repo["Knowledge Repository"]
        O[.kaddo/]
        P[knowledge/]
        Q[work-items]
        R[ownership globs]
    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

Human ↔ CLI ↔ LLM

The operational handoff. The human runs every command and saves every reviewed artifact — Kaddo never calls the LLM for you.

sequenceDiagram
    participant H as Human
    participant CLI as Kaddo CLI
    participant Repo as Knowledge Repo
    participant LLM as LLM Chat + Agents
    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 + selected agent
    LLM-->>H: proposed artifact
    H->>Repo: save reviewed artifact
    H->>CLI: kaddo create --from roadmap
    CLI->>Repo: work item
    H->>CLI: kaddo owners suggest
    CLI->>Repo: code globs in front matter
    H->>CLI: kaddo guard
    CLI-->>H: non-blocking FYI
    H->>CLI: kaddo explain
    CLI->>Repo: explain.md

Artifact graph

How each artifact feeds the next, from config.yml to 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[code: globs]
    I --> J[guard]
    J --> K[drift FYI]
    E --> L[explain.md]
    F --> L
    G --> L
    H --> L

Project states

kaddo init records the project state. The state changes which agents you reach for first, but the loop and artifacts are the same.

flowchart TD
    A[Project] --> B{State}
    B -->|new| C[Start with lightweight knowledge]
    B -->|pre-AI| D[Prepare existing repo for LLM-assisted evolution]
    B -->|legacy| E[Understand before changing]
    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]

Multirepo map

From the architecture repo you map secondary repos as modules; each gets its own knowledge structure. Existing files are never overwritten.

flowchart TD
    A[Architecture Repo] --> B[.kaddo/modules.yml]
    A --> C[knowledge/tech/modules/]
    B --> D[frontend repo]
    B --> E[backend repo]
    B --> F[worker repo]
    B --> G[infra repo]
    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 (external context)

A project exports a Knowledge Capsule; another imports it as external context — no multirepo mapping, no source access.

flowchart LR
    R[External repo] --> E[kaddo capsule export]
    E --> CAP[Knowledge Capsule]
    CAP --> A[kaddo capsule add]
    A --> CTX["External Knowledge in context-pack"]
    CTX --> L[LLM agent]

Knowledge graph export

kaddo graph export turns the relationships already declared in your knowledge into a lightweight, file-based knowledge graph — for onboarding, impact analysis and context selection. No graph database, no source reads.

flowchart LR
    M["Markdown + front matter"] --> GX[kaddo graph export]
    GX --> J["graph.json + graph.mmd"]
    J --> U["Onboarding / Impact analysis / Context selection"]

Scopes differ by intent:

Active graph: current delivery context (draft, ready, in-progress, blocked)
All graph: full knowledge map (+ completed; archived excluded by default)
Guard: active + completed ownership (archived excluded by default)

Each export also rates relationship quality and writes graph-hints.md — non-blocking suggestions to enrich front matter. The graph-agent turns hints into precise metadata you confirm and apply:

flowchart LR
    GX[kaddo graph export] --> H["graph-hints.md"]
    H --> GA[graph-agent]
    GA --> C{Human confirms}
    C --> FM["Better front matter"]
    FM --> GX

Skills (reusable capabilities)

Agents orchestrate the flow; skills standardize how to do common things well. An agent applies one or more skills to produce consistent output.

flowchart LR
    K[Knowledge] --> C[Context Pack]
    C --> A[Agent]
    A --> S[Skill]
    S --> O[Structured output]

MCP server (read-only)

Agents and IDEs can read curated Kaddo knowledge directly through the read-only @kaddo/mcp server — no manual copy/paste, no source scanning.

flowchart LR
    A["MCP client / IDE / agent"] --> M["@kaddo/mcp (read-only)"]
    M --> K[".kaddo/ + knowledge/ + external/"]
    K --> O["context · explain · understand · graph · work items · capsules · prompts"]

Ownership: agent-assisted

The ownership-agent proposes precise code: globs; you confirm and apply them. owners suggest is the manual/override tool (with glob normalization and path validation).

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

Ownership flow

Ownership is proposed from scan signals by an agent and confirmed by a human before it is recorded on the artifact. code: accepts multiple globs.

flowchart LR
    A[kaddo scan] --> B[kaddo owners suggest]
    B --> C[agent interprets signals]
    C --> D[human confirms]
    D --> E[ownership recorded on artifact: code: globs]
    E --> F[kaddo guard relates code changes]

Roadmap → Candidates → Materialized Work Items

A roadmap lists candidates, not Work Items. The roadmap-agent (in your LLM chat) writes the roadmap in any supported format; the Kaddo CLI parses candidates deterministically; you materialize them into real Work Items with kaddo create --from roadmap. explain and understand report the gap (remaining candidates).

flowchart LR
    A[roadmap-agent in LLM chat] --> B[knowledge/delivery/roadmap.md<br/>table · bullet · checklist · mixed]
    B --> C[Parsed candidates<br/>WI-001, WI-002, …]
    C -->|kaddo create --from roadmap| D[Materialized Work Items<br/>knowledge/delivery/work-items/draft/]
    C -.remaining candidates.-> E[explain · understand<br/>candidates vs materialized]
    D -.-> E

Work Item lifecycle workspace

Work Items are an active workspace organized by lifecycle state. Phase and initiative remain front matter metadata; they do not create folders.

Each Work Item has a typefeature, bugfix, hotfix, spike or chore — that flows through the same lifecycle. chore keeps maintenance/tooling/config/infra work from being mislabeled as a 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

Work Item delivery lifecycle

From a Work Item to a commit, with knowledge kept in sync. The Kaddo CLI never touches git: the implementing agent (work-item-agent) creates the branch and commits only with your confirmation.

flowchart TD
    A[Roadmap] --> B[Create Work Item]
    B --> C[Branch — agent, per git strategy]
    C --> D[Implementation]
    D --> E[kaddo scan]
    E --> F[kaddo owners suggest → human confirms]
    F --> G[kaddo guard before commit]
    G --> H[Update knowledge: ADR · capabilities · current-state]
    H --> I[Review human]
    I --> J[Commit e.g. feat scope: message]

Guard Lite

Guard reads git diff, matches changed files against declared code: globs, and emits a non-blocking FYI only when an owning artifact was not updated in the same diff. It is silent when no artifact declares ownership.

flowchart TD
    A[git diff] --> B[Changed files]
    C[Artifacts with front matter] --> D[code: globs]
    B --> E[Match files vs globs]
    D --> E
    E --> F{Match?}
    F -->|No| G[No warning]
    F -->|Yes| H{Artifact also changed?}
    H -->|Yes| I[No warning]
    H -->|No| J[Possible Knowledge Drift FYI]
    J --> K[Human reviews]
    K --> L[Update artifact or confirm no impact]

Governance levels

Governance scales by team size. Kaddo never enforces it — review happens by exception.

flowchart TD
    A[Kaddo Project] --> B{Team size}
    B -->|Indie| C[No formal owner]
    B -->|Small team| D[Review in PR]
    B -->|Medium team| E[Tech Lead by exception]
    B -->|Enterprise| F[Domain Owners]
    C --> G[Minimum sufficient knowledge]
    D --> G
    E --> G
    F --> G
    G --> H[Work Items by Knowledge Level]
    H --> I[Guard as non-blocking signal]

Kaddo at a glance

A high-level map of commands, agents, artifacts, templates and principles.

mindmap
  root((Kaddo))
    CLI
      init
      scan
      context
      understand
      create
      owners
      guard
      explain
      modules
    Agents
      capability
      architecture
      roadmap
      legacy
      adr
      work-item
      git-strategy
      security
      standards
      stack
      module-design
    Artifacts
      .kaddo
      architecture
      work-items
      modules
    Templates
      core
      architecture
      module
      operations
      legacy
    Principles
      CLI deterministic
      No LLM calls
      Human confirms
      Guard non-blocking
      Ownership in front matter

What the diagrams do not mean

To keep expectations honest, these diagrams do not imply that:

  • Kaddo calls an LLM — you run agents in your own chat.
  • Guard blocks — it is always a non-blocking FYI.
  • Ownership is inferred — code: globs are declared and human-confirmed.
  • Kaddo scans remote repos or calls Git/GitHub APIs.
  • Kaddo generates these diagrams automatically — they are authored docs.

Next: walk the same loop with real artifacts in the Examples, or read the step-by-step Prompt Workflow.

Created by Julian Dario Luna Patiño · v3.60.0