# rfkokt/command-rdev-center architecture

> Architecture diagram of the GitHub repository rfkokt/command-rdev-center, 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/rfkokt/command-rdev-center
- Repository: https://github.com/rfkokt/command-rdev-center

## Overview

Kern Studio is a local-first desktop workspace for using the pi coding agent across projects. The main workflow is to discover a project, open an agent session (optionally in an isolated worktree), then inspect or deliver its changes through review, Kanban, and pipeline tools. Separate dashboards support restricted Deep Research and local knowledge features. The tree, README, and sampled command registrations support these major product areas; several subsystem connections are documented capabilities rather than inspected call sites.

Main entry points: [`src-tauri/src/lib.rs`](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/lib.rs) (Native command host), [`src/App.tsx`](https://github.com/rfkokt/command-rdev-center/blob/main/src/App.tsx) (Workspace shell), [`src/components/ChatView.tsx`](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/ChatView.tsx) (Agent chat), [`src-tauri/src/pi_rpc.rs`](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/pi_rpc.rs) (Pi session runtime)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Workspace UI"]
  node_app["Workspace shell<br/>[App.tsx]"]
  node_chat["Agent chat<br/>[ChatView.tsx]"]
  node_tauri["Native command host<br/>[lib.rs]"]
end

subgraph group_agent["Agent and research"]
  node_pi["Pi session runtime<br/>[pi_rpc.rs]"]
  node_research_ui["Research dashboard"]
  node_research["Deep Research<br/>[deep_research.rs]"]
  node_prompt_ui["Prompt engines"]
  node_prompt_store[("Prompt engine store<br/>[prompt_engines.rs]")]
  node_skills["Agent skills<br/>[skills.rs]"]
end

subgraph group_projects["Project work"]
  node_projects["Project discovery<br/>[projects.rs]"]
  node_worktrees["Isolated worktrees<br/>[worktree.rs]"]
  node_terminal["Project terminal<br/>[terminal.rs]"]
end

subgraph group_delivery["Knowledge and delivery"]
  node_review["Diff and source control<br/>[DiffPanel.tsx]"]
  node_scm["Git operations<br/>[scm.rs]"]
  node_kanban["Kanban tracking<br/>[KanbanBoard.tsx]"]
  node_kanban_backend["Task management<br/>[kanban.rs]"]
  node_pipeline_ui["Pipeline dashboard<br/>[PipelineView.tsx]"]
  node_pipeline_settings["Pipeline settings"]
  node_pipeline["Pipeline runner<br/>[pipeline.rs]"]
  node_rag["RAG knowledge<br/>[rag.rs]"]
  node_graph["Graphify context<br/>[graph.rs]"]
end

node_user(("User"))
node_pi_cli["Pi CLI"]
node_web["Web sources"]
node_git[("Git repositories")]

node_user -->|"uses"| node_app
node_app -->|"opens sessions"| node_chat
node_app -->|"opens dashboard"| node_research_ui
node_app -->|"opens dashboard"| node_prompt_ui
node_app -->|"opens dashboard"| node_kanban
node_app -->|"opens dashboard"| node_pipeline_ui
node_chat -->|"invokes commands"| node_tauri
node_research_ui -->|"invokes commands"| node_tauri
node_prompt_ui -->|"lists and saves"| node_prompt_store
node_pipeline_ui -->|"starts and controls"| node_pipeline
node_pipeline_settings -->|"configures"| node_pipeline
node_tauri -->|"dispatches commands"| node_projects
node_tauri -->|"dispatches commands"| node_worktrees
node_tauri -->|"dispatches commands"| node_pi
node_tauri -->|"dispatches commands"| node_research
node_tauri -->|"dispatches commands"| node_kanban_backend
node_tauri -->|"dispatches commands"| node_scm
node_tauri -->|"dispatches commands"| node_rag
node_tauri -->|"dispatches commands"| node_graph
node_tauri -->|"dispatches commands"| node_terminal
node_tauri -->|"dispatches commands"| node_skills
node_pi -->|"runs sessions"| node_pi_cli
node_research -->|"retrieves sources"| node_web
node_scm -->|"reads and changes"| node_git
node_projects -->|"discovers repositories"| node_git

click node_app "https://github.com/rfkokt/command-rdev-center/blob/main/src/App.tsx"
click node_chat "https://github.com/rfkokt/command-rdev-center/blob/main/src/components/ChatView.tsx"
click node_tauri "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/lib.rs"
click node_projects "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/projects.rs"
click node_worktrees "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/worktree.rs"
click node_pi "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/pi_rpc.rs"
click node_research_ui "https://github.com/rfkokt/command-rdev-center/blob/main/src/components/DeepResearchView.tsx"
click node_research "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/deep_research.rs"
click node_prompt_ui "https://github.com/rfkokt/command-rdev-center/blob/main/src/components/PromptEnginesView.tsx"
click node_prompt_store "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/prompt_engines.rs"
click node_review "https://github.com/rfkokt/command-rdev-center/blob/main/src/components/DiffPanel.tsx"
click node_scm "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/scm.rs"
click node_kanban "https://github.com/rfkokt/command-rdev-center/blob/main/src/components/KanbanBoard.tsx"
click node_kanban_backend "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/kanban.rs"
click node_pipeline_ui "https://github.com/rfkokt/command-rdev-center/blob/main/src/components/PipelineView.tsx"
click node_pipeline_settings "https://github.com/rfkokt/command-rdev-center/blob/main/src/components/PipelineSettings.tsx"
click node_pipeline "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/pipeline.rs"
click node_rag "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/rag.rs"
click node_graph "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/graph.rs"
click node_terminal "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/terminal.rs"
click node_skills "https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/skills.rs"

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_app,node_chat,node_tauri,node_user toneBlue
class node_pi,node_research_ui,node_research,node_prompt_ui,node_prompt_store,node_skills,node_git toneAmber
class node_projects,node_worktrees,node_terminal toneMint
class node_review,node_scm,node_kanban,node_kanban_backend,node_pipeline_ui,node_pipeline_settings,node_pipeline,node_rag,node_graph toneRose
class node_pi_cli,node_web toneIndigo
```

## Components

### Workspace UI

- [Workspace shell](https://github.com/rfkokt/command-rdev-center/blob/main/src/App.tsx): `src/App.tsx`
- [Agent chat](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/ChatView.tsx): `src/components/ChatView.tsx`
- [Native command host](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/lib.rs): `src-tauri/src/lib.rs`

### Agent and research

- [Pi session runtime](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/pi_rpc.rs): `src-tauri/src/pi_rpc.rs`
- [Research dashboard](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/DeepResearchView.tsx): `src/components/DeepResearchView.tsx`
- [Deep Research](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/deep_research.rs): `src-tauri/src/deep_research.rs`
- [Prompt engines](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/PromptEnginesView.tsx): `src/components/PromptEnginesView.tsx`
- [Prompt engine store](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/prompt_engines.rs): `src-tauri/src/prompt_engines.rs`
- [Agent skills](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/skills.rs): `src-tauri/src/skills.rs`

### Project work

- [Project discovery](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/projects.rs): `src-tauri/src/projects.rs`
- [Isolated worktrees](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/worktree.rs): `src-tauri/src/worktree.rs`
- [Project terminal](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/terminal.rs): `src-tauri/src/terminal.rs`

### Knowledge and delivery

- [Diff and source control](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/DiffPanel.tsx): `src/components/DiffPanel.tsx`
- [Git operations](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/scm.rs): `src-tauri/src/scm.rs`
- [Kanban tracking](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/KanbanBoard.tsx): `src/components/KanbanBoard.tsx`
- [Task management](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/kanban.rs): `src-tauri/src/kanban.rs`
- [Pipeline dashboard](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/PipelineView.tsx): `src/components/PipelineView.tsx`
- [Pipeline settings](https://github.com/rfkokt/command-rdev-center/blob/main/src/components/PipelineSettings.tsx): `src/components/PipelineSettings.tsx`
- [Pipeline runner](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/pipeline.rs): `src-tauri/src/pipeline.rs`
- [RAG knowledge](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/rag.rs): `src-tauri/src/rag.rs`
- [Graphify context](https://github.com/rfkokt/command-rdev-center/blob/main/src-tauri/src/graph.rs): `src-tauri/src/graph.rs`

### Other components

- **User**
- **Pi CLI**
- **Web sources**
- **Git repositories**

## Connections

- User → Workspace shell: uses
- Workspace shell → Agent chat: opens sessions
- Workspace shell → Research dashboard: opens dashboard
- Workspace shell → Prompt engines: opens dashboard
- Workspace shell → Kanban tracking: opens dashboard
- Workspace shell → Pipeline dashboard: opens dashboard
- Agent chat → Native command host: invokes commands
- Research dashboard → Native command host: invokes commands
- Prompt engines → Prompt engine store: lists and saves
- Pipeline dashboard → Pipeline runner: starts and controls
- Pipeline settings → Pipeline runner: configures
- Native command host → Project discovery: dispatches commands
- Native command host → Isolated worktrees: dispatches commands
- Native command host → Pi session runtime: dispatches commands
- Native command host → Deep Research: dispatches commands
- Native command host → Task management: dispatches commands
- Native command host → Git operations: dispatches commands
- Native command host → RAG knowledge: dispatches commands
- Native command host → Graphify context: dispatches commands
- Native command host → Project terminal: dispatches commands
- Native command host → Agent skills: dispatches commands
- Pi session runtime → Pi CLI: runs sessions
- Deep Research → Web sources: retrieves sources
- Git operations → Git repositories: reads and changes
- Project discovery → Git repositories: discovers repositories
