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.6.tar.gz (45.1 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.6-py3-none-any.whl (45.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rc3_tui-0.4.6.tar.gz
  • Upload date:
  • Size: 45.1 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.6.tar.gz
Algorithm Hash digest
SHA256 4a218d7c7b11bf221b4406b52bf8051bfa72943932455d72b7d8b83c3fac289d
MD5 8dfa21b8b49b21443be288c6c3d1e64a
BLAKE2b-256 c0f9acc4e367632f7382d9222171441377cb231926f849abb3e7a85c198dd9ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rc3_tui-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 45.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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5a5100fa2c85355bc04ea4f436775babb0746b475804190f22a078e537c484b1
MD5 5d84c86070e6250b4ac66c74b31e6740
BLAKE2b-256 c8c94707ac0986dbe71f27d6734c712ecc6385b31daf1a8f2b9b2a889c4cdf06

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