Skip to main content

RC3 Command Center - Modular CLI Dashboard with Keyboard-Driven Command Execution

Project description

RC3 Command Center v0.4.4

A professional CLI dashboard for developers - keyboard-driven command execution with optimized performance and lazy loading.

Features

  • Navigator Tab: Unified split-screen interface combining directory browsing and instant command execution - browse with hjkl, execute with any letter key
  • Command Reference Tab: Never forget your shortcuts - comprehensive list of all available commands with descriptions
  • Quick Commands: Execute predefined commands from YAML configuration
  • System Monitoring: Real-time CPU, memory, disk, and process monitoring (on-demand only)
  • Developer Tools: Git operations and system utilities
  • File Browser: Interactive file explorer with create, rename, delete, and open operations
  • Plugin System: Auto-discovery of modular plugins with lazy loading
  • Professional UI: Clean, minimal interface with instant tab navigation
  • Global Access: Install once, use anywhere with rc3 command
  • Performance Optimized: Instant tab switching, minimal CPU usage, lazy plugin loading

Performance

v0.3.8 Optimization Highlights:

  • โšก Instant Tab Switching: <50ms tab switches (was 200-500ms)
  • ๐Ÿ”‹ 70% CPU Reduction: System monitoring only runs when visible
  • ๐Ÿš€ 60% Faster Startup: Lazy loading reduces startup time from ~2s to ~0.8s
  • ๐Ÿ’พ Smart Resource Usage: Only active tabs consume resources
  • ๐ŸŽฏ Optimized Focus: Direct widget references eliminate DOM queries

The TUI now delivers desktop-app-level responsiveness with minimal system overhead.

Installation

cd rc3_tui
pip install -e .

Usage

Simply run:

rc3

Navigation

  • Tab Navigation: Use arrow keys (โ† โ†’) or number keys (1-5)

    • 1 - Navigator (Primary Interface)
    • 2 - Commands (Quick Reference)
    • 3 - System Monitor
    • 4 - Developer Tools
    • 5 - File Browser
  • Navigator Tab (Tab 1 - Primary Interface):

    • Left Panel - Directory browser (always visible)
      • hjkl or โ†‘โ†“โ†โ†’ - Navigate files/folders (Vim-style)
      • Enter or l/โ†’ - Enter directory or open file
      • h/โ† or Backspace - Go to parent directory
      • n - Create new folder
      • r - Rename selected item
      • d - Delete selected item (y to confirm)
      • o - Open in system default application
      • e - Open current directory in Explorer
    • Right Panel - Command output display
    • Letter Keys - Execute commands instantly (e.g., press g for git status)
      • Commands auto-execute in currently browsed directory
      • Output appears in right panel
      • Note: h, j, k, l are reserved for navigation
  • Commands Tab (Tab 2): Reference list of all available shortcuts - never forget your commands!

  • System Tab (Tab 3): Press c (CPU), m (Memory), d (Disk), n (Network), a (All) for detailed views

  • Tools Tab (Tab 4): Developer tools and utilities

  • Files Tab (Tab 5): Alternative file browser

  • Global Controls:

    • Quit: q or Ctrl+C
    • Dark Mode: Ctrl+D to toggle
    • Reload: Ctrl+R to reload plugins
  • Navigator Tab Shortcuts:

    • Smart Git Commit: g - AI-powered commit & push from current directory (see below)

Smart Git Commit (Hotkey: g in Navigator Tab)

The g hotkey in the Navigator tab (Tab 1) provides AI-powered git automation using OpenAI's Codex CLI:

What it does:

  1. ๐Ÿ” Finds the git root directory from your current location
  2. ๐Ÿ“Š Analyzes all modified, staged, and untracked files
  3. ๐Ÿ“ Generates a conventional commit message using Codex CLI
  4. ๐Ÿ“ฆ Stages all changes (git add .)
  5. ๐Ÿ’พ Commits with the AI-generated message
  6. ๐Ÿš€ Pushes to the remote repository

Requirements:

  • OpenAI Codex CLI installed and authenticated
    npm install -g @openai/codex
    # or
    brew install codex
    
  • Sign in with your ChatGPT account:
    codex
    # Then select "Sign in with ChatGPT"
    

Usage:

  1. Switch to Navigator tab (press 1 or click Navigator)
  2. Navigate to your project directory
  3. Press g to run the automation

The automation will:

  • Find the git root starting from the current Navigator directory
  • Analyze all your changes in the repository
  • Generate a smart commit message in conventional format (feat:, fix:, refactor:, etc.)
  • Stage, commit, and push automatically

Conventional Commit Format: Generated messages follow best practices:

  • feat: add new feature
  • fix: resolve bug in parser
  • refactor: optimize performance
  • docs: update README
  • chore: update dependencies

Error Handling:

  • Falls back to "chore: automated commit" if Codex fails
  • Validates git repository before proceeding
  • Provides step-by-step notifications in the TUI
  • Handles edge cases (untracked files, no changes, etc.)

Example Workflow:

  1. Make code changes in your project
  2. Open RC3 TUI: rc3
  3. Press 1 to switch to Navigator tab
  4. Navigate to your project directory (or any subdirectory)
  5. Press g
  6. Watch as changes are analyzed, committed, and pushed automatically

Configuration

Configuration files are stored in ~/.rc3/:

commands.yaml

Define your custom commands:

quick_commands:
  - name: "Edit in Vim"
    shortcut: "v"
    command: "Start-Process powershell -ArgumentList '-NoExit', '-Command', 'vim {file}'"
    shell: "powershell"
    description: "Open selected file in vim (new terminal)"
  
  - name: "Open in VSCode"
    shortcut: "c"
    command: "code {path}"
    shell: "powershell"
    description: "Open selected file in VS Code"
  
  - name: "Git Log"
    shortcut: "l"
    command: "git log --oneline -10"
    shell: "powershell"
    description: "Show recent git commits"
  
  - name: "Git Diff File"
    shortcut: "f"
    command: "git diff {file}"
    shell: "powershell"
    description: "Show git diff for selected file"

Important - Reserved Keys in Navigator Tab:

  • Navigation keys: h, j, k, l - Vim-style navigation
  • File operations: n, r, d, o, e, t - Create, rename, delete, open, explorer, terminal
  • Git automation: g - Smart Git Commit (AI-powered)
  • Available for custom commands: b, c, f, m, p, s, u, v, w, x, y, z

Example shortcuts in use:

  • v - Edit in Vim
  • s - Git Status
  • f - Git Diff File

Dynamic File Placeholders:

  • Use {file} in your commands to reference the selected filename (e.g., README.md)
  • Use {path} in your commands to reference the full path (e.g., C:\Users\rc3\README.md)
  • Examples:
    • vim {file} - Edit the selected file
    • code {path} - Open in VS Code
    • git diff {file} - Show git changes
    • Start-Process powershell -ArgumentList '-Command', 'vim {file}' - Open in new terminal

config.yaml

Application settings:

theme: "dark"
plugins:
  enabled:
    - quick_commands
    - system_info
    - dev_tools
    - working_directory

Creating Plugins

Create a new file in rc3/plugins/:

# rc3/plugins/my_plugin.py
from textual.widgets import Static
from rc3.plugins.base import BasePlugin

class Plugin(BasePlugin):
    name = "My Plugin"
    description = "My custom plugin"
    
    def render(self):
        return Static("Hello from my plugin!")

That's it! The plugin will be auto-discovered on next launch.

Project Structure

rc3_tui/
โ”œโ”€โ”€ rc3/
โ”‚   โ”œโ”€โ”€ core/              # Core engine
โ”‚   โ”‚   โ”œโ”€โ”€ app.py         # Main TUI app
โ”‚   โ”‚   โ”œโ”€โ”€ plugin_manager.py
โ”‚   โ”‚   โ”œโ”€โ”€ config_manager.py
โ”‚   โ”‚   โ””โ”€โ”€ command_runner.py
โ”‚   โ”œโ”€โ”€ plugins/           # Extensible plugins
โ”‚   โ”‚   โ”œโ”€โ”€ base.py        # Plugin base class
โ”‚   โ”‚   โ”œโ”€โ”€ quick_commands.py
โ”‚   โ”‚   โ”œโ”€โ”€ system_info.py
โ”‚   โ”‚   โ”œโ”€โ”€ dev_tools.py
โ”‚   โ”‚   โ”œโ”€โ”€ working_directory.py
โ”‚   โ”‚   โ””โ”€โ”€ file_browser.py
โ”‚   โ””โ”€โ”€ assets/
โ”‚       โ””โ”€โ”€ theme.tcss     # Styling
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ agent.md              # Agent integration guide

Development

Install with dev dependencies:

pip install -e ".[dev]"

Run with hot reload:

textual run --dev rc3

Current Status

Completed Features โœ…

  • Quick Commands - Interactive keyboard-driven command execution
    • Keyboard-first design: Single-letter shortcuts from YAML config
    • Slash command search: Type /git then Enter to execute
    • Vim-style navigation (j/k) and arrow keys
    • Async command execution (non-blocking UI)
    • Live output display with scrollable, color-coded status
    • Command timing and duration tracking
    • Tab-scoped shortcuts (no conflicts with global navigation)
  • Real-time System Monitoring - Live updates every 2s with color-coded progress bars
    • Conditional monitoring - Only runs when System tab is visible (70% CPU savings)
    • Async/non-blocking - Background threads eliminate UI lag (asyncio.to_thread())
    • Lazy loading - Initializes on first tab access, not at startup
    • Two-column layout: metrics (left) and processes (right)
    • CPU usage (per-core and aggregate)
    • Memory usage with GB details
    • Disk usage with GB details
    • Top 20 processes by CPU usage (auto-refreshing, scrollable)
    • Expandable details with keyboard toggles (c, m, d, n, a)
    • CPU details: Frequency, per-core usage
    • Memory details: Swap memory, breakdown
    • Disk details: I/O stats, partitions
    • Network details: Connections, I/O (optimized for Windows)
    • Cross-platform compatibility (works with any Textual version)
  • Working Directory Navigator - Interactive file explorer
    • Keyboard-driven navigation (vim + arrow keys)
    • Create folders with inline input prompts
    • Rename files/folders with validation
    • Delete with confirmation (y/N)
    • Open files/folders in system default applications
    • Set working directory for command execution
    • Cross-platform support (Windows, Linux, macOS)
    • Sorted display: directories first, then files
  • Developer Tools plugin (Git operations, system utilities)
  • Professional tab-based navigation
  • Global command installation (rc3)
  • Plugin auto-discovery system
  • Dark/light mode toggle

Recent Updates โœ…

  • v0.3.9 Smart Git Automation (Oct 2025)
    • AI-powered git commit message generation using Codex CLI
    • Global hotkey g for instant commit & push workflow
    • Automatic git root detection
    • Conventional commit format (feat:, fix:, refactor:, etc.)
    • Full error handling with fallback messages
  • v0.3.8 Performance Optimization (Oct 2025)
    • Instant tab switching with lazy plugin loading
    • Conditional system monitoring (only runs when tab is visible)
    • 70% CPU reduction when not viewing System tab
    • Optimized focus logic with cached widget references
    • Removed expensive Windows operations (net_connections)
  • Tab-Scoped Hotkeys - Press number keys (1-5) to switch tabs, then immediately use tab-specific shortcuts
  • Auto-Focus System - No manual tabbing required, widgets auto-focus when switching tabs
  • Conflict Resolution - Dark mode moved to Ctrl+D, tab-specific keys work without conflicts

Future Enhancements ๐Ÿš€

  • Command history and favorites
  • Search/filter commands with fuzzy matching
  • Live output streaming (real-time command output)
  • Historical charts for system metrics
  • Alert thresholds for resource usage
  • Advanced file operations (copy, paste, multi-select)
  • File preview panel in Working Directory Navigator
  • Docker container management
  • Network monitoring tools
  • Custom theme support
  • Plugin marketplace

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rc3_tui-0.4.7.tar.gz (44.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rc3_tui-0.4.7-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file rc3_tui-0.4.7.tar.gz.

File metadata

  • Download URL: rc3_tui-0.4.7.tar.gz
  • Upload date:
  • Size: 44.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for rc3_tui-0.4.7.tar.gz
Algorithm Hash digest
SHA256 60d600fd75ba6be6163c7ecbd56ceb7c0e241d2741d988ebfcd49c1230c8899f
MD5 1e7742590519dd817d73df7d1c82f4e9
BLAKE2b-256 9e77ff1142a877507e7fd44e98e06e1bf0ed12b4f2ef1314c3a45651f0b1bbe3

See more details on using hashes here.

File details

Details for the file rc3_tui-0.4.7-py3-none-any.whl.

File metadata

  • Download URL: rc3_tui-0.4.7-py3-none-any.whl
  • Upload date:
  • Size: 44.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for rc3_tui-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 41365183343dfd2b0ec69e8e90ddf6bc415c2b0303858c46c5fcd659445d9152
MD5 c54955ffd70b053cb3650d09ca0c3319
BLAKE2b-256 7182b8b028e051e3c110a0fb3d676615214352fef64f06c684b7c6de409f83ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page