# va-desai-dev/typenbash architecture

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

- Interactive diagram: https://gitdiagram.com/va-desai-dev/typenbash
- Repository: https://github.com/va-desai-dev/typenbash

## Overview

TypeNBash is a native macOS research and development workspace. The principal workflow is to open or create a local/SSH project, browse and edit its files, run commands or analyze data, and inspect previews and results within the workspace. Separate branches support Git, research citations, agent-assisted work, and system telemetry. The graph combines documented capabilities with relationships visible in the provided excerpts and SOURCE INDEX; unsampled subsystems are included where the README describes them, without asserting unverified internal calls.

Main entry points: [`TypeNBash/AppClasses/AppRouters.swift`](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AppRouters.swift) (Window Routing), [`TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift`](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift) (Project Picker), [`TypeNBash/AppClasses/EditorControl/EditorSession.swift`](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/EditorControl/EditorSession.swift) (Editor Session), [`TypeNBash/AppClasses/GitControl/SourceControlService.swift`](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/GitControl/SourceControlService.swift) (Git Tools)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Workspace &amp; Projects"]
  node_router["Window Routing<br/>[AppRouters.swift]"]
  node_projectpicker["Project Picker"]
  node_projectstore[("Project Store<br/>[ProjectStore.swift]")]
  node_sshprofiles[("SSH Profiles")]
  node_workspacefs["Workspace Filesystem"]
  node_filebrowser["File Browser"]
  node_remoteaccess["SSH Workspace Access"]
end

subgraph group_authoring["Editing &amp; Preview"]
  node_editor["Editor Session"]
  node_textview["Editor Text View"]
  node_syntax["Syntax Highlighting"]
  node_projectsearch["Project Search"]
  node_markdown["Markdown Editor"]
  node_browser["Preview Browser<br/>[BrowserModel.swift]"]
end

subgraph group_execution["Execution &amp; Analysis"]
  node_terminal["Terminal"]
  node_notebook["Analytics Notebook"]
  node_analysis["Statistical Analysis"]
end

subgraph group_integrations["Research &amp; Integrations"]
  node_citations["Citation Management"]
  node_citetex["CiteTex Safari Extension<br/>[content.js]"]
  node_agents["Agent Harness<br/>[AgentRunner.swift]"]
end

subgraph group_operations["Source Control &amp; System"]
  node_git["Git Tools"]
  node_remotegit["Remote Git<br/>[RemoteGit.swift]"]
  node_github["GitHub Transport"]
  node_telemetry["System Telemetry"]
end

node_user(("User"))
node_sshhost(("SSH Host"))
node_safari(("Safari"))
node_llm(("User-selected LLM"))

node_user -->|"opens workspace"| node_router
node_router -->|"creates picker"| node_projectpicker
node_router -->|"uses profiles"| node_sshprofiles
node_router -->|"configures store"| node_projectstore
node_projectpicker -->|"loads projects"| node_projectstore
node_projectpicker -->|"uses profiles"| node_sshprofiles
node_projectpicker -->|"uses filesystem"| node_workspacefs
node_filebrowser -->|"accesses files"| node_workspacefs
node_user -->|"browses files"| node_filebrowser
node_remoteaccess -->|"accesses remotely"| node_sshhost
node_user -->|"edits project"| node_editor
node_editor -->|"uses editor view"| node_textview
node_editor -->|"configures syntax"| node_syntax
node_editor -.->|"searches project"| node_projectsearch
node_user -->|"writes documents"| node_markdown
node_user -->|"previews work"| node_browser
node_user -->|"runs commands"| node_terminal
node_user -->|"analyzes data"| node_notebook
node_notebook -.->|"runs analyses"| node_analysis
node_user -->|"manages citations"| node_citations
node_safari -->|"provides open tab"| node_citetex
node_citetex -->|"retrieves citations"| node_citations
node_user -->|"uses agents"| node_agents
node_agents -.->|"connects optionally"| node_llm
node_user -->|"manages changes"| node_git
node_git -->|"uses transport"| node_github
node_user -->|"monitors system"| node_telemetry
node_user -->|"works remotely"| node_remoteaccess
node_git -.->|"supports SSH Git"| node_remotegit

click node_router "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AppRouters.swift"
click node_projectpicker "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift"
click node_projectstore "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/ProjectControl/ProjectStore.swift"
click node_sshprofiles "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/RemoteSessionControl/SSHProfileStore.swift"
click node_workspacefs "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/WorkspaceFileControl/WorkspaceFileSystem.swift"
click node_filebrowser "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/FileBrowser/FileBrowserModel.swift"
click node_remoteaccess "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/RemoteSessionControl/SSHWorkspaceFileSystem.swift"
click node_editor "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/EditorControl/EditorSession.swift"
click node_textview "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppFrameworks/TextEditor/EditorTextViewBridge/EditorTextView.swift"
click node_syntax "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppFrameworks/CodeSytnax/SyntaxController.swift"
click node_projectsearch "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/ProjectControl/ProjectSearchEngine.swift"
click node_markdown "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/App/CanvasViews/WorkspacePanelViews/RichMarkdownEditor.swift"
click node_browser "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/WebKitControl/BrowserModel.swift"
click node_terminal "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppFrameworks/TerminalOrchastrator/TerminalHostView.swift"
click node_notebook "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AnalysisControl/NotebookModel.swift"
click node_analysis "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AnalysisControl/AnalysisKernel.swift"
click node_citations "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/BibliographyWritingControl/BibliographyBrowserModel.swift"
click node_citetex "https://github.com/va-desai-dev/typenbash/blob/origin/CiteTex/Resources/content.js"
click node_agents "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AgentsControl/AgentRunner.swift"
click node_git "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/GitControl/SourceControlService.swift"
click node_remotegit "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/GitControl/RemoteGit.swift"
click node_github "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/GitControl/GitHub/GitHubTransport.swift"
click node_telemetry "https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/Telemetry/TelemetryData.swift"

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_router,node_projectpicker,node_projectstore,node_sshprofiles,node_workspacefs,node_filebrowser,node_remoteaccess,node_user,node_llm toneBlue
class node_editor,node_textview,node_syntax,node_projectsearch,node_markdown,node_browser toneAmber
class node_terminal,node_notebook,node_analysis toneMint
class node_citations,node_citetex,node_agents toneRose
class node_git,node_remotegit,node_github,node_telemetry,node_sshhost,node_safari toneIndigo
```

## Components

### Workspace & Projects

- [Window Routing](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AppRouters.swift): `TypeNBash/AppClasses/AppRouters.swift`
- [Project Picker](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift): `TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift`
- [Project Store](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/ProjectControl/ProjectStore.swift): `TypeNBash/AppClasses/ProjectControl/ProjectStore.swift`
- [SSH Profiles](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/RemoteSessionControl/SSHProfileStore.swift): `TypeNBash/AppClasses/RemoteSessionControl/SSHProfileStore.swift`
- [Workspace Filesystem](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/WorkspaceFileControl/WorkspaceFileSystem.swift): `TypeNBash/AppClasses/WorkspaceFileControl/WorkspaceFileSystem.swift`
- [File Browser](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/FileBrowser/FileBrowserModel.swift): `TypeNBash/AppClasses/FileBrowser/FileBrowserModel.swift`
- [SSH Workspace Access](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/RemoteSessionControl/SSHWorkspaceFileSystem.swift): `TypeNBash/AppClasses/RemoteSessionControl/SSHWorkspaceFileSystem.swift`

### Editing & Preview

- [Editor Session](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/EditorControl/EditorSession.swift): `TypeNBash/AppClasses/EditorControl/EditorSession.swift`
- [Editor Text View](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppFrameworks/TextEditor/EditorTextViewBridge/EditorTextView.swift): `TypeNBash/AppFrameworks/TextEditor/EditorTextViewBridge/EditorTextView.swift`
- [Syntax Highlighting](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppFrameworks/CodeSytnax/SyntaxController.swift): `TypeNBash/AppFrameworks/CodeSytnax/SyntaxController.swift`
- [Project Search](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/ProjectControl/ProjectSearchEngine.swift): `TypeNBash/AppClasses/ProjectControl/ProjectSearchEngine.swift`
- [Markdown Editor](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/App/CanvasViews/WorkspacePanelViews/RichMarkdownEditor.swift): `TypeNBash/App/CanvasViews/WorkspacePanelViews/RichMarkdownEditor.swift`
- [Preview Browser](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/WebKitControl/BrowserModel.swift): `TypeNBash/AppClasses/WebKitControl/BrowserModel.swift`

### Execution & Analysis

- [Terminal](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppFrameworks/TerminalOrchastrator/TerminalHostView.swift): `TypeNBash/AppFrameworks/TerminalOrchastrator/TerminalHostView.swift`
- [Analytics Notebook](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AnalysisControl/NotebookModel.swift): `TypeNBash/AppClasses/AnalysisControl/NotebookModel.swift`
- [Statistical Analysis](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AnalysisControl/AnalysisKernel.swift): `TypeNBash/AppClasses/AnalysisControl/AnalysisKernel.swift`

### Research & Integrations

- [Citation Management](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/BibliographyWritingControl/BibliographyBrowserModel.swift): `TypeNBash/AppClasses/BibliographyWritingControl/BibliographyBrowserModel.swift`
- [CiteTex Safari Extension](https://github.com/va-desai-dev/typenbash/blob/origin/CiteTex/Resources/content.js): `CiteTex/Resources/content.js`
- [Agent Harness](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/AgentsControl/AgentRunner.swift): `TypeNBash/AppClasses/AgentsControl/AgentRunner.swift`

### Source Control & System

- [Git Tools](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/GitControl/SourceControlService.swift): `TypeNBash/AppClasses/GitControl/SourceControlService.swift`
- [Remote Git](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/GitControl/RemoteGit.swift): `TypeNBash/AppClasses/GitControl/RemoteGit.swift`
- [GitHub Transport](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/GitControl/GitHub/GitHubTransport.swift): `TypeNBash/AppClasses/GitControl/GitHub/GitHubTransport.swift`
- [System Telemetry](https://github.com/va-desai-dev/typenbash/blob/origin/TypeNBash/AppClasses/Telemetry/TelemetryData.swift): `TypeNBash/AppClasses/Telemetry/TelemetryData.swift`

### Other components

- **User**
- **SSH Host**
- **Safari**
- **User-selected LLM**

## Connections

- User → Window Routing: opens workspace (evidence: `README.md`)
- Window Routing → Project Picker: creates picker (evidence: `TypeNBash/AppClasses/AppRouters.swift`)
- Window Routing → SSH Profiles: uses profiles (evidence: `TypeNBash/AppClasses/AppRouters.swift`)
- Window Routing → Project Store: configures store (evidence: `TypeNBash/AppClasses/AppRouters.swift`)
- Project Picker → Project Store: loads projects (evidence: `TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift`)
- Project Picker → SSH Profiles: uses profiles (evidence: `TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift`)
- Project Picker → Workspace Filesystem: uses filesystem (evidence: `TypeNBash/AppClasses/ProjectControl/ProjectPickerModel.swift`)
- File Browser → Workspace Filesystem: accesses files (evidence: `TypeNBash/AppClasses/FileBrowser/FileBrowserModel.swift`)
- User → File Browser: browses files (evidence: `README.md`)
- SSH Workspace Access → SSH Host: accesses remotely (evidence: `README.md`)
- User → Editor Session: edits project (evidence: `README.md`)
- Editor Session → Editor Text View: uses editor view (evidence: `TypeNBash/AppClasses/EditorControl/EditorSession.swift`)
- Editor Session → Syntax Highlighting: configures syntax (evidence: `TypeNBash/AppClasses/EditorControl/EditorSession.swift`)
- Editor Session → Project Search: searches project
- User → Markdown Editor: writes documents (evidence: `README.md`)
- User → Preview Browser: previews work (evidence: `README.md`)
- User → Terminal: runs commands (evidence: `README.md`)
- User → Analytics Notebook: analyzes data (evidence: `README.md`)
- Analytics Notebook → Statistical Analysis: runs analyses
- User → Citation Management: manages citations (evidence: `README.md`)
- Safari → CiteTex Safari Extension: provides open tab (evidence: `README.md`)
- CiteTex Safari Extension → Citation Management: retrieves citations (evidence: `README.md`)
- User → Agent Harness: uses agents (evidence: `README.md`)
- Agent Harness → User-selected LLM: connects optionally (evidence: `README.md`)
- User → Git Tools: manages changes (evidence: `README.md`)
- Git Tools → GitHub Transport: uses transport (evidence: `TypeNBash/AppClasses/GitControl/SourceControlService.swift`)
- User → System Telemetry: monitors system (evidence: `README.md`)
- User → SSH Workspace Access: works remotely (evidence: `README.md`)
- Git Tools → Remote Git: supports SSH Git
