|
3 | 3 | </p> |
4 | 4 |
|
5 | 5 | <h1 align="center">OTG Code</h1> |
6 | | -<p align="center"><em>On-The-Go Code</em></p> |
| 6 | +<p align="center"><em>On-The-Go Code — a mobile-first browser IDE for remote development</em></p> |
7 | 7 |
|
8 | | -<p align="center">Mobile-terminal-UX first coding IDE fully in the browser, with built-in localhost browser proxy for local testing. Vibe code on your VPS or home machine from anywhere — phone, tablet, or desktop — with zero client-side installation using Cloudflare Quick Tunnels.</p> |
| 8 | +<p align="center">Code on your VPS or home machine from anywhere — phone, tablet, or desktop — with zero client-side installation. Full terminal, file explorer, code editor, and localhost preview in a single browser tab, accessible via Cloudflare Quick Tunnels.</p> |
9 | 9 |
|
10 | 10 | <p align="center"> |
11 | | - <img src="https://img.shields.io/badge/version-0.1.0-blue" alt="Version"> |
| 11 | + <img src="https://img.shields.io/badge/version-0.0.1-blue" alt="Version"> |
12 | 12 | <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a> |
13 | 13 | <img src="https://img.shields.io/badge/node-%3E%3D20-brightgreen" alt="Node >= 20"> |
14 | 14 | <img src="https://img.shields.io/badge/TypeScript-5.9-blue?logo=typescript&logoColor=white" alt="TypeScript"> |
15 | 15 | <img src="https://img.shields.io/badge/React_Router-v7-red?logo=reactrouter&logoColor=white" alt="React Router"> |
16 | 16 | <img src="https://img.shields.io/badge/PRs-welcome-brightgreen" alt="PRs Welcome"> |
17 | 17 | </p> |
18 | 18 |
|
| 19 | +<!-- TODO: Add product showcase videos here --> |
| 20 | +<!-- <p align="center"> |
| 21 | + <a href="https://..."><img src="..." alt="Demo video" width="600" /></a> |
| 22 | +</p> --> |
| 23 | + |
19 | 24 | ## Features |
20 | 25 |
|
21 | | -- **Terminal** — xterm.js with multi-session renamable tabs, configurable font size, quick action key groups (Ctrl+A-Z, vim, nano, tmux, common commands), multiline text input with send button |
22 | | -- **File Explorer** — multi-session renamable tabs, breadcrumb + editable path navigation, create/rename/delete files and folders, file info dialog, hidden files toggle, context menu (right-click / long-press) |
23 | | -- **Code Editor** — Monaco editor with syntax highlighting, configurable font size, word wrap, drag-and-drop text selection |
24 | | -- **Markdown Preview** — rendered GitHub-flavored markdown with prose styling (headings, code blocks, tables, links, images) |
25 | | -- **Jupyter Notebook Viewer** — renders cells with type badges, markdown as prose, code as monospace, outputs including text/HTML/base64 images |
26 | | -- **HTML Preview** — live rendered HTML in a sandboxed iframe |
27 | | -- **PDF Viewer** — inline PDF rendering with zoom controls and pinch-to-zoom |
28 | | -- **Image Viewer** — inline image display with zoom controls and pinch-to-zoom |
29 | | -- **Video Player** — native HTML5 video playback (mp4, webm, ogg, mov, mkv, avi) |
30 | | -- **Audio Player** — native HTML5 audio playback (mp3, wav, ogg, flac, aac, m4a) |
31 | | -- **Localhost Browser** — reverse proxy to preview any localhost port through the app, multi-tab with console output panel for debugging |
32 | | -- **Responsive Layout** — 3-column resizable panels with draggable dividers on desktop, bottom tab bar navigation on mobile |
33 | | -- **Cloudflare Tunnel** — one command (`./start.sh`) to build, start, and expose your machine to the internet via a temporary public URL |
| 26 | +### Terminal |
| 27 | +- Multi-session tabs (renamable), xterm.js with configurable font size |
| 28 | +- **Quick action tab groups** — color-coded action tabs (blue) and app tabs (green): |
| 29 | + - **cmds** — common shell commands (ls, top, df, free, nvidia-smi, etc.) |
| 30 | + - **cd** — visual directory picker with server-side CWD detection (works inside tmux) |
| 31 | + - **Ctrl+** — sticky modifier combos (Ctrl, Ctrl+Shift, Alt, Alt+Shift) with full A-Z and 0-9 |
| 32 | + - **code** — coding CLI launchers (Claude Code, Codex, OpenCode) with permission presets, plus common CLI key combos (Shift+Tab, Ctrl+C, Ctrl+O) |
| 33 | + - **git** — quick actions (status, log, diff, add, fetch, pull, push, stash, branch), commit with message input, git config setup (user.name/email) |
| 34 | + - **nano / vim** — file opener with version detection, in-app command buttons, save/exit shortcuts |
| 35 | + - **tmux** — session manager (list, attach, create, kill), in-session window/pane controls, auto extended-keys compatibility |
| 36 | +- **Always-visible nav keys** below input — Enter, Bksp, arrows, y/n/q, Esc, Tab, PgUp/PgDn |
| 37 | +- **Context-aware tabs** — editor mode (nano/vim) disables action tabs; tmux mode hides nano/vim (can't track state inside tmux); plain terminal shows everything |
| 38 | +- Auto-reset of tmux/editor state on socket reconnect |
| 39 | +- System info popup with OS, kernel, CPU, memory, GPU details |
| 40 | +- Tool version detection (nano, vim, tmux, claude, codex, opencode) |
| 41 | + |
| 42 | +### File Explorer |
| 43 | +- Multi-session tabs (renamable), breadcrumb + editable path navigation |
| 44 | +- Create, rename, delete files and folders; file info dialog; hidden files toggle |
| 45 | +- Context menu (right-click / long-press), selectable/scrollable file paths |
| 46 | +- Drag-and-drop file upload |
| 47 | + |
| 48 | +### Viewers & Editors |
| 49 | +- **Code Editor** — Monaco with syntax highlighting, configurable font size, word wrap |
| 50 | +- **Markdown Preview** — GitHub-flavored with prose styling |
| 51 | +- **Jupyter Notebook** — cells with type badges, rendered markdown, code, and outputs |
| 52 | +- **HTML Preview** — live rendered in sandboxed iframe |
| 53 | +- **PDF Viewer** — inline rendering with zoom and pinch-to-zoom |
| 54 | +- **Image Viewer** — zoom controls with full pan/scroll at any zoom level, pinch-to-zoom |
| 55 | +- **Video Player** — mp4, webm, ogg, mov, mkv, avi |
| 56 | +- **Audio Player** — mp3, wav, ogg, flac, aac, m4a |
| 57 | + |
| 58 | +### Layout & Access |
| 59 | +- **Responsive** — 3-column resizable panels on desktop/landscape, single-panel with bottom tab bar on mobile/portrait (orientation-aware breakpoint) |
| 60 | +- **Localhost Browser** — reverse proxy to preview any localhost port, multi-tab with console output |
| 61 | +- **Cloudflare Tunnel** — one command (`./start.sh`) to build, start, and expose via public URL |
34 | 62 |
|
35 | 63 | ## Quick Start |
36 | 64 |
|
|
0 commit comments