Back

CrossCode

CrossCode is a free, open-source mobile client for OpenCode - the terminal AI coding agent. It lets you control your PC's OpenCode instance from your phone, anywhere in the world, with no shared network required.

License: MIT npm Node.js >=20

What is CrossCode?

CrossCode connects your phone to a running opencode serve instance on your PC or VPS through a Cloudflare Tunnel. Your code never touches CrossCode's servers - there are none. Everything runs locally on your machine.

Features

Companion CLI (npx crosscode)

Run this on your PC (current working directory) to bootstrap the entire connection:

Mobile App

Quick Start

1. Install prerequisites

Make sure you have OpenCode and Cloudflare tunnel installed on your PC:

# Install opencode and cloudflared (if not already installed)
# See https://opencode.ai and https://developers.cloudflare.com/tunnel for installation instructions

2. Start the companion CLI

npx crosscode

This will:

  1. Start opencode serve on your PC
  2. Open a Cloudflare Tunnel
  3. Display a QR code in your terminal

3. Connect from your phone

  1. Install the CrossCode app (iOS / Android)
  2. Open the app and scan the QR code
  3. You're connected: start chatting with your AI agent

Monorepo Structure

crosscode/
├── apps/
│   ├── mobile/          # React Native + Expo (iOS + Android)
│   └── web/             # Website
├── packages/
│   ├── crosscode/       # Companion CLI: `npx crosscode`
│   └── shared/          # Shared types, constants, QR payload schema
└── README.md

Development

Prerequisites

Setup

# Clone the repo
git clone https://github.com/snhsish/crosscode.git
cd crosscode

# Install dependencies
pnpm install

# Start all apps in development mode
pnpm dev

# Build everything
pnpm build

# Run linter
pnpm lint

Developing the CLI

cd packages/crosscode
pnpm dev          # Watch mode
pnpm build        # Build for production

Developing the Mobile App

cd apps/mobile
pnpm start        # Start Expo dev server
pnpm android      # Run on Android
pnpm ios          # Run on iOS

What CrossCode is NOT

Tech Stack

LayerChoice
MobileReact Native + Expo
NavigationExpo Router
StateZustand
StylingNativeWind (Tailwind)
Companion CLINode.js
TunnelCloudflare Tunnel
Monorepopnpm workspaces + Turborepo

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on how to get started.

License

CrossCode is licensed under the MIT License.