Add README with usage instructions
This commit is contained in:
parent
45b232bcc7
commit
84a29445c6
1 changed files with 108 additions and 0 deletions
108
README.md
Normal file
108
README.md
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
# claude-remote
|
||||||
|
|
||||||
|
Self-hosted remote control for Claude Code. Wraps CLI in PTY, streams output to server, approve prompts from phone.
|
||||||
|
|
||||||
|
## quick start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. start the server
|
||||||
|
just dev
|
||||||
|
|
||||||
|
# 2. create a device (one-time setup)
|
||||||
|
just seed dev "My Phone"
|
||||||
|
|
||||||
|
# 3. run claude through the wrapper (from any project directory)
|
||||||
|
bun /path/to/claude-remote/src/cli.ts --secret dev -- --dangerously-skip-permissions
|
||||||
|
|
||||||
|
# 4. open browser
|
||||||
|
open http://localhost:7200
|
||||||
|
```
|
||||||
|
|
||||||
|
## usage
|
||||||
|
|
||||||
|
### server
|
||||||
|
|
||||||
|
```bash
|
||||||
|
just dev # development with hot reload
|
||||||
|
just start # production
|
||||||
|
just check # lint + typecheck + test
|
||||||
|
```
|
||||||
|
|
||||||
|
Server runs on port 7200 (configure via PORT env var).
|
||||||
|
|
||||||
|
### create device
|
||||||
|
|
||||||
|
```bash
|
||||||
|
just seed <secret> <name>
|
||||||
|
```
|
||||||
|
|
||||||
|
Creates a device with the given secret and name. The secret is used to authenticate the CLI wrapper.
|
||||||
|
|
||||||
|
Default if you just run `just seed`:
|
||||||
|
- secret: "dev"
|
||||||
|
- name: "dev device"
|
||||||
|
|
||||||
|
### run claude
|
||||||
|
|
||||||
|
Instead of running `claude` directly, run it through the wrapper:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bun /path/to/claude-remote/src/cli.ts --secret <your-secret> -- <claude args>
|
||||||
|
```
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# basic
|
||||||
|
bun src/cli.ts --secret dev -- --dangerously-skip-permissions
|
||||||
|
|
||||||
|
# resume
|
||||||
|
bun src/cli.ts --secret dev -- --dangerously-skip-permissions -r
|
||||||
|
|
||||||
|
# any other claude args
|
||||||
|
bun src/cli.ts --secret dev -- --help
|
||||||
|
```
|
||||||
|
|
||||||
|
The wrapper can be run from any directory - it passes through to claude with your current working directory.
|
||||||
|
|
||||||
|
### shell aliases
|
||||||
|
|
||||||
|
If you have aliases like:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
alias cd!='claude --dangerously-skip-permissions'
|
||||||
|
alias cdr='cd! -r'
|
||||||
|
```
|
||||||
|
|
||||||
|
Create equivalent remote aliases:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
alias crd='bun /path/to/claude-remote/src/cli.ts --secret dev -- --dangerously-skip-permissions'
|
||||||
|
alias crdr='crd -r'
|
||||||
|
```
|
||||||
|
|
||||||
|
### view output
|
||||||
|
|
||||||
|
Open http://localhost:7200 in browser or phone to:
|
||||||
|
- see live terminal output
|
||||||
|
- approve/reject permission prompts
|
||||||
|
- answer questions
|
||||||
|
|
||||||
|
## docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
just build # build image
|
||||||
|
just up # compose up
|
||||||
|
just down # compose down
|
||||||
|
just logs # compose logs
|
||||||
|
```
|
||||||
|
|
||||||
|
## architecture
|
||||||
|
|
||||||
|
Pure Bun stack:
|
||||||
|
- bun-pty for PTY wrapper
|
||||||
|
- bun:sqlite for persistence
|
||||||
|
- Bun.serve() for HTTP + WebSocket + SSE
|
||||||
|
- plain text output (mobile-friendly)
|
||||||
|
|
||||||
|
Target: ~1000-1500 lines total.
|
||||||
Loading…
Reference in a new issue