I Built a Star Trek LCARS Terminal to Manage My Claude Code Setup

# claude# ai# softwareengineering# anthropic
I Built a Star Trek LCARS Terminal to Manage My Claude Code SetupAndre Figueira

I’ve been using Claude Code heavily for months now. Skills, agents, hooks, MCP servers, plugins,...

I’ve been using Claude Code heavily for months now. Skills, agents, hooks, MCP servers, plugins, memory files, environment variables, the whole stack. And at some point I realized I had no idea what I’d actually built. Everything lives in ~/.claude/ spread across dozens of files and JSON configs and I was just... hoping it all worked together.

So I built a dashboard. And because I’m the kind of person who watched every episode of TNG twice and still thinks the LCARS interface is the best UI ever designed for a computer, I made it look like a Starfleet terminal.

One Command and You’re on the Bridge
You run npx claude-hud-lcars and it scans your entire ~/.claude/ directory, reads every skill definition, every agent prompt, every MCP server config, every hook, every memory file, and generates a single self-contained HTML dashboard that renders the whole thing in an authentic LCARS interface.

It uses the real TNG color palette with the signature rounded elbows, Antonio typeface standing in for Swiss 911, pill-shaped navigation buttons against the black void background. If you grew up watching Picard walk onto the bridge and glance at a wall panel, you know exactly what this looks like.

The aesthetics are doing actual work tho. Every single item is clickable. You hit a skill and the detail panel slides open showing the full SKILL.md with syntax-highlighted code blocks, proper markdown rendering, headers, tables, all of it. Click an MCP server and you see the complete JSON config with your API keys automatically redacted. Click a hook and you get the full event definition. It genuinely looks like pulling up a classified Starfleet briefing on a PADD.

The Computer Actually Talks Back
You type “status report” into the input bar at the bottom of the screen and Claude responds as the ship’s computer. Calm, structured, addressing you like a bridge officer. It calls your skills installed modules, your MCP servers the fleet, your projects active missions. The system prompt turns Claude into LCARS, the Library Computer Access and Retrieval System, and the whole interaction streams in real time through a response overlay that slides up from the bottom.

I kept going. You can connect ElevenLabs for premium voice output, and the config panel lets you browse all your available voices with live audio previews before selecting one so you’re not guessing. Voice input works too, you talk to the computer and it talks back. Getting that to work as an actual conversation loop meant solving echo detection so it doesn’t hear itself, interrupt handling, mic cooldown after speech, the whole thing. It took more effort than I expected but it actually works, which honestly surprised me more than anything else in this project.

Sound effects are all synthesized via the Web Audio API, sine wave oscillators tuned to frequencies that sound right for navigation clicks, panel opens, message sends. Toggleable obviously.

The Tactical Display
The TACTICAL tab is the one that makes people stop scrolling. It renders your entire Claude Code setup as an interactive force-directed graph that looks like a Star Trek sensor display. Your LCARS core sits at the center with category hubs orbiting around it, skills in periwinkle, MCP servers in orange, hooks in tan, agents in peach, all connected by pulsing edges. A rotating scanner line sweeps around like a tactical readout and you can click any node to navigate straight to that item’s detail view.

There’s also an ENTERPRISE tab that loads a real 3D model of the USS Enterprise NCC-1701-D via Sketchfab. Full interactive, you can rotate it, zoom in, see the hull detail. Because if you’re going to build a Star Trek dashboard you don’t do it halfway.

Boot Sequence and Red Alert
When you load the dashboard you get a 3 second boot animation. The Starfleet Command logo fades in, your ship name appears (you can name your workstation in the config, mine is USS Defiant), then seven subsystems come online one by one with ascending beeps until the progress bar fills and “ALL SYSTEMS NOMINAL” pulses across the screen before the overlay fades to reveal the dashboard. I spent an unreasonable amount of time tuning those boot frequencies and I would absolutely do it again.

Five seconds after boot the system runs a health check. MCP servers offline? RED ALERT, flashing red border, klaxon alarm. Missing configs? YELLOW ALERT. Everything clean shows CONDITION GREEN briefly then dismisses. If you’re a Trek fan you already understand why this matters more than it should.

Four ship themes too, switchable from CONFIG. Enterprise-D is the classic TNG orange and blue, Defiant is darker and more aggressive in red and grey, Voyager is blue-shifted and distant, Discovery is silver and blue for the modern Starfleet aesthetic. CSS variable swap, instant application, persisted in localStorage.

Q Shows Up Whether You Want Him To or Not
There’s a Q tab where you can talk to Q, the omnipotent being from the Continuum. He’s in full character, condescending, theatrical, calling you “mon capitaine” and snapping his fingers. There’s a JUDGE ME button where Q examines your entire setup by name and delivers a devastating roast with one grudging compliment buried in the mockery.

Every couple of minutes there’s a small chance Q just appears on screen with a random quip. A red popup, a snap sound, something like “I’ve seen civilizations rise and fall in the time it takes you to write a commit message.” Then he vanishes. You can’t stop it. He’s Q.

Why This Exists
Look, the Star Trek stuff is fun and it’s what makes people share it. But there’s a real problem underneath the aesthetics.

There’s a lot going on in Claude Code. The skill system, the hook architecture, MCP server integration, custom agents, memory files, it adds up fast. But the setup is invisible. Everything lives in flat files and JSON configs scattered across your home directory. You build this complex system and then you can’t see it. You can’t browse it. You definitely can’t pull it up and show someone what you’ve built.

I open this dashboard and I immediately know where I stand. 36 skills, 12 MCP servers, 8 hooks, 4 agents. That memory file from three weeks ago is still there. That hook I thought I deleted is still active. That MCP server config has a typo in the args. And I can fix all of it right there, create new skills and agents and hooks directly from the dashboard, edit files in the browser, open them in my editor, copy commands, invoke skills. It turns Claude Code from a thing you configure and hope works into a system you can actually observe and manage.

Under the Hood
The whole thing generates one self-contained HTML file using nothing but Node.js built-ins. CSS, JavaScript, markdown renderer, syntax highlighter, chat client, voice synthesis, sound effects, force-directed graph, all inline. You can email the dashboard to someone and they open it in their browser and it works. In live server mode it adds API endpoints for chat streaming, file operations, voice synthesis, and MCP health checks, but the core dashboard runs perfectly static with zero external requests aside from Google Fonts for the LCARS typeface.

The codebase is open source under MIT and I’m actively improving it. I’ve read through the entire Claude Code source and there’s a lot more I want to do with this.

The first time I booted the finished dashboard and the LCARS panels came up with the beeps ascending and the subsystems going green one by one, I just sat there for a second. I’ve been staring at terminal output for months. Seeing the whole system laid out in that interface, the one I spent my childhood thinking was the future of computing, that hit different.

If you’re using Claude Code and you want to actually see what you’ve built, give it a try. One command, about 3 seconds.

npx claude-hud-lcars

For the full experience with chat and voice:

`export ANTHROPIC_API_KEY=sk-ant-...

npx claude-hud-lcars --serve`

The repo is at github.com/polyxmedia/claude-hud-lcars. Star it, fork it, and if Q roasts your setup particularly hard I want to hear about it.

Live long and prosper.