How draht-dev/draht works
draht is a monorepo of AI-agent and LLM tooling. The principal user workflow is interacting with the coding-agent CLI: it configures a session, runs an agent against an LLM, invokes tools against the working tree, and presents results. Other documented product branches include the unified multi-provider API, agent runtime, Slack bot, terminal and web interfaces, and vLLM deployment tooling. The graph combines README capabilities with the supplied source index and excerpts; unsampled subsystems are represented at supported directory paths, and their internal links are omitted where wiring is not shown.
Main entry points: cli.ts Coding CLI · agent-session.ts Agent session · agent-harness.ts Agent harness · main.ts Slack bot
Components 26
Coding agent
- Coding CLI
packages/coding-agent/src/cli.ts - Agent session
packages/coding-agent/src/core/agent-session.ts - Settings
packages/coding-agent/src/core/settings-manager.ts - Credentials
packages/coding-agent/src/core/auth-storage.ts - Package manager
packages/coding-agent/src/core/package-manager.ts - Extensions
packages/coding-agent/src/core/extensions/runner.ts - Checkpoints
packages/coding-agent/src/core/checkpoints/checkpoint-manager.ts - Coding tools
packages/coding-agent/src/core/tools
Agent runtime
- Agent harness
packages/agent/src/harness/agent-harness.ts - Session storage
packages/agent/src/harness/session/session.ts
LLM services
- Provider API
packages/ai/src - Model providers
packages/ai/src/providers - Model router
packages/router/src/router.ts
Agent interfaces
- Slack bot
packages/mom/src/main.ts - Session gateway
packages/gateway/src/gateway/server.ts - Session manager
packages/gateway/src/session/session-manager.ts - Terminal UI
packages/tui/src/tui.ts - Web chat UI
packages/web-ui/src
Code analysis
- draht-tools CLI
go/cmd/draht-tools/main.go - Graph pipeline
go/internal/graph/pipeline.go - Graph server
go/internal/serve/server.go
Other components
- Engineer
- Code workspace
- LLM services
- Slack
- GPU deployments
Connections 25
- Engineer → Coding CLI: uses
README.md - Coding CLI → Agent session: starts session
- Agent session → Agent harness: runs agent
- Agent harness → Session storage: stores sessions
packages/agent/src/harness/types.ts - Agent session → Coding tools: invokes tools
- Coding tools → Code workspace: reads and edits
- Agent session → Provider API: requests completions
- Provider API → Model providers: dispatches requests
- Model providers → LLM services: calls APIs
- Coding CLI → Settings: configures
- Coding CLI → Credentials: loads credentials
- Coding CLI → Package manager: resolves packages
- Coding CLI → Extensions: loads extensions
- Agent session → Checkpoints: captures state
- Slack bot → Slack: handles messages
- Slack bot → Agent harness: delegates work
packages/mom/src/main.ts - Engineer → Session gateway: connects
- Session gateway → Session manager: manages sessions
packages/gateway/src/gateway/server.ts - Engineer → Terminal UI: uses
README.md - Engineer → Web chat UI: uses
README.md - Engineer → draht-tools CLI: runs analysis
- draht-tools CLI → Graph pipeline: builds graph
go/cmd/draht-tools/main.go - Graph pipeline → Graph server: serves graph
- Engineer → GPU deployments: manages deployments
README.md - Model router → LLM services: routes requests