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 β β
β β (Antfly β hybrid search) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββPackages
@prosdevlab/dev-agent-core
The foundation layer providing:
- Scanner β Multi-language AST parsing:
- TypeScript/JavaScript via ts-morph
- Go via tree-sitter WASM
- Markdown via remark
- Indexer β Sends code components to Antfly for embedding and storage
- Vector Storage β Antfly for hybrid search (BM25 + vector + RRF)
- GitHub Integration β Fetches and indexes issues/PRs via GitHub CLI
@prosdevlab/dev-agent-cli
Command-line interface:
dev index # Index repository
dev mcp install # Install MCP integration
dev github index # Index GitHub issues/PRs
dev status # Check indexing status@prosdevlab/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
@prosdevlab/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
@prosdevlab/kero
Centralized logging:
- Multiple log levels (debug, info, warn, error)
- Console and file transports
- JSON and pretty formatters
- Structured metadata
Supported Languages
| Language | Scanner | Features |
|---|---|---|
| TypeScript/JavaScript | ts-morph | Functions, classes, interfaces, JSDoc |
| Go | tree-sitter WASM | Functions, methods, structs, interfaces, generics |
| Markdown | remark | Documentation sections, code blocks |
Key Technologies
| Component | Technology | Purpose |
|---|---|---|
| Language | TypeScript (strict) | Type safety |
| Build | Turborepo | Monorepo orchestration |
| Testing | Vitest | 1500+ tests |
| Linting | Biome | Fast linting/formatting |
| Search | AntflyΒ | Hybrid search (BM25 + vector + RRF) |
| Embeddings | Termite (via Antfly) | Local ONNX inference (bge-small-en-v1.5) |
| Protocol | MCP | AI tool integration |
| TS/JS Parser | ts-morph | TypeScript Compiler API |
| Go Parser | tree-sitter WASM | Fast, portable parsing |
Data Flow
Indexing Flow
Source Code
β
βΌ
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
β Glob β βββΆ β Parse β βββΆ β Extract β βββΆ β Store β
β Files β β AST β βComponentsβ β (Antfly) β
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
Antfly auto-embeds via TermiteQuery Flow
User Query: "Where is auth handled?"
β
βΌ
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ
β Hybrid β βββΆ βBM25+Vec β βββΆ β RRF β βββΆ β Format β
β Query β β Search β β Fusion β β Output β
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββStorage
Data is stored locally by Antfly (default ~/.antfly/) and dev-agent config in ~/.dev-agent/.
Antfly manages its own storage, indexes, and embeddings. dev-agent creates three tables:
dev-agent-{project}-codeβ code componentsdev-agent-{project}-gitβ git commit historydev-agent-{project}-githubβ GitHub issues/PRs
Security
- 100% Local β No data sent to external services
- No Cloud β All processing happens on your machine
- Embeddings β Generated locally via Antflyβs Termite engine (ONNX)
- GitHub Data β Fetched via authenticated GitHub CLI
Last updated on