---
name: aidb-architecture
description: Comprehensive architectural reference for AIDB core and MCP integration.
Covers 6-layer architecture (MCP, Service, Session, Adapter, DAP Client, Protocol),
component organization, data flow patterns, and design decisions. Use when explaining
overall system design or understanding how layers interact.
version: 1.0.0
tags:
- architecture
- session
- service
- dap
- mcp
- design-patterns
- components
- data-flow
---
# AIDB Architecture Skill
## Overview
This skill provides a comprehensive architectural reference for understanding AIDB's multi-layered architecture, focusing on `aidb` core library and `aidb_mcp` MCP integration.
**Purpose:** Enable developers to navigate the codebase confidently, understand component responsibilities, trace data flows, and make correct architectural decisions.
**Scope:**
- **PRIMARY:** `aidb/` (core debugging library), `aidb_mcp/` (MCP server integration)
- **SECONDARY:** `aidb_common/`, `aidb_logging/` (supporting utilities)
- **EXCLUDED:** `aidb_cli/` (covered by `dev-cli-development` skill)
______________________________________________________________________
## When to Use This Skill
**Use this skill when:**
- Understanding overall system architecture
- Tracing data flow across layers (e.g., MCP tool call → DAP adapter)
- Identifying component responsibilities
- Making architectural decisions (which layer to modify)
- Understanding design patterns and rationale
- Debugging cross-layer issues
**Do NOT use this skill for:**
- Deep adapter implementation patterns → Use `adapter-development` skill
- DAP protocol details → Use `dap-protocol-guide` skill
- MCP tool development → Use `mcp-tools-development` skill
______________________________________________________________________
## 6-Layer Architecture
```
┌─────────────────────────────────────────────────────────────┐
│ Layer 1: MCP Layer (aidb_mcp/) │
│ ├── 12 debugging tools for AI agents │
│ ├── Handler dispatch, response optimization │
│ └── Session management integration │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: Service Layer (aidb/service/) │
│ ├── DebugService - Main entry point │
│ ├── SessionManager, SessionBuilder (in aidb/session/) │
│ └── .execution / .stepping / .breakpoints / .variables │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: Session Layer (aidb/session/) │
│ ├── Session - Infrastructure hub │
│ ├── SessionState, SessionConnector │
│ ├── SessionRegistry, ResourceManager │
│ └── Parent-child session support (JavaScript) │
├─────────────────────────────────────────────────────────────┤
│ Layer 4: Adapter Layer (aidb/adapters/) │
│ ├── DebugAdapter - Component delegation base │
│ ├── ProcessManager, PortManager, LaunchOrchestrator │
│ └── Language Adapters - Python, JavaScript, Java │
├─────────────────────────────────────────────────────────────┤
│ Layer 5: DAP Client Layer (aidb/dap/client/) │
│ ├── DAPClient - Single request path │
│ ├── Transport, RequestHandler, EventProcessor │
│ └── MessageRouter, ConnectionManager │
├─────────────────────────────────────────────────────────────┤
│ Layer 6: Protocol Layer (aidb/dap/protocol/) │
│ └── Fully-typed DAP specification (see dap-protocol-guide) │
└─────────────────────────────────────────────────────────────┘
```
______________________________________________________________________
## Quick Navigation
**"I want to understand..."**
| Topic | Resource | Contents |
| ------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| **MCP & Service Layers** | [api-mcp-layer.md](resources/api-mcp-layer.md) | 12 tools, handler pattern, response system, DebugService, execution/stepping |
| **Session Layer** | [session-layer.md](resources/session-layer.md) | Infrastructure hub, SessionState, SessionConnector, parent-child sessions |
| **Adapter Layer** | [adapter-architecture.md](resources/adapter-architecture.md) | DebugAdapter base, ProcessManager, PortManager, lifecycle hooks, Python/JS/Java |
| **DAP Client** | [dap-client.md](resources/dap-client.md) | Single request path, Future-based async, event handling, design decisions |
| **Patterns & Resources** | [patterns-and-resources.md](resources/patterns-and-resources.md) | Architectural principles, three-tier cleanup, resource management, data flows |
______________________________________________________________________
## Key Architectural Principles
1. **Component Delegation** - Focused components vs monolithic classes
1. **Language-Agnostic Design** - Pluggable adapter architecture
1. **Human-Cadence Debugging** - Breakpoints before execution, one step at a time
1. **Resource Lifecycle Management** - Multi-tier cleanup with defense-in-depth
1. **Parent-Child Session Support** - JavaScript subprocess debugging
1. **Single Request Path** - No circular dependencies in DAP client
1. **Three-Tier Cleanup** - DAP disconnect → process termination → port release
For detailed explanations, see [patterns-and-resources.md](resources/patterns-and-resources.md).
______________________________________________________________________
## Resource Management Summary
**Three-Tier Cleanup Strategy:**
1. **Tier 1:** DAP disconnect (graceful adapter shutdown)
1. **Tier 2:** Process termination (SIGTERM → SIGKILL escalation)
1. **Tier 3:** Port release (registry updates)
**Why Order Matters:** Prevents port conflicts and orphaned processes.
**Key Components:**
- Process Registry (`aidb/resources/pids.py`)
- Port Registry (`aidb/resources/ports.py`)
- Orphan Cleanup (`aidb/resources/orphan_cleanup.py`)
- ResourceManager (`aidb/session/resource.py`)
______________________________________________________________________
## Related Skills
| Skill | Use For |
| ----------------------- | ------------------------------------------------- |
| `adapter-development` | Language-specific adapter implementation patterns |
| `dap-protocol-guide` | DAP protocol specification and usage |
| `mcp-tools-development` | MCP tool creation and agent optimization |
______________________________________________________________________
## Resources
| Resource | Content |
| ---------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [api-mcp-layer.md](resources/api-mcp-layer.md) | MCP server, 12 tools, handler pattern, Service layer, execution/stepping |
| [session-layer.md](resources/session-layer.md) | Session architecture, infrastructure hub, state management, parent-child |
| [adapter-architecture.md](resources/adapter-architecture.md) | Adapter base class, components, lifecycle hooks, language-specific patterns |
| [dap-client.md](resources/dap-client.md) | DAP client design, single request path, Future-based async, events |
| [patterns-and-resources.md](resources/patterns-and-resources.md) | Architectural principles, resource management, cleanup, data flows |
**Documentation:**
- Architecture overview → `docs/developer-guide/overview.md`
- Component source → `src/aidb/`, `src/aidb_mcp/`, `src/aidb_cli/`, `src/aidb_common/`, `src/aidb_logging/`
______________________________________________________________________
## Quick Reference
**6 Layers:** MCP → Service → Session → Adapter → DAP Client → Protocol
**Key Patterns:** Component delegation, language-agnostic, human-cadence debugging, resource lifecycle, parent-child sessions, single request path
**5 Resource Files:** api-mcp-layer, session-layer, adapter-architecture, dap-client, patterns-and-resources