Skip to content

Latest commit

 

History

History
96 lines (67 loc) · 3.48 KB

File metadata and controls

96 lines (67 loc) · 3.48 KB

ReCursor — Project Concept

Mobile-first AI coding agent controller — Control Claude Code and other AI coding assistants from your mobile device (iOS/Android) with an OpenCode-inspired UI.


Vision

Enable developers to leverage AI-powered coding agents from anywhere, without requiring a desktop environment. Full agentic coding workflows on mobile — plan, code, test, and deploy applications using only your phone or tablet.

The UI/UX mirrors OpenCode (terminal-native AI coding agent) with its rich tool cards, diff viewer, and session timeline, while the underlying events come from Claude Code running on your development machine via supported integration mechanisms.


Why This Matters

As developers who build mobile apps, we understand the mobile developer experience. A mobile app for controlling AI coding agents enables:

  • 📱 Coding on-the-go — Review code, approve changes, chat with agents from anywhere
  • 🚀 Remote productivity — No laptop required for code review and simple fixes
  • 🤖 AI-first workflow — Voice commands to AI agents while away from desk
  • 🔄 Continuous context — Start coding at your desk, continue from your phone

Core Features

Feature Description Phase
Agent Chat Interface Mobile chat UI with OpenCode-style tool cards 1
Tool Call Approval Approve/reject agent actions with rich context 1
Code Diff Viewer Syntax-highlighted diffs with OpenCode patterns 2
Git Operations Commit, push, pull, merge from mobile 2
Session Timeline Visual timeline of agent actions and decisions 2
Push Notifications Real-time alerts for agent events via WebSocket 2
Voice Commands Speech-to-code capabilities 3
Offline Mode Work without connectivity, sync on reconnect 3

Architecture Overview

flowchart LR
    subgraph Phone["📱 Mobile Device"]
        App["ReCursor Flutter App\n(OpenCode-like UI)"]
    end

    subgraph DevMachine["💻 Development Machine"]
        Bridge["Bridge Server"]
        CCHooks["Claude Code Hooks\n(Event Observer)"]
        CC["Claude Code CLI"]
    end

    App <-->|WebSocket| Bridge
    Bridge <-->|HTTP| CCHooks
    CCHooks -->|Observes| CC
Loading

Integration Strategy:

  • Event Source: Claude Code Hooks POST events to the bridge server
  • UI Pattern: OpenCode-style tool cards, diff viewer, session timeline
  • Session Model: Parallel Agent SDK sessions (not direct mirroring)

Tech Stack

Layer Choice Rationale
Framework Flutter Cross-platform, CC Pocket precedent
State Riverpod Type-safe, testable, Conduit pattern
Networking web_socket_channel Standard Flutter WebSocket
Auth GitHub OAuth2 + PAT github_oauth package
Local DB Drift (SQLite) Type-safe queries, migrations
Cache Hive Fast key-value for ephemeral data
Bridge TypeScript (Node.js) CC Pocket pattern
Tunnel Tailscale / WireGuard Zero-config mesh VPN

Related Resources


Status

Phase: Architecture specification complete, implementation pending


Last updated: 2026-03-17