How swapnaniltripathy/aetheon works
Codebase RAG is a terminal AI coding assistant: users select Chat or Agent mode, provide a repository, then ask questions or request reviewed edits. The backend ingests source through Tree-sitter into a Memgraph knowledge graph; query tools translate natural language to Cypher, with optional semantic retrieval, and an LLM responds or uses file/shell tools. The React Ink frontend uses REST and Socket.IO for queries and delegated file operations. The graph preserves documented capabilities, but several links to unsampled tools and services are based on README descriptions rather than inspected implementations.
Main entry points: main.py RAG orchestrator · app.tsx Terminal UI · remote_repo_service.py Remote query service · graph_updater.py Graph updater
Components 22
Terminal interface
- Terminal UI
source/app.tsx - Chat API client
source/api/chat.ts - Workspace operations
source/utils/workspace.ts - Socket file operations
source/contexts/SocketContext.tsx
API and sessions
- HTTP and socket server
api/main.py - Remote repository routes
api/controllers/remote_repo_controller.py - Remote query service
api/services/remote_repo_service.py - Socket server
api/sockets/server.py
Code indexing
- Graph updater
api/codebase_rag/graph_updater.py - Language parsers
api/codebase_rag/parsers/factory.py - Language support
api/codebase_rag/language_config.py - Graph access
api/codebase_rag/services/graph_service.py
RAG and tools
- RAG orchestrator
api/codebase_rag/main.py - Graph query tool
api/codebase_rag/tools/codebase_query.py - Cypher generator
api/codebase_rag/services/llm.py - Semantic search
api/codebase_rag/tools/semantic_search.py - LLM providers
api/codebase_rag/providers/base.py - Code and file tools
api/codebase_rag/tools
State and storage
- Chat sessions
api/models/session.py - Session database
api/core/db/database.py
Other components
- Developer
- Memgraph
Connections 23
- Developer → Terminal UI: asks or edits
README.md - Terminal UI → Chat API client: submits queries
source/app.tsx - Terminal UI → Workspace operations: selects repository
source/app.tsx - Terminal UI → Socket file operations: opens operations
source/contexts/SocketContext.tsx - Chat API client → HTTP and socket server: REST requests
README.md - HTTP and socket server → Remote repository routes: registers routes
api/main.py - Remote repository routes → Remote query service: delegates requests
api/controllers/remote_repo_controller.py - Remote query service → Graph updater: ingests uploads
api/services/remote_repo_service.py - Remote query service → RAG orchestrator: runs query agent
api/services/remote_repo_service.py - Remote query service → Chat sessions: loads and saves history
api/services/remote_repo_service.py - Chat sessions → Session database: persists sessions
api/models/session.py - Graph updater → Language parsers: uses parsers
api/codebase_rag/graph_updater.py - Graph updater → Language support: reads language settings
api/codebase_rag/graph_updater.py - Graph updater → Graph access: writes graph data
api/codebase_rag/graph_updater.py - Graph access → Memgraph: executes graph queries
api/codebase_rag/services/graph_service.py - RAG orchestrator → Graph query tool: offers graph querying
api/codebase_rag/main.py - Graph query tool → Cypher generator: generates Cypher
api/codebase_rag/tools/codebase_query.py - Graph query tool → Graph access: fetches results
api/codebase_rag/tools/codebase_query.py - RAG orchestrator → Semantic search: offers semantic search
api/codebase_rag/main.py - RAG orchestrator → Code and file tools: offers code tools
api/codebase_rag/main.py - RAG orchestrator → LLM providers: configures model
README.md - Socket file operations → Socket server: delegated file actions
README.md - HTTP and socket server → Socket server: wraps ASGI app
api/main.py