Skip to content
RenCodeIDEPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Ren TUI

The Ren TUI is a companion tool for Claude Code that provides a rich terminal interface for monitoring sessions, viewing diffs, and orchestrating agents.

Features

  • Conversation Panel: Real-time view of Claude Code transcripts with styled messages.
  • Event-Driven Diff Viewer: Tracks file changes made by Claude with:
    • Per-file diff viewing (not whole workspace)
    • Navigation between changed files (j/k keys)
    • Timestamps and tool names (Edit, Write, NotebookEdit)
    • Error tracking with visual indicators
  • Agent Orchestration: Foundation for managing multiple internal agents.
  • Hook Integration: Receives real-time events from Claude Code via webhooks.

Installation

git clone https://github.com/ren-engineering/ren-tui.git
cd ren_tui
go build ./cmd/ren

Configuration

  1. Ren Config: The TUI looks for ren.json in the current directory or defaults.

    {
      "port": 8888,
      "theme": "dracula"
    }
  2. Claude Code Hooks (REQUIRED): Configure your ~/.claude/settings.json to send events to Ren.

    {
      "hooks": {
        "PostToolUse": [
          {
            "matcher": ".*",
            "hooks": [
              {
                "type": "command",
                "command": "curl -X POST -d @- http://localhost:8888/hook -H 'Content-Type: application/json' --fail --silent --show-error || true"
              }
            ]
          }
        ],
        "UserPromptSubmit": [
          {
            "hooks": [
              {
                "type": "command",
                "command": "curl -X POST -d @- http://localhost:8888/hook -H 'Content-Type: application/json' --fail --silent --show-error || true"
              }
            ]
          }
        ],
        "SessionStart": [
          {
            "hooks": [
              {
                "type": "command",
                "command": "curl -X POST -d @- http://localhost:8888/hook -H 'Content-Type: application/json' --fail --silent --show-error || true"
              }
            ]
          }
        ],
        "Stop": [
          {
            "matcher": ".*",
            "hooks": [
              {
                "type": "command",
                "command": "curl -X POST -d @- http://localhost:8888/hook -H 'Content-Type: application/json' --fail --silent --show-error || true"
              }
            ]
          }
        ]
      }
    }

    Note: Without these hooks configured, the TUI will show "No active sessions" even when Claude Code is running.

Usage

  1. Start the Ren TUI:
    ./ren
  2. Run Claude Code in another terminal (or in your IDE).
  3. The TUI will automatically update as you interact with Claude:
    • Conversation Tab: Shows the full transcript with user and assistant messages
    • Diff Tab: Shows file changes made by Claude (use j/k to navigate between files)
    • Tab/Shift+Tab: Switch between tabs
    • q or Ctrl+C: Quit

Keyboard Shortcuts

  • Tab / Shift+Tab: Navigate between tabs (Conversation, Orchestration, Diff, Config)
  • Diff Tab Navigation:
    • j / Down: Next file
    • k / Up: Previous file
    • g: Go to first file
    • G: Go to last file
    • Scroll: Use arrow keys or mouse wheel to scroll through diff content
  • q / Ctrl+C: Quit application

Development

  • Build: go build ./cmd/ren
  • Test: go test ./...
  • Demo Hook: go run cmd/hook_demo/main.go

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages