Overview
Elith is a universal repo-aware AI framework that gives any LLM (Claude, GPT, Gemini, local models) the same repository skills that IBM Bob has natively. It's not a chatbot wrapper or copilot plugin—it's a skill layer that makes any AI model repo-aware.
// What Elith Solves
LLMs don't know your codebase. Elith's context engine scans your repository and Obsidian vault, then builds a task packet with the 4-6 most relevant files. The model gets exactly what it needs—no more "I don't have access to that file."
Most AI tools give context-free code snippets. Elith reads your repository structure, understands your patterns, and generates code that fits your existing architecture.
Elith works with any LLM provider through a universal skill layer:
- Claude (Anthropic) — Native tool calling
- LM Studio — Local models with OpenAI-compatible API
- OpenRouter — Access multiple providers through one API
The skill layer normalizes tool calling across all providers, so you can switch models without changing your workflow.
// How It Works
Elith provides 4 core operations:
Analyze and explain your codebase architecture in plain language.
elith explain src/auth/Propose architectural improvements specific to your codebase.
elith architect --problem "Add rate limiting to API"Refactor code with focus on specific improvements.
elith refactor src/cache/ --focus "modernize redis client"Generate comprehensive test suites for your code.
elith test-gen src/auth/login.ts// The 12 Skills
Every operation has access to 12 repository skills:
- read_file — Read file contents with line numbers
- write_file — Write or overwrite files
- list_files — List directory contents recursively
- search_code — Regex search across all files
- git_diff — Show uncommitted changes
- git_commit — Commit changes with message
- run_tests — Execute test suite
- find_references — Find symbol references
- analyze_dependencies — Parse dependency tree
- explain_function — Extract and explain functions
- install_package — Add dependencies
- read_logs — Parse application logs
// Context Engine
The context engine solves the token limit problem:
Smart file selection based on:
- Key files (README.md, package.json, main.py, etc.)
- Entry points (main.py, index.ts, app.py, etc.)
- Operation-specific heuristics
- Files in target directory
// Supported Providers
| Model | Provider | Interface |
|---|---|---|
| Claude 3.5 Sonnet | Anthropic | tool calling |
| GPT-4o / Codex | OpenAI | tool calling |
| Gemini 1.5 Pro | function calling | |
| Mistral Large | Mistral | skill layer |
| Local LLM | Ollama/LMStudio | skill layer |
| Any OpenAI-compat | Custom endpoint | skill layer |
| Provider | Status | Model Examples | |----------|--------|----------------| | Claude | [implemented] | claude-sonnet-4-20250514 | | LM Studio | [implemented] | Any local model | | OpenRouter | [implemented] | openai/gpt-4o, meta-llama/llama-3.1-8b |
// Session Logging
Every operation is logged to bob-reports/ for IBM Bob hackathon submission:
bob-reports/
session_20260517_153549_f27343a8.md
session_history.json
Each report contains:
- Full operation transcript
- All skill calls and results
- Files changed
- Timestamps
Note: Session data is stored in the sessions database. The bob-reports/ folder is specifically for hackathon judges to verify Bob usage.
// What's Next
- Quickstart — Install and run your first operation
- Installation — All install methods
- Configuration — Set up your LLM provider