Command Palette

Search for a command to run...

Home / Servers

Luna-Core-HUD

by Kotsur69

LunaCore

Visual GUI wrapper (dashboard) for the Claude Code CLI.

LunaCore wraps the real claude CLI in an Electron window: a live terminal in the center, clickable action buttons on the left, and a status monitor on the right. It adds control and visibility without spending a single extra token — it never injects prompts or touches the claude binary.

Status: Phases 1–4 + full backlog implemented — interactive terminal, Action Injector, live Passive Observer, runtime profile switching, localhost ports tracker, action cheat-sheets, skill cheat-sheet, a multi-line prompt library, a working/waiting LED, a local scratchpad, a command palette (Ctrl+K), a token burn-rate sparkline, a swappable theming system, a PL/EN language switch, a live usage-limits gauge (5-hour + weekly subscription windows), an armed auto-compact toggle, a CWD/project switcher, a cyberpunk boot sequence, and a Skill Tracker that shows how long each tool actually ran.


⚠️ Core constraint: zero extra tokens

LunaCore must not inject hidden system prompts, middleware, or modify the claude binary. Any "smart" context analysis by an extra agent would burn the user's context window. It works only as:

  • Passive Observer — listens to the CLI's stdout stream and extracts data via regex on the Node.js backend (no round-trips to any model).
  • Action Injector — GUI buttons write plain text directly to the PTY stdin, exactly as if the user typed it.

Architecture

┌─────────────────────┬───────────────────────────────┬─────────────────────┐
│  LEFT PANEL         │       CENTER (Terminal)       │   RIGHT PANEL       │
│  (Controls)         │                               │   (Status Monitor)  │
├─────────────────────┤  ● LED: working / waiting     ├─────────────────────┤
│ [⚡ COMPACT CONTEXT]│  [tab][tab][tab]          [+] │  Context Window bar │
│                     │  [Ctrl+K] command palette     │  (of the ACTIVE tab)│
│ Auto-compact toggle │     xterm.js render area      │  + burn sparkline   │
│ Theme/lang/boot     │                               │  Usage limits       │
│ Project (cwd)       │  Claude CLI interactive       │  Skill Tracker      │
│ Profile switcher    │  session (node-pty process)   │  tiles              │
│ Action cheat-sheets │                               │  Localhost ports    │
│ Prompt library      │                               │  Scratchpad         │
│ Skill cheat-sheet   │                               │                     │
│ (panel scrolls)     │                               │  (panel scrolls)    │
└─────────────────────┴───────────────────────────────┴─────────────────────┘

Data flow:

DirectionPath
Passive Observer (terminal)session.proc.onData → IPC pty:data {sessionId, data} → that tab's xterm.write()
Passive Observer (Skill Tracker)TranscriptWatchertoolEventsFromLines() + foldToolEvents() pair each tool_use id with the tool_result that closes it → IPC metrics:tools {events:[{phase,id,tile,at}]}skilltracker.js sweeps a tile for the tool's real duration. The old detectTools() stdout scan (ANSI strip + Name( regex) stays as a backstop — it broke silently when the TUI changed how it renders a tool call — and still sends the flat {tiles} blink.

Related servers

n8n

Updated today

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

199,260

mcp-server-git

OfficialUpdated today

by modelcontextprotocol

A Model Context Protocol server providing tools to read, search, and manipulate Git repositories programmatically via LLMs

89,176

mcp-server-fetch

OfficialUpdated today

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,176

@modelcontextprotocol/server-everything

OfficialUpdated today

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,176