How rivaanranawat/ai-coding-agent works
AI Agent is a terminal-based assistant that turns user prompts into streamed model responses and, when needed, tool executions. The principal workflow runs from the CLI through agent/session orchestration, conversation context, model tool calls, and registry-mediated execution; approval and hooks surround tool use. Sessions also initialize built-in, discovered, and MCP tools and maintain usage and persistence state. The README documents additional capabilities whose detailed wiring is not fully visible in the sampled source, so uncertain call relationships are omitted.
Main entry points: session.py Session setup · registry.py Tool registry · agent.py Agent loop · main.py CLI entry
Components 22
Terminal interface
- CLI entry
main.py - Terminal UI
ui/tui.py
Agent runtime
- Agent loop
agent/agent.py - Session setup
agent/session.py - Session persistence
agent/persistence.py - Configuration
config/config.py - Hooks
hooks/hook_system.py
Conversation context
- Context manager
context/manager.py - Context compression
context/compaction.py - Loop detection
context/loop_detector.py
Tool execution
- Tool registry
tools/registry.py - Built-in tools
tools/builtin - Tool discovery
tools/discovery.py - Subagents
tools/subagents.py - Approval policy
safety/approval.py
External integrations
- LLM client
client/llm_client.py - MCP manager
tools/mcp/mcp_manager.py - MCP client
tools/mcp/client.py
Other components
- User
- Model API
- MCP servers
- Web search
Connections 30
- User → CLI entry: enters prompt
- CLI entry → Agent loop: submits work
- CLI entry → Terminal UI: renders events
- Agent loop → Session setup: uses session
- Session setup → Context manager: creates context
- Session setup → LLM client: creates client
- Session setup → Tool registry: creates registry
- Session setup → Tool discovery: sets up discovery
- Session setup → MCP manager: initializes
- Session setup → Context compression: creates compactor
- Session setup → Approval policy: creates manager
- Session setup → Loop detection: creates detector
- Session setup → Hooks: creates hook system
- Session setup → Configuration: reads settings
- Agent loop → Context manager: manages messages
- Agent loop → LLM client: requests completions
- LLM client → Model API: sends chat request
- Model API → LLM client: streams events
- Agent loop → Tool registry: dispatches tool calls
- Tool registry → Approval policy: checks operations
- Tool registry → Hooks: triggers tool hooks
- Tool registry → Built-in tools: executes tools
- Tool registry → Subagents: registers tools
- Session setup → MCP manager: registers MCP tools
- MCP manager → Tool registry: registers tools
- MCP manager → MCP client: connects clients
- MCP client → MCP servers: lists and calls tools
- Built-in tools → Web search: searches web
- CLI entry → Session persistence: saves and resumes
- Agent loop → Context manager: updates conversation