Skip to content

ReCursor Documentation

Edit page

ReCursor — A Flutter mobile app providing OpenCode-like UI/UX for AI coding agents. Bridge-first, no-login workflow: connects to your user-controlled desktop bridge via secure tunnel.

Publishing note: docs-site/src/content/docs/ is the canonical source for ReCursor documentation.


DocumentDescription
architecture/overview.mdSystem architecture and component diagram
architecture/data-flow.mdMessage flow between mobile app, bridge, and agent
project-structure.mdFlutter directory layout and module organization
data-models.mdDrift schemas, Hive models, and domain entities
DocumentDescription
integration/claude-code-hooks.mdClaude Code Hooks integration (event observation)
integration/agent-sdk.mdAgent SDK for parallel agent sessions
integration/opencode-ui-patterns.mdOpenCode UI component patterns for Flutter
bridge-protocol.mdWebSocket message protocol between app and bridge
DocumentDescription
security-architecture.mdNetwork security, auth, cert pinning, bridge authorization, TLS implementation
offline-architecture.mdDrift/Hive storage, sync queue, conflict resolution
push-notifications.mdWebSocket-based notifications and local alerts
DocumentDescription
bridge-protocol.mdWebSocket message protocol between app and bridge
bridge-http-api.mdREST endpoints for hooks, health, and control
error-handling.mdError taxonomy, recovery patterns, reconnection strategies
type-mapping.mdDart↔TypeScript cross-language type contracts
DocumentDescription
ci-cd.mdGitHub Actions + Fastlane pipeline
testing-strategy.mdTesting pyramid and CI integration
DocumentDescription
legal/privacy-policy.mdPrivacy policy draft for release readiness
legal/terms-of-service.mdTerms of service draft for release readiness

flowchart TB
subgraph Mobile["📱 ReCursor Flutter App"]
UI["OpenCode-like UI\n(Tool Cards, Diff Viewer, Timeline)"]
State["Riverpod State Management"]
WSClient["WebSocket Client"]
end
subgraph Desktop["💻 Development Machine"]
Bridge["ReCursor Bridge Server\n(TypeScript)"]
Hooks["Claude Code Hooks\n(HTTP Event Observer)"]
AgentSDK["Agent SDK Session\n(Parallel, Optional)"]
CC["Claude Code CLI"]
end
subgraph Anthropic["☁️ Anthropic API"]
API["Claude API"]
end
UI <--> State
State <--> WSClient
WSClient <-->|wss:// (Tailscale/WireGuard)| Bridge
Bridge <-->|HTTP POST| Hooks
Hooks -->|Observes| CC
Bridge <-->|Optional| AgentSDK
AgentSDK <-->|API Calls| API
CC <-->|Internal| API

Key Constraint: Claude Code Remote Control is first-party only (claude.ai/code, official mobile apps). Third-party clients must use Hooks for event observation and Agent SDK for parallel sessions.


⚠️ Claude Code Remote Control Protocol: The Remote Control feature is designed exclusively for first-party Anthropic clients. There is no public API for third-party clients to join or mirror existing Claude Code sessions.

Supported Integration Paths:

  • Claude Code Hooks — HTTP-based event observation (one-way)
  • Agent SDK — Parallel agent sessions (not mirroring)
  • MCP (Model Context Protocol) — Tool interoperability

Bridge-First Workflow: ReCursor uses a bridge-first, no-login model. The mobile app connects directly to a user-controlled desktop bridge. No hosted accounts, no sign-in required — just secure device pairing via QR code and optional tunneling for remote access.


This documentation is a living document. When making changes:

  1. Update the relevant .md file in the appropriate section
  2. Ensure cross-references use relative paths
  3. Add Mermaid diagrams for complex flows
  4. Update this README index if adding new documents

Last updated: 2026-03-17