# sysevol-ai/codenib architecture

> Architecture diagram of the GitHub repository sysevol-ai/codenib, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sysevol-ai/codenib
- Repository: https://github.com/sysevol-ai/codenib

## Overview

CodeNib helps coding agents locate relevant repository code and navigate typed symbol relationships; it also generates citation-backed repository Wikis for people to browse. The principal workflow is local repository setup and indexing, followed by agent queries through MCP for bounded source context and graph navigation. Separate capabilities include Wiki generation and publication, and an optional model-backed grep-to-Jev retrieval route. The README documents these product paths; sampled excerpts confirm the retrieval pipeline, multimodal Wiki construction, Wiki storage boundary, and web/API surfaces, but do not expose all runtime wiring.

Main entry points: [`codenib/mcp/tools`](https://github.com/sysevol-ai/codenib/tree/main/codenib/mcp/tools) (MCP tools), [`codenib/compiler/index_compiler.py`](https://github.com/sysevol-ai/codenib/blob/main/codenib/compiler/index_compiler.py) (Index compiler), [`codenib/wiki/builder.py`](https://github.com/sysevol-ai/codenib/blob/main/codenib/wiki/builder.py) (Wiki generation), [`codenib/web/app.py`](https://github.com/sysevol-ai/codenib/blob/main/codenib/web/app.py) (Wiki and graph API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_indexing["Repository indexing"]
  node_cli["CodeNib CLI<br/>[cli.py]"]
  node_compiler["Index compiler<br/>[index_compiler.py]"]
  node_chunking["Code chunkers"]
  node_graph["Typed symbol graph<br/>[code_graph.py]"]
  node_indexes["Search indexes"]
end

subgraph group_navigation["Search and navigation"]
  node_context["Context retrieval"]
  node_graph_retrieval["Graph retrieval"]
  node_lsp["LSP navigation<br/>[ls_router.py]"]
  node_source["Source context"]
end

subgraph group_agent["Agent access"]
  node_mcp["MCP server<br/>[server.py]"]
  node_mcp_tools["MCP tools"]
  node_agent_clients["Agent integrations"]
end

subgraph group_wiki["Wiki and browsing"]
  node_wiki_builder["Wiki generation<br/>[builder.py]"]
  node_wiki_media["Multimodal knowledge<br/>[media_pipeline.py]"]
  node_wiki_store[("Wiki storage<br/>[sqlite_store.py]")]
  node_web_api["Wiki and graph API<br/>[app.py]"]
  node_web_ui["Web interface<br/>[main.tsx]"]
end

subgraph group_optional["Optional methods"]
  node_grep_jev["Grep-to-Jev route<br/>[grep_jev.py]"]
  node_llm(("Remote model provider"))
end

node_developer(("Developer / agent"))

node_developer -->|"sets up"| node_cli
node_cli -->|"builds indexes"| node_compiler
node_compiler -->|"chunks source"| node_chunking
node_compiler -->|"builds graph"| node_graph
node_compiler -->|"builds views"| node_indexes
node_developer -->|"queries"| node_mcp
node_agent_clients -->|"connect"| node_mcp
node_mcp -->|"dispatches tools"| node_mcp_tools
node_mcp_tools -->|"retrieves context"| node_context
node_mcp_tools -->|"searches graph"| node_graph_retrieval
node_mcp_tools -->|"routes navigation"| node_lsp
node_context -->|"searches"| node_indexes
node_graph_retrieval -->|"expands candidates"| node_graph
node_mcp_tools -->|"returns citations"| node_source
node_developer -->|"requests Wiki"| node_wiki_builder
node_wiki_builder -->|"stores pages"| node_wiki_store
node_wiki_builder -->|"builds media knowledge"| node_wiki_media
node_developer -->|"browses"| node_web_api
node_web_api -->|"reads Wiki"| node_wiki_store
node_web_api -->|"serves data"| node_web_ui
node_developer -.->|"opts into"| node_grep_jev
node_grep_jev -.->|"plans and reranks"| node_llm

click node_cli "https://github.com/sysevol-ai/codenib/blob/main/codenib/cli.py"
click node_compiler "https://github.com/sysevol-ai/codenib/blob/main/codenib/compiler/index_compiler.py"
click node_chunking "https://github.com/sysevol-ai/codenib/tree/main/codenib/code_chunking"
click node_graph "https://github.com/sysevol-ai/codenib/blob/main/codenib/graph/code_graph.py"
click node_indexes "https://github.com/sysevol-ai/codenib/tree/main/codenib/index"
click node_mcp "https://github.com/sysevol-ai/codenib/blob/main/codenib/mcp/server.py"
click node_mcp_tools "https://github.com/sysevol-ai/codenib/tree/main/codenib/mcp/tools"
click node_context "https://github.com/sysevol-ai/codenib/blob/main/codenib/model/retrieve_rerank_pipeline.py"
click node_graph_retrieval "https://github.com/sysevol-ai/codenib/blob/main/codenib/model/graph_retrieve_pipeline.py"
click node_lsp "https://github.com/sysevol-ai/codenib/blob/main/codenib/ls_router.py"
click node_source "https://github.com/sysevol-ai/codenib/blob/main/codenib/context_delivery.py"
click node_agent_clients "https://github.com/sysevol-ai/codenib/tree/main/codenib/clients"
click node_wiki_builder "https://github.com/sysevol-ai/codenib/blob/main/codenib/wiki/builder.py"
click node_wiki_media "https://github.com/sysevol-ai/codenib/blob/main/codenib/wiki/media_pipeline.py"
click node_wiki_store "https://github.com/sysevol-ai/codenib/blob/main/codenib/wiki/sqlite_store.py"
click node_web_api "https://github.com/sysevol-ai/codenib/blob/main/codenib/web/app.py"
click node_web_ui "https://github.com/sysevol-ai/codenib/blob/main/web/src/main.tsx"
click node_grep_jev "https://github.com/sysevol-ai/codenib/blob/main/codenib/agent/runtime/grep_jev.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_compiler,node_chunking,node_graph,node_indexes toneBlue
class node_context,node_graph_retrieval,node_lsp,node_source toneAmber
class node_mcp,node_mcp_tools,node_agent_clients toneMint
class node_wiki_builder,node_wiki_media,node_wiki_store,node_web_api,node_web_ui toneRose
class node_grep_jev,node_llm,node_developer toneIndigo
```

## Components

### Repository indexing

- [CodeNib CLI](https://github.com/sysevol-ai/codenib/blob/main/codenib/cli.py): `codenib/cli.py`
- [Index compiler](https://github.com/sysevol-ai/codenib/blob/main/codenib/compiler/index_compiler.py): `codenib/compiler/index_compiler.py`
- [Code chunkers](https://github.com/sysevol-ai/codenib/tree/main/codenib/code_chunking): `codenib/code_chunking`
- [Typed symbol graph](https://github.com/sysevol-ai/codenib/blob/main/codenib/graph/code_graph.py): `codenib/graph/code_graph.py`
- [Search indexes](https://github.com/sysevol-ai/codenib/tree/main/codenib/index): `codenib/index`

### Search and navigation

- [Context retrieval](https://github.com/sysevol-ai/codenib/blob/main/codenib/model/retrieve_rerank_pipeline.py): `codenib/model/retrieve_rerank_pipeline.py`
- [Graph retrieval](https://github.com/sysevol-ai/codenib/blob/main/codenib/model/graph_retrieve_pipeline.py): `codenib/model/graph_retrieve_pipeline.py`
- [LSP navigation](https://github.com/sysevol-ai/codenib/blob/main/codenib/ls_router.py): `codenib/ls_router.py`
- [Source context](https://github.com/sysevol-ai/codenib/blob/main/codenib/context_delivery.py): `codenib/context_delivery.py`

### Agent access

- [MCP server](https://github.com/sysevol-ai/codenib/blob/main/codenib/mcp/server.py): `codenib/mcp/server.py`
- [MCP tools](https://github.com/sysevol-ai/codenib/tree/main/codenib/mcp/tools): `codenib/mcp/tools`
- [Agent integrations](https://github.com/sysevol-ai/codenib/tree/main/codenib/clients): `codenib/clients`

### Wiki and browsing

- [Wiki generation](https://github.com/sysevol-ai/codenib/blob/main/codenib/wiki/builder.py): `codenib/wiki/builder.py`
- [Multimodal knowledge](https://github.com/sysevol-ai/codenib/blob/main/codenib/wiki/media_pipeline.py): `codenib/wiki/media_pipeline.py`
- [Wiki storage](https://github.com/sysevol-ai/codenib/blob/main/codenib/wiki/sqlite_store.py): `codenib/wiki/sqlite_store.py`
- [Wiki and graph API](https://github.com/sysevol-ai/codenib/blob/main/codenib/web/app.py): `codenib/web/app.py`
- [Web interface](https://github.com/sysevol-ai/codenib/blob/main/web/src/main.tsx): `web/src/main.tsx`

### Optional methods

- [Grep-to-Jev route](https://github.com/sysevol-ai/codenib/blob/main/codenib/agent/runtime/grep_jev.py): `codenib/agent/runtime/grep_jev.py`
- **Remote model provider**

### Other components

- **Developer / agent**

## Connections

- Developer / agent → CodeNib CLI: sets up
- CodeNib CLI → Index compiler: builds indexes
- Index compiler → Code chunkers: chunks source
- Index compiler → Typed symbol graph: builds graph
- Index compiler → Search indexes: builds views
- Developer / agent → MCP server: queries
- Agent integrations → MCP server: connect
- MCP server → MCP tools: dispatches tools
- MCP tools → Context retrieval: retrieves context
- MCP tools → Graph retrieval: searches graph
- MCP tools → LSP navigation: routes navigation
- Context retrieval → Search indexes: searches
- Graph retrieval → Typed symbol graph: expands candidates
- MCP tools → Source context: returns citations
- Developer / agent → Wiki generation: requests Wiki
- Wiki generation → Wiki storage: stores pages
- Wiki generation → Multimodal knowledge: builds media knowledge
- Developer / agent → Wiki and graph API: browses
- Wiki and graph API → Wiki storage: reads Wiki
- Wiki and graph API → Web interface: serves data
- Developer / agent → Grep-to-Jev route: opts into
- Grep-to-Jev route → Remote model provider: plans and reranks
