DocDescend is a focused CLI tool designed for "local documentation descent." Instead of crawling entire sites, it helps developers deeply understand a single documentation page on demand.
- Focused Analysis: Fetches and parses only the specific page you're reading.
- Targeted Explanations: Explains only what is missing or unclear to you.
- Minimal Snippets: Generates correct, copy-pasteable code snippets based on the page context.
- High-Speed Inference: Powered by Cerebras for near-instant responses.
- Swappable Backends: Supports Cerebras (default) and OpenRouter.
graph TD
User([User]) --> CLI[CLI / UI]
CLI --> Fetcher[Docs Fetcher & Parser]
Fetcher --> Runner[Descend Runner]
Runner --> Explain[Explain Agent]
Runner --> Snippet[Snippet Agent]
Explain --> LLM[LLM Backend - Cerebras/OpenRouter]
Snippet --> LLM
LLM --> Explain
LLM --> Snippet
Explain --> Runner
Snippet --> Runner
Runner --> CLI
CLI --> User
docdescend/
├── cli/ # Main CLI entry point
├── llm/ # LLM backend abstractions (Cerebras, OpenRouter)
├── docs/ # URL fetching and HTML parsing
├── descend/ # Core coordination logic
├── agents/ # Specialized agents (Explain, Snippet)
├── prompts/ # System prompts for agents
├── models/ # Data structures (Page, Response)
├── ui/ # Rich terminal interface components
├── .env # API keys and configuration
└── requirements.txt
-
Clone and Navigate:
cd docdescend -
Install Dependencies:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Configure API Keys: Copy
.env.exampleto.envand add your keys:cp .env.example .env # Edit .env with your CEREBRAS_API_KEY
Run the CLI from the project root:
python3 main.py- Paste URL: Enter the documentation URL you are currently reading.
- Ask: Type what you find confusing or ask for a specific example.
- Descend: Receive a targeted explanation and code snippet.
- Commands:
:new- Load a different URL.exitorquit- Exit the program.
Built with Python, Rich, Cerebras and OpenCode Web.