How reddishjade/cade works
Cade is a terminal-first coding agent, with a browser workbench and Python app interface. The main workflow is a user submitting a task through a CLI surface; the assembled agent builds model requests, invokes project tools under mode and approval policies, and streams progress and results back to the surface. Distinct supporting capabilities include provider authentication, session resume and history, skills, MCP tools, long-term memory, and subagents. The graph reflects the README and sampled excerpts; unsampled wiring is shown only where the README or sampled assembly explicitly supports it.
Main entry points: agent_loop.py Agent loop · main.py Command entry · history.py Session history · app.py Terminal workbench
Components 21
User interfaces
- Command entry
src/cade/main.py - Terminal workbench
src/cade/cli/tui/app.py - Traditional REPL
src/cade/cli/repl.py - Browser API
src/cade/server/api.py - Browser workbench
src/cade/server/static/app.js
Agent runtime
- App assembly
src/cade/coding_agent/app.py - Agent loop
src/cade/agent/agent_loop.py - Context manager
src/cade/agent/context_manager.py
Agent capabilities
- Coding tools
src/cade/coding_agent/tools/tools_manager.py - Execution environment
src/cade/harness/execution_env/sandbox.py - Skills
src/cade/harness/skills/registry.py - Subagents
src/cade/harness/agent_runtime/subagents.py
Models and integrations
- Model providers
src/cade/ai/providers/registry.py - Credential manager
src/cade/harness/auth/manager.py - MCP client
src/cade/harness/mcp/client.py
Security and state
- Approval and permissions
src/cade/harness/security/permissions.py - Session history
src/cade/harness/session/history.py - Long-term memory
src/cade/harness/memory/manager.py
Other components
- User
- Model service
- Project workspace
Connections 28
- User → Command entry: starts
- Command entry → Terminal workbench: launches
- Command entry → Traditional REPL: launches
- Command entry → Browser API: launches
- User → Terminal workbench: submits task
- User → Traditional REPL: submits task
- User → Browser workbench: submits task
- Browser workbench → Browser API: WebSocket requests
- Terminal workbench → App assembly: runs tasks
- Traditional REPL → App assembly: runs tasks
- Browser API → App assembly: dispatches tasks
- App assembly → Agent loop: assembles
- Agent loop → Context manager: manages context
- Agent loop → Model providers: requests completions
- Model providers → Model service: sends requests
- Credential manager → Model providers: resolves credentials
- Agent loop → Coding tools: dispatches tools
- Coding tools → Execution environment: runs commands
- Execution environment → Project workspace: reads and writes
- Agent loop → Approval and permissions: checks permissions
- Agent loop → Session history: records history
- Agent loop → Skills: uses skills
- Agent loop → MCP client: invokes tools
- Agent loop → Long-term memory: reads and updates
- Agent loop → Subagents: delegates tasks
- Session history → Terminal workbench: restores sessions
- Session history → Traditional REPL: restores sessions
- Session history → Browser API: restores sessions