IronShift is built as a modular system with four interconnected components, powered by a graph-based AI agent engine.
System Overview
| Component | Technology | Role |
|---|
| IDE Extension | TypeScript | User interface, chat panel, tool execution on user's machine, terminal integration |
| Backend API | Python / FastAPI | AI agent orchestration, LLM routing, conversation management, tool registry |
| Web Dashboard | React / Vite | User auth, billing, subscription management, usage analytics |
| Website Backend | Node.js / Express | User management, OAuth, payment processing, API keys |
Agent System
The core AI engine uses LanGraph (LangChain) to implement a stateful, graph-based agent:
| Component | Purpose |
|---|
| State Machine | Defines agent phases, conversation state, and tool call tracking |
| Agent Graph | Main graph with nodes for routing, LLM calls, tool execution, and approval |
| Cloud Router | Selects appropriate cloud provider and loads relevant tools |
| Tool Executor | Executes approved tool calls and formats results |
| Human Approval | Manages approval queue and user confirmation flow |
| Context Memory | Maintains conversation context and summary across messages |
| Command Validator | Validates CLI commands before presenting to user |
LLM Integration
| Provider | Models | Config Key |
|---|
| OpenAI | GPT-5.1, GPT-5.2, GPT-5.2 Pro, GPT-5 Nano | OPENAI_API_KEY |
| Anthropic | Claude Sonnet 4.5/4.6, Opus 4.5/4.6 | ANTHROPIC_API_KEY |
| Google | Gemini 2.5 Pro/Flash, Gemini 3 Pro/Flash | GOOGLE_API_KEY |
| xAI | Grok 4 | XAI_API_KEY |
Observability
IronShift integrates with Langfuse for LLM observability:
- Trace every LLM call
- Track token usage and costs per model
- Monitor latency and errors
- Debug agent behavior with step-by-step traces
API Endpoints
| Endpoint | Method | Description |
|---|
/ | GET | Root health check — returns app status and version |
/health | GET | Health check endpoint |
/api/chat | POST | Main chat endpoint with streaming support |