dsco is a C-first agentic CLI with streaming LLM interaction, tool execution, swarms/sub-agents, MCP integration, plugins, markdown rendering, semantic routing, and timeline/trace observability.
Quick Start
Bootstrap Dependencies (macOS/Linux)
Build
make -j8
make debug # build dsco-debug with symbols for stepping/debuggingRun (Interactive)
export ANTHROPIC_API_KEY=...
./dscoFor step-through debugging in development mode, use the symbolized artifact:
make debug DSCO_TRACE_STDERR=1 ./dsco-debug -m sonnet
dsco-debug defaults to DSCO_TRACE=debug unless DSCO_TRACE is explicitly set (for example DSCO_TRACE=0).
Run (One-Shot)
./dsco "inspect this repository and summarize module boundaries"Run Tests
Hygiene Checks
make lint make static-analysis make asan-test make ubsan-test make check-version make docs-check pre-commit run --all-files
Core Capabilities
- Streaming LLM responses with tool-use loop (
agent.c,llm.c) - 288 built-in tools plus MCP-discovered and plugin-provided tools (
tools.c,mcp.c,plugin.c) - Multi-provider model support (Anthropic + OpenAI-compatible providers) (
provider.c) - Hierarchical swarm/sub-agent orchestration (
swarm.c,ipc.c) - Rich terminal UI + markdown renderer (
tui.c,md.c) - SQLite timeline logging and trace spans (
baseline.c) - Setup/env profile management (
setup.c)
Documentation
Start with the documentation index:
Detailed references:
- Architecture & Runtime Flows
- C Module Reference (all
.c/.hfiles) - API Reference (auto-generated from headers)
- Built-in Tool Catalog
- Python & Web Asset Reference
- Operations, Config, Storage, and Troubleshooting
- How-To Guides
- Architecture Diagrams
- Docs Contributing Guide
- Runbooks
Repository Layout
main.c/agent.c: CLI entrypoints and interactive loopllm.c/provider.c: request building, SSE streaming, provider abstractiontools.c/integrations.c: built-in tools and external API wrappersswarm.c/ipc.c: process orchestration and SQLite-backed inter-agent IPCmd.c/tui.c: rendering and terminal UXbaseline.c: timeline web server + trace span persistencescripts/: large domain-specific Python analyzerswww/: static freight dashboard/report pages
Governance
License
This project is licensed under the MIT License.