ββββββ βββ ββ ββββββ βββ βββ βββββ ββββββ βββ ββββββ βββββββββ
βββ β ββββ βββββ β ββββ ββββ βββ βββββ β βββββββ β β βββ ββ
β ββββ ββββββββββββ ββββ ββββ ββββββββββββ βββββ ββββ β ββββ ββ
β ββββββ βββ βββ β ββββ ββββ βββ ββββββ β ββββ β ββββ ββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββββ β
β βββ β β β βββββββ ββ ββ βββ ββ βββ β ββ β ββ ββ βββ β βββ β β β ββ
β ββ β β β βββ β β β ββ β β ββ β β β β β β β β β ββ ββ β β β
β β β β ββ β β β β β β β β β β β ββ β β β
β β β β β β β β β β β β β β β
Overview β’ Preview β’ Project structure β’ Research & Logic β’ Architecture β’ Commands β’ License
ShellGeist is an academic-grade AI code assistant for Neovim, designed as both a high-performance productivity tool and an object of study for agentic workflows. It bridges the gap between Large Language Models and local development environments by providing a robust, auditable, and tool-augmented execution loop.
- Hybrid Core: Python-based daemon (processing) + Lua Neovim plugin (UI).
- Agentic Autonomy: Advanced logic for intent classification, deterministic shortcuts, and self-repairing loops.
- Academic Standards: Clean modular architecture, complete technical specifications, and reproducible environments via Nix.
.
βββ assets/ # Brand identity and media
βββ backend/ # Agent engine (Logic, Parsing, Tools)
βββ docs/ # Academic & Technical Documentation
βββ nvim/ # Neovim Lua plugin
βββ flake.nix # Reproducible dev environment
βββ shellgeist # Main CLI wrapper
ShellGeist utilizes a decentralized architecture where the UI is decoupled from the cognitive agent loop.
graph LR
subgraph NV [Neovim Frontend]
UI[Lua UI] <--> RPC[RPC Client]
end
subgraph BE [Python Backend Daemon]
Server[Server] <--> Agent[Agent Loop]
Agent <--> Orch[Orchestrator]
Agent <--> Tools[Tools Library]
end
subgraph EX [Infrastructure]
LLM[LLM Provider]
end
RPC <-->|JSON-lines / Unix Socket| Server
Agent <-->|Streaming HTTPS| LLM
Tools <-->|Local I/O| WS[Workspace]
Important
For in-depth analysis of functions, state variables, and design patterns, refer to the Technical Documentation Portal.
The root README.md is the main source of truth for this repository. Annexes live in docs/:
- docs/README.md β annexes, Mermaid diagrams, and regeneration commands
- docs/cloc-report.md β raw cloc report
- docs/specification.txt β dense configuration glossary
- docs/diagrams/ β PlantUML sources (
.puml) - docs/diagrams/png/ β generated diagram images (
.png)
Check out ShellGeist in action through these different lenses.
As an object of study, ShellGeist focuses on the reliability of model-driven tool usage. The agent implements a sophisticated decision pipeline to handle various intent types and error recovery.
graph TD
Start((Start)) --> LC[Load Context]
LC --> CI[Classify Intent]
CI --> IsModel{Intent Type?}
IsModel -->|Probabilistic| MD[Model Decide]
MD --> VB[Validate Batch]
IsModel -->|Heuristic| DP[Deterministic Path]
VB --> EB[Execute Batch]
DP --> EB
EB --> OR[Observe Result]
OR --> IsSuccess{Result OK?}
IsSuccess -->|No| RO[Repair Once]
RO --> EB
IsSuccess -->|Yes| FT[Finalize Turn]
FT --> Done((Done))
| Command | Description |
|---|---|
shellgeist / sgd |
Start the backend daemon. |
:SGSidebar |
Toggle the chat/audit sidebar. |
:SGAgent |
Trigger an agentic task workflow. |
:SGMode auto/review |
Switch between autonomous and supervised mode. |
Setup
# Using Nix (Recommended)
nix develop --command shellgeist
# Using Pip
pip install -e . && shellgeist

