From f9f79af8ecf7f4687a88f00134d8f77eb1f4eea5 Mon Sep 17 00:00:00 2001 From: arkon Date: Wed, 21 Jan 2026 14:15:45 +0100 Subject: [PATCH] docs: revamp README with improved structure and visuals - Complete README rewrite with better visual hierarchy - New tagline: "Track Claude Code Sessions Better Than Ever" - Emphasize Respawn Controller as key feature for autonomous work - Add ASCII art diagrams for architecture and token lifecycle - Add feature comparison tables - Include Ralph Wiggum loop screenshot - Add comprehensive API reference section - Improve Quick Start section with clear prerequisites - Add FAQ section - Remove TUI references (feature not ready) - Update GitHub clone URL Co-Authored-By: Claude Opus 4.5 --- README.md | 685 +++++++++++-------- docs/screenshots/dashboard-multi-session.png | Bin 0 -> 48183 bytes docs/screenshots/session-terminal.png | Bin 0 -> 48173 bytes 3 files changed, 389 insertions(+), 296 deletions(-) create mode 100644 docs/screenshots/dashboard-multi-session.png create mode 100644 docs/screenshots/session-terminal.png diff --git a/README.md b/README.md index 65d2c97f..804ee72c 100644 --- a/README.md +++ b/README.md @@ -1,393 +1,494 @@ -

๐Ÿค– Claudeman

+

+
+ ๐Ÿค– Claudeman +
+

+ +

Track Claude Code Sessions Better Than Ever

- The missing control plane for Claude Code.
- Run 20 autonomous agents. Track them in real-time. Never lose work again. + Run 20 agents in parallel. Track them in real-time. The Respawn Controller keeps them working while you sleep.

License: MIT - Node.js Version - TypeScript - Tests + Node.js 18+ + TypeScript 5.5 + Fastify + Tests

- Quick Start โ€ข - Features โ€ข - Ralph Loops โ€ข - API โ€ข - Full Docs + Problem โ€ข + Solution โ€ข + Quick Start โ€ข + Features โ€ข + Ralph Loops โ€ข + API

--- -## The Problem - -You're running Claude Code for a complex refactor. 3 hours in: - -- ๐Ÿ’ฅ **Session crashes** โ€” your context is gone -- ๐Ÿ”„ **Token limit hit** โ€” manual `/clear` interrupts flow -- ๐Ÿ˜ด **You went to sleep** โ€” Claude finished at 2am and sat idle for 6 hours -- ๐Ÿคฏ **5 parallel sessions** โ€” which one had the auth fix again? - -**Claude Code is powerful. Managing it shouldn't be painful.** +

+ Claudeman Dashboard +

--- -## The Solution +## ๐Ÿšจ The Problem + +You're running Claude Code on a complex refactor. **Three hours in:** + +| Issue | Impact | +|-------|--------| +| ๐Ÿ’ฅ **Session crashes** | All your context is gone. Start over. | +| ๐Ÿ”„ **Token limit hit** | Forced to manually `/clear` โ€” breaks your flow | +| ๐Ÿ˜ด **You went to sleep** | Claude finished at 2am, sat idle for 6 hours | +| ๐Ÿคฏ **5 parallel sessions** | Which one had the auth fix? Where's the API changes? | +| ๐Ÿ’ธ **Surprise costs** | No visibility into token usage until the bill arrives | + +**Claude Code is incredibly powerful.** +**Now you can track and manage it like never before.** + +--- + +## โœจ The Solution ```bash +git clone https://github.com/Ark0N/claudeman.git && cd claudeman npm install && npm run build claudeman web -# โ†’ http://localhost:3000 ``` -

- Claudeman Interface -

+**Open http://localhost:3000** and you get: -**Claudeman gives you:** + + + + + + + + + +
-โœจ **20 parallel sessions** with independent terminals and state -๐Ÿ”„ **Autonomous respawn** โ€” sessions restart automatically when idle -๐Ÿ“Š **Real-time monitoring** โ€” tokens, costs, memory, all at a glance -๐Ÿ’พ **GNU Screen persistence** โ€” survives crashes, restarts, network failures -๐ŸŽฏ **Ralph Loop tracking** โ€” detect `COMPLETE` and todos automatically +### ๐Ÿ–ฅ๏ธ Multi-Session Dashboard +- **20 parallel sessions** with real-time terminals +- Tab-based navigation with keyboard shortcuts +- Per-session token tracking and cost monitoring +- One-click bulk operations + + + +### ๐Ÿ’พ Crash-Proof Persistence +- Every session runs in **GNU Screen** +- Survives server restarts, network drops, machine sleep +- Auto-discovery of orphaned sessions on startup +- Never lose work again + +
+ +### ๐Ÿ”„ Respawn Controller +- **The key to autonomous work while you sleep** +- Detects when Claude becomes idle and restarts work +- Auto-cycles `/clear` โ†’ `/init` to continue fresh +- Keeps going even if Ralph Wiggum loops stop +- Run for **24+ hours** completely unattended + + + +### ๐ŸŽฏ Ralph Loop Tracking +- Detects `COMPLETE` patterns +- Tracks TodoWrite progress (`- [x]`, `- [ ]`) +- Shows iteration count (`[5/50]`) +- Real-time progress visualization + +
--- -## Requirements +## ๐Ÿš€ Quick Start -- **Node.js 18+** โ€” ES2022 features required -- **Claude CLI** โ€” `claude` command must be in PATH ([Install guide](https://claude.ai/code)) -- **GNU Screen** โ€” for session persistence (`apt install screen` or `brew install screen`) +### Prerequisites ---- +| Requirement | Why | +|-------------|-----| +| **Node.js 18+** | ES2022 module syntax | +| **Claude CLI** | `claude` command in PATH ([Install](https://claude.ai/code)) | +| **GNU Screen** | Session persistence (`apt install screen` / `brew install screen`) | -## Quick Start - -### 1. Install +### Installation ```bash -# Clone the repository -git clone https://github.com/yourusername/claudeman.git +# Clone and install +git clone https://github.com/Ark0N/claudeman.git cd claudeman - -# Install dependencies and build npm install npm run build -# Optional: make 'claudeman' available globally +# Make 'claudeman' available globally (optional) npm link ``` -### 2. Launch +### Launch ```bash +# Production claudeman web -# Or for development: npx tsx src/index.ts web + +# Development (no build required) +npx tsx src/index.ts web + +# Custom port +claudeman web -p 8080 ``` -### 3. Create Your First Session +### Your First Session -1. Open http://localhost:3000 -2. Press `Ctrl+Enter` or click **"Run Claude"** -3. Start coding โ€” your session is now persistent and monitored +1. Open **http://localhost:3000** +2. Press **`Ctrl+Enter`** or click **"Run Claude"** +3. Your session is now: + - โœ… Running in GNU Screen (persistent) + - โœ… Tracking tokens and costs + - โœ… Ready for Ralph Loop detection --- -## Features +## ๐ŸŽฎ Features -### ๐Ÿ–ฅ๏ธ Multi-Session Management +### Real-Time Terminal Streaming -Spawn up to **20 parallel Claude sessions**, each with: -- Full xterm.js terminal with resize support -- Independent token tracking and cost monitoring -- One-click kill or bulk session management -- Tab-based navigation with keyboard shortcuts +

+ Terminal Streaming +

-### ๐Ÿ’พ Session Persistence +- **60fps rendering** โ€” Server batches at 16ms, client uses `requestAnimationFrame` +- **Full xterm.js** โ€” Colors, cursor, resize, selection, everything works +- **No polling** โ€” Real-time SSE for instant updates -**Never lose work again.** Every session runs in GNU Screen: +### Smart Token Management + +``` +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ TOKEN LIFECYCLE โ”‚ +โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค +โ”‚ 0k โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 110k โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 140k โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 200k โ”‚ +โ”‚ โ”‚ โ”‚ โ”‚ +โ”‚ โ–ผ โ–ผ โ”‚ +โ”‚ Auto-Compact Auto-Clear โ”‚ +โ”‚ (/compact) (/clear) โ”‚ +โ”‚ โ”‚ โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€ Summarize โ”€โ”€โ”€โ”ดโ”€โ”€ Reset & Continue โ”€โ–บ โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` + +| Threshold | Action | What Happens | +|-----------|--------|--------------| +| **110k tokens** | Auto `/compact` | Context is summarized, work continues | +| **140k tokens** | Auto `/clear` | Full reset with `/init`, fresh start | + +**Configure per-session:** +```bash +curl -X POST localhost:3000/api/sessions/:id/auto-compact \ + -d '{"enabled": true, "threshold": 100000}' +``` + +### Session Persistence + +Every Claude session runs inside GNU Screen with environment awareness: ```bash -# Your session survives: -- Server restarts -- Browser crashes -- Network disconnects -- Machine sleep/wake - -# Sessions know they're managed: +# Inside every Claudeman session: CLAUDEMAN_SCREEN=1 -CLAUDEMAN_SESSION_ID=abc-123 +CLAUDEMAN_SESSION_ID=abc-123-def CLAUDEMAN_SCREEN_NAME=claudeman-myproject ``` -### ๐Ÿ”„ Autonomous Respawn +**Why this matters:** +- Claude knows it's in a managed session +- Won't accidentally kill its own screen +- The default CLAUDE.md template includes safety instructions -The **Respawn Controller** keeps Claude productive while you're away: +### Resource Monitoring -``` -WATCHING โ†’ SENDING_UPDATE โ†’ WAITING โ†’ SENDING_CLEAR โ†’ SENDING_INIT โ†’ repeat -``` +The dashboard shows real-time resource usage: -Configure it once, let it run for hours: - -```bash -curl -X POST localhost:3000/api/sessions/:id/respawn/enable \ - -d '{"config": {"updatePrompt": "continue improving the code"}, "durationMinutes": 480}' -``` - -### ๐Ÿ“Š Smart Token Management - -| Threshold | Action | Why | -|-----------|--------|-----| -| 110k tokens | Auto `/compact` | Summarize context before limit | -| 140k tokens | Auto `/clear` | Reset to prevent hard-stop | - -No more surprise context exhaustion. No more manual intervention. - -### ๐ŸŽฏ Ralph Loop Integration - -Claudeman **natively tracks Ralph Wiggum loops** running inside Claude: - -``` -Detected: REFACTOR_COMPLETE -Loop: REFACTOR_COMPLETE (4.2h elapsed) -Tasks: 8/12 complete -``` - -Auto-enables when it detects: -- `PHRASE` completion patterns -- TodoWrite usage (`- [ ]`, `- [x]`) -- Iteration patterns (`[5/50]`, `Iteration 5 of 50`) -- `/ralph-loop:ralph-loop` commands - -### โšก 60fps Terminal Streaming - -- Server batches at 16ms intervals -- Client uses `requestAnimationFrame` for smooth rendering -- No polling โ€” real-time SSE for instant updates - -### ๐Ÿš€ Performance Optimized - -Built for smooth operation even with multiple long-running sessions: - -- **CSS containment** โ€” isolated paint operations for each component -- **Incremental DOM updates** โ€” only changed elements re-render -- **Input batching** โ€” keystrokes coalesced at 60fps -- **Event debouncing** โ€” reduced server load from rapid state changes -- **Memory management** โ€” automatic buffer trimming prevents leaks +| Metric | Location | Warning Threshold | +|--------|----------|-------------------| +| Memory per session | Monitor panel | Yellow at 500MB, Red at 1GB | +| Total screen count | Status bar | Shown with uptime | +| Token usage | Per-session | Color-coded by threshold | +| Cost tracking | Per-session | Running USD total | --- -## Ralph Loop +## ๐Ÿ” Ralph Wiggum Loops -The **Ralph Loop** is Claudeman's killer feature โ€” run Claude autonomously for 24+ hours. +The **Ralph Loop** is Claudeman's killer feature: **run Claude autonomously for 24+ hours**. + +

+ Ralph Loop Tracking +

### How It Works -1. **Assign task** โ†’ Claude starts working -2. **Monitor output** โ†’ Detect completion signals -3. **Auto-cycle** โ†’ Clear context, re-init, continue -4. **Time-aware** โ†’ Generate follow-up tasks if minimum duration not reached - -### Example: Overnight Code Review - -```bash -# Queue your tasks -claudeman task add "Review all code in src/ for bugs" -claudeman task add "Add missing test coverage" -claudeman task add "Update documentation" - -# Start the loop (run for at least 8 hours) -claudeman ralph start --min-hours 8 - -# Go to sleep. Wake up to: -# - All tasks completed -# - Auto-generated follow-ups (optimizations, security checks) -# - Full git history of changes +``` +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ RALPH LOOP CYCLE โ”‚ +โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค +โ”‚ โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ WATCH โ”‚โ”€โ”€โ”€โ–บโ”‚ DETECT โ”‚โ”€โ”€โ”€โ–บโ”‚ RESPAWN โ”‚โ”€โ”€โ”€โ–บโ”‚ CONTINUEโ”‚ โ”‚ +โ”‚ โ”‚ (idle) โ”‚ โ”‚ complete โ”‚ โ”‚ cycle โ”‚ โ”‚ work โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ–ฒ โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` -### Completion Detection +### Detection Patterns -| Pattern | Example | -|---------|---------| -| Promise tags | `COMPLETE` | -| Custom phrases | `AUTH_REFACTOR_DONE` | -| Common indicators | "All tasks completed", "โœ“ Done" | +Claudeman automatically detects Ralph loops when it sees: + +| Pattern | Example | Auto-Enables | +|---------|---------|--------------| +| Promise tags | `COMPLETE` | โœ… | +| Custom phrases | `AUTH_REFACTOR_DONE` | โœ… | +| TodoWrite | `- [ ] Task`, `- [x] Done` | โœ… | +| Iterations | `[5/50]`, `Iteration 5 of 50` | โœ… | +| Skill command | `/ralph-loop:ralph-loop` | โœ… | + +### Running a Ralph Loop + +**Via CLI:** +```bash +# Queue tasks +claudeman task add "Review all files in src/ for security issues" +claudeman task add "Add comprehensive test coverage" +claudeman task add "Update all documentation" + +# Start loop (minimum 8 hours) +claudeman ralph start --min-hours 8 + +# Check status +claudeman ralph status +``` + +**Via API:** +```bash +# Enable respawn with timer +curl -X POST localhost:3000/api/sessions/:id/respawn/enable \ + -H "Content-Type: application/json" \ + -d '{ + "config": { + "updatePrompt": "continue improving the codebase", + "idleTimeoutMs": 5000 + }, + "durationMinutes": 480 + }' +``` + +### Time-Aware Loops + +When you specify a minimum duration, Claudeman: + +1. Completes all primary tasks +2. Checks elapsed time +3. **If minimum not reached:** Generates follow-up tasks + - Code optimization + - Test coverage improvements + - Security hardening + - Documentation gaps +4. Only outputs completion phrase when time is met --- -## Web Interface - -### Keyboard Shortcuts +## โŒจ๏ธ Keyboard Shortcuts | Shortcut | Action | |----------|--------| -| `Ctrl+Enter` | Create case + start session | +| `Ctrl+Enter` | Quick-start: Create case + start session | | `Ctrl+W` | Close current session | -| `Ctrl+Tab` | Next session | +| `Ctrl+Tab` | Switch to next session | +| `Ctrl+Shift+Tab` | Switch to previous session | | `Ctrl+K` | Kill all sessions | | `Ctrl+L` | Clear terminal | -| `Ctrl++/-` | Adjust font size | - -### Monitor Panel - -Real-time visibility into: -- **Screen sessions** โ€” status, uptime, mode -- **Background tasks** โ€” Claude's spawned agents in tree view -- **Resource usage** โ€” memory with color-coded warnings +| `Ctrl++` / `Ctrl+-` | Increase/decrease font size | +| `Ctrl+?` | Show help overlay | +| `Escape` | Close panels and modals | --- -## CLI Commands +## ๐Ÿ“ก API Reference -```bash -# Sessions -claudeman start [--dir ] # Start new session -claudeman list # List all sessions -claudeman session stop # Stop specific session - -# Tasks -claudeman task add "prompt" # Add to queue -claudeman task list # Show queue -claudeman task clear # Clear completed - -# Ralph Loop -claudeman ralph start [--min-hours 8] -claudeman ralph stop -claudeman ralph status - -# Server -claudeman web [-p 8080] # Start web interface -claudeman status # Show overall status -``` - -### Screen Manager Script - -Interactive bash script for direct screen management: - -```bash -./scripts/screen-manager.sh # Launch interactive mode -``` - -| Key | Action | -|-----|--------| -| `โ†‘`/`โ†“` | Navigate | -| `Enter` | Attach to session | -| `d` | Delete session | -| `D` | Delete ALL | -| `q` | Quit | - ---- - -## API Reference - -### Sessions +### Session Management | Method | Endpoint | Description | |--------|----------|-------------| -| `GET` | `/api/sessions` | List all | -| `POST` | `/api/sessions` | Create new | -| `DELETE` | `/api/sessions/:id` | Delete | -| `POST` | `/api/sessions/:id/input` | Send input | +| `GET` | `/api/sessions` | List all sessions | +| `POST` | `/api/sessions` | Create new session | +| `GET` | `/api/sessions/:id` | Get session details | +| `DELETE` | `/api/sessions/:id` | Delete session | +| `POST` | `/api/sessions/:id/input` | Send terminal input | | `POST` | `/api/sessions/:id/resize` | Resize terminal | +| `POST` | `/api/sessions/:id/interactive` | Start interactive mode | ### Respawn Control | Method | Endpoint | Description | |--------|----------|-------------| -| `POST` | `/api/sessions/:id/respawn/start` | Start controller | -| `POST` | `/api/sessions/:id/respawn/stop` | Stop controller | -| `POST` | `/api/sessions/:id/respawn/enable` | Enable with timer | -| `PUT` | `/api/sessions/:id/respawn/config` | Update config | +| `POST` | `/api/sessions/:id/respawn/start` | Start respawn controller | +| `POST` | `/api/sessions/:id/respawn/stop` | Stop respawn controller | +| `POST` | `/api/sessions/:id/respawn/enable` | Enable with config + timer | +| `PUT` | `/api/sessions/:id/respawn/config` | Update running config | ### Token Management | Method | Endpoint | Description | |--------|----------|-------------| -| `POST` | `/api/sessions/:id/auto-compact` | Set compact threshold | -| `POST` | `/api/sessions/:id/auto-clear` | Set clear threshold | +| `POST` | `/api/sessions/:id/auto-compact` | Configure auto-compact | +| `POST` | `/api/sessions/:id/auto-clear` | Configure auto-clear | -### Monitoring +### Ralph Loop Tracking | Method | Endpoint | Description | |--------|----------|-------------| -| `GET` | `/api/events` | SSE stream (real-time) | -| `GET` | `/api/status` | Full app state | -| `GET` | `/api/screens` | Screen sessions | +| `GET` | `/api/sessions/:id/inner-state` | Get loop state + todos | +| `POST` | `/api/sessions/:id/inner-config` | Configure tracking | + +### Real-Time Events + +| Method | Endpoint | Description | +|--------|----------|-------------| +| `GET` | `/api/events` | SSE stream for all updates | +| `GET` | `/api/status` | Full application state | +| `GET` | `/api/screens` | Screen session list | + +### Quick Start + +| Method | Endpoint | Description | +|--------|----------|-------------| +| `POST` | `/api/quick-start` | Create case + start session | +| `GET` | `/api/cases` | List available cases | +| `POST` | `/api/cases` | Create new case | --- -## Long-Running Sessions +## ๐Ÿ—๏ธ Architecture -Claudeman is built for **12-24+ hour autonomous runs**. +``` +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ CLAUDEMAN โ”‚ +โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค +โ”‚ โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Web UI โ”‚ โ”‚ REST API โ”‚ โ”‚ SSE Events โ”‚ โ”‚ +โ”‚ โ”‚ (xterm.js) โ”‚โ—„โ”€โ”ค (Fastify) โ”‚โ”€โ”€โ”ค (/api/events) โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Session Manager โ”‚ โ”‚ +โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ +โ”‚ โ”‚ โ”‚Session 1โ”‚ โ”‚Session 2โ”‚ โ”‚Session Nโ”‚ โ”‚ RespawnControllerโ”‚ โ”‚ โ”‚ +โ”‚ โ”‚ โ”‚ (PTY) โ”‚ โ”‚ (PTY) โ”‚ โ”‚ (PTY) โ”‚ โ”‚ (per-session) โ”‚ โ”‚ โ”‚ +โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ GNU Screen Manager โ”‚ โ”‚ +โ”‚ โ”‚ claudeman-abc claudeman-def claudeman-xyz โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Claude CLI โ”‚ โ”‚ +โ”‚ โ”‚ claude --dangerously-skip-permissions โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` -### Memory Management +### Key Components -| Buffer | Max Size | Auto-Trim To | -|--------|----------|--------------| +| Component | File | Purpose | +|-----------|------|---------| +| **Session** | `src/session.ts` | PTY wrapper for Claude CLI | +| **RespawnController** | `src/respawn-controller.ts` | Autonomous cycling state machine | +| **ScreenManager** | `src/screen-manager.ts` | GNU Screen lifecycle management | +| **InnerLoopTracker** | `src/inner-loop-tracker.ts` | Ralph loop detection | +| **TaskTracker** | `src/task-tracker.ts` | Background task parsing | +| **WebServer** | `src/web/server.ts` | Fastify REST + SSE | +| **StateStore** | `src/state-store.ts` | JSON persistence | + +--- + +## ๐Ÿงช Development + +```bash +# Install dependencies +npm install + +# Run in development mode (no build needed) +npx tsx src/index.ts web + +# Type checking +npm run typecheck + +# Run tests +npm test # All tests +npm run test:watch # Watch mode +npx vitest run test/session.test.ts # Single file + +# Build for production +npm run build +``` + +### Test Structure + +``` +test/ +โ”œโ”€โ”€ unit/ +โ”‚ โ”œโ”€โ”€ respawn-controller.test.ts +โ”‚ โ”œโ”€โ”€ inner-loop-tracker.test.ts +โ”‚ โ”œโ”€โ”€ ralph-loop.test.ts +โ”‚ โ”œโ”€โ”€ session-manager.test.ts +โ”‚ โ””โ”€โ”€ ... +โ””โ”€โ”€ integration/ + โ”œโ”€โ”€ session.test.ts + โ”œโ”€โ”€ quick-start.test.ts + โ””โ”€โ”€ ... +``` + +--- + +## ๐Ÿ“Š Performance + +Built for **24+ hour autonomous runs** with multiple sessions: + +| Optimization | Implementation | +|--------------|----------------| +| **60fps streaming** | 16ms server batching, `requestAnimationFrame` client | +| **Memory management** | Auto-trimming buffers (5MB โ†’ 4MB on overflow) | +| **Event debouncing** | 50-500ms debounce on rapid state changes | +| **CSS containment** | Isolated paint operations per component | +| **Incremental DOM** | Only changed elements re-render | + +### Buffer Limits + +| Buffer | Max Size | Trim To | +|--------|----------|---------| | Terminal | 5MB | 4MB | | Text output | 2MB | 1.5MB | | Messages | 1000 | 800 | -| Respawn buffer | 1MB | 512KB | - -### Best Practices - -1. **Enable auto-compact** at 110k tokens -2. **Enable auto-clear** at 140k tokens -3. **Use screen sessions** for persistence -4. **Commit frequently** in Ralph loops -5. **Monitor resource indicators** in the UI +| Respawn | 1MB | 512KB | --- -## Why Claudeman? - -| Challenge | Without Claudeman | With Claudeman | -|-----------|-------------------|----------------| -| Session crashes | Lost context, manual restart | GNU Screen auto-recovery | -| Token limits | Surprise hard-stops | Auto-compact/clear at thresholds | -| Overnight runs | Claude sits idle | Respawn controller keeps working | -| 5+ parallel sessions | Tab hell, lost track | Web UI with real-time monitoring | -| Ralph loop tracking | Manual checking | Automatic detection + UI | -| Cost tracking | Surprise bills | Real-time per-session costs | - ---- - -## Troubleshooting - -### Session Won't Start - -```bash -which claude # Is Claude CLI installed? -claude --version # Check version -screen -ls # Check for stuck screens -pkill -f "SCREEN.*claudeman" # Kill all claudeman screens -``` - -### High Memory Usage - -```bash -# Lower the auto-clear threshold -curl -X POST localhost:3000/api/sessions/:id/auto-clear \ - -d '{"enabled": true, "threshold": 100000}' -``` - -### Respawn Not Working - -1. Check session is idle (look for `โ†ต send` indicator) -2. Verify respawn is enabled via API -3. Increase `idleTimeoutMs` if detection is too aggressive - ---- - -## FAQ +## โ“ FAQ **Q: How long can sessions run?** -A: 24+ hours. Buffer management keeps memory stable. +A: 24+ hours. Automatic buffer management keeps memory stable. **Q: Does it work with Claude Code hooks?** A: Yes! Claudeman spawns real Claude CLI processes with full hook support. @@ -395,29 +496,18 @@ A: Yes! Claudeman spawns real Claude CLI processes with full hook support. **Q: What if the server restarts?** A: Screen sessions persist. Claudeman auto-discovers them on startup. -**Q: Custom completion phrases?** -A: Yes! Use `YOUR_PHRASE` in prompts. +**Q: Can I use custom completion phrases?** +A: Yes! Use `YOUR_PHRASE` in your prompts. -**Q: How many parallel sessions?** -A: Up to 20 in the UI, 50 via API. +**Q: Maximum parallel sessions?** +A: 20 in the UI, 50 via API. + +**Q: Does it work on macOS/Linux/Windows?** +A: macOS and Linux fully supported. Windows requires WSL2. --- -## Development - -```bash -npm install -npx tsx src/index.ts web # Dev mode (no build needed) -npm run build # Production build -npm test # Run test suite -npx tsc --noEmit # Type check -``` - -See [CLAUDE.md](./CLAUDE.md) for full development documentation. - ---- - -## Contributing +## ๐Ÿค Contributing 1. Fork the repository 2. Create feature branch (`git checkout -b feature/amazing`) @@ -426,15 +516,18 @@ See [CLAUDE.md](./CLAUDE.md) for full development documentation. 5. Commit with conventional commits (`feat:`, `fix:`, `docs:`) 6. Open Pull Request +See [CLAUDE.md](./CLAUDE.md) for detailed development documentation. + --- -## License +## ๐Ÿ“„ License MIT License โ€” see [LICENSE](LICENSE) for details. ---

- Stop babysitting Claude. Start shipping.
- Built for developers who want Claude Code to work while they sleep. + Track sessions. Control respawn. Ship while you sleep. +
+ Built for developers running serious autonomous Claude Code sessions.

diff --git a/docs/screenshots/dashboard-multi-session.png b/docs/screenshots/dashboard-multi-session.png new file mode 100644 index 0000000000000000000000000000000000000000..41b24858b85172c3dc02d5083a30bd536e17422d GIT binary patch literal 48183 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 literal 0 HcmV?d00001