Architecture
dev-agent is built as a TypeScript monorepo with specialized packages for different concerns.
System Overview
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI Tools β
β (Cursor / Claude Code / VS Code) β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β Model Context Protocol (MCP)
βββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββ
β MCP Server β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Adapter Registry β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Search β β Plan β β Explore β β GitHub β ... β β
β β β Adapter β β Adapter β β Adapter β β Adapter β β β
β β ββββββ¬ββββββ ββββββ¬ββββββ ββββββ¬ββββββ ββββββ¬ββββββ β β
β βββββββββΌβββββββββββββΌβββββββββββββΌβββββββββββββΌββββββββββββββββ β
β β β β β β
β βββββββββΌβββββββββββββΌβββββββββββββΌβββββββββββββΌββββββββββββββββ β
β β Subagent Coordinator β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Planner β β Explorer β β PR Agent β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββ
β Core β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Scanner β β Indexer β β GitHub β β
β β (AST Parse) β β (Embeddings)β β Integration β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββ¬ββββββββ β
β β β β β
β ββββββββΌββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββ β
β β Vector Storage β β
β β (LanceDB) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββPackages
@lytics/dev-agent-core
The foundation layer providing:
- Scanner β Multi-language AST parsing using TypeScript Compiler API and ts-morph
- Indexer β Converts code components to vector embeddings
- Vector Storage β LanceDB for fast similarity search
- GitHub Integration β Fetches and indexes issues/PRs via GitHub CLI
@lytics/dev-agent-cli
Command-line interface:
dev index . # Index repository
dev mcp install # Install MCP integration
dev gh index # Index GitHub issues/PRs
dev status # Check indexing status@lytics/dev-agent-mcp
MCP server with tool adapters:
- AdapterRegistry β Manages tool registration and execution
- Built-in Adapters β Search, Plan, Explore, GitHub, Status, Health
- Rate Limiting β Token bucket algorithm (100 req burst)
- Retry Logic β Exponential backoff with jitter
@lytics/dev-agent-subagents
Specialized AI agents:
- PlannerAgent β Generates implementation plans from issues
- ExplorerAgent β Code pattern analysis and relationship mapping
- PRAgent β PR management and review assistance
- Coordinator β Routes tasks to appropriate agents
@lytics/kero
Centralized logging:
- Multiple log levels (debug, info, warn, error)
- Console and file transports
- JSON and pretty formatters
- Structured metadata
Key Technologies
| Component | Technology | Purpose |
|---|---|---|
| Language | TypeScript (strict) | Type safety |
| Build | Turborepo | Monorepo orchestration |
| Testing | Vitest | 1100+ tests |
| Linting | Biome | Fast linting/formatting |
| Vector DB | LanceDB | Embedded vector storage |
| Embeddings | @xenova/transformers | Local ML inference |
| Model | all-MiniLM-L6-v2 | Sentence embeddings |
| Protocol | MCP | AI tool integration |
Data Flow
Indexing Flow
Source Code
β
βΌ
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
β Glob β βββΆ β Parse β βββΆ β Extract β βββΆ β Embed β
β Files β β AST β βComponentsβ β Vectors β
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
β
βΌ
ββββββββββββ
β LanceDB β
ββββββββββββQuery Flow
User Query: "Where is auth handled?"
β
βΌ
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
β Embed β βββΆ β Vector β βββΆ β Rank β βββΆ β Format β
β Query β β Search β β Results β β Output β
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββStorage
All data is stored locally in ~/.dev-agent/:
~/.dev-agent/
βββ indexes/
β βββ <repo-hash>/
β βββ code.lance/ # Code vector index
β βββ metadata.json # Index metadata
βββ github/
β βββ <repo-hash>/
β βββ issues.lance/ # Issues vector index
β βββ prs.lance/ # PRs vector index
βββ config.json # Global config (optional)Security
- 100% Local β No data sent to external services
- No Cloud β All processing happens on your machine
- Embeddings β Generated locally via @xenova/transformers
- GitHub Data β Fetched via authenticated GitHub CLI
Last updated on