npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

thetacog-mcp

v1.0.7

Published

Transform your terminal into a mental palace. Cognitive workspaces with Split View mode switching. Tool = Identity = Mindset.

Readme

ThetaCog MCP

You have 47 browser tabs open. Give your brain a break.

The million tabs problem is not a discipline problem. It is an architecture problem. Each tab is a thought. Each thought belongs to a mode. Bunch your tabs and terminals by theme. Switch themes, not tasks.

The Model

Cmd+Space "kitty" → Split screen to your Operator workspace:

┌─────────────────┬─────────────────┐
│      LEFT       │      RIGHT      │
│─────────────────│─────────────────│
│ KITTY TERMINAL  │  BROWSER TABS   │
│   + Your AI     │ (Revenue theme) │
│─────────────────│─────────────────│
│  $ claude       │  Stripe.com     │
│  (or cursor)    │  CRM dashboard  │
│                 │  Analytics      │
│                 │  This dashboard │
└─────────────────┴─────────────────┘

The jump is the insight. Cmd+Space to a terminal name is instant context loading — you land in a split screen with your terminal LEFT and themed browser tabs RIGHT. Any MCP-compatible AI in that terminal inherits the room's context.

Tabs + Terminals = Themes. Each terminal app is a cognitive room. Each room has its browser tabs bunched by theme. You prune them to match the stack. When you switch terminals, the context switches with you — that's cheap cognitive switching.

Install

Works with any MCP-compatible client (Claude Code, Cursor, Cline, etc.)

npm install -g thetacog-mcp

What happens:

  1. HTML dashboards are copied to ~/.thetacog/
  2. Getting Started guide opens in your browser
  3. Your installed terminals are detected

Then register with Claude Code:

claude mcp add thetacog "npx thetacog-mcp"

Need terminals? Ask Claude: "Install Kitty and iTerm2 on my Mac"

Or install manually:

The 7 Cognitive Rooms

| Room | Terminal/App | Browser Tabs | Identity | |------|----------|--------------|----------| | Builder | iTerm2 | GitHub PRs, CI/CD, API docs | "I am shipping" | | Operator | Kitty | Stripe, CRM, analytics, tickets | "I am executing" | | Discoverer | WezTerm | Research, Stack Overflow, docs | "I am exploring" | | Teacher | Terminal | Blog drafts, content calendar, voice | "I am writing" | | Strategist | VS Code | Planning docs, competitor analysis | "I am positioning" | | Experimenter | Cursor | Prototypes, scratch files, POCs | "I am testing" | | Communicator | Messages | Slack, email, LinkedIn, texts | "I am connecting" |

Your dashboards are at: ~/.thetacog/

  • Open getting-started.html to see all rooms
  • Keep each room's dashboard as a browser tab next to related tabs
  • Bookmark the folder for quick access

These are starting points. Customize them later. Edit the HTML, change the links, add your own tabs. The dashboards are yours - make them match YOUR workflow.

Tips:

  • Place each room's HTML dashboard tab next to your related apps (Operator next to Stripe, Builder next to GitHub)
  • Chrome eating your RAM? Ask Claude: "kill my Chrome tabs that are using more than 500MB"

Split Screen Setup

Terminal left, browser right. This is the physical layout.

┌─────────────────┬─────────────────┐
│      LEFT       │      RIGHT      │
│─────────────────│─────────────────│
│    TERMINAL     │  BROWSER TABS   │
│    + Claude     │                 │
│─────────────────│─────────────────│
│  Kitty terminal │  Stripe.com     │
│  $ your-ai      │  CRM dashboard  │
│                 │  Analytics      │
│                 │  This dashboard │
└─────────────────┴─────────────────┘

macOS: Hover green maximize button → "Tile Window to Left" → Select browser for right Windows: Drag terminal to left edge until snap → Drag browser to right Linux: Super+Left for terminal, Super+Right for browser

How It Works

  1. Tabs + Terminals = Themes - Group your 47 tabs by what mode they serve
  2. Each terminal is a room - iTerm2 = Builder, Kitty = Operator, etc.
  3. Split screen - Terminal on left, browser tabs on right
  4. Each room has its browser tabs - Prune them to match the room's stack
  5. Bundled HTML dashboards - Starting points for your tab clusters (customize them)
  6. AI in that terminal - Your MCP-compatible AI (Claude, Cursor, Cline) inherits the room's context

The link is symbolic. You train yourself by repetition. Kitty + revenue tabs = Operator mindset. This is Hebbian learning: neurons that fire together, wire together. After a week, Cmd+Space "kitty" is instant context loading — your brain already knows what the terminal means. That's the cheap switch.

Tools (8 total)

thetacog-status

Get current room context and identity rules.

{
  "currentRoom": "operator",
  "emoji": "⚙️",
  "terminal": "Kitty",
  "browserTabs": ["Vercel Dashboard", "Supabase", "Error Tracking"],
  "identityRules": ["Execute, don't theorize", "Uptime is the metric"]
}

thetacog-switch

Switch to a different room with context preservation.

Claude: [calls thetacog-switch room="builder"]

"Switching to Builder room. Open iTerm2.
Your GitHub PRs and CI dashboard are waiting."

thetacog-open

Open the HTML dashboard for a room in the browser.

Claude: [calls thetacog-open room="operator"]
→ Opens operator-dashboard.html in browser

thetacog-todo

Manage priority lists per room. SQLite primary, syncs to JSON for HTML.

Claude: [calls thetacog-todo action="add" room="operator" text="Deploy v2.1" priority=1]
Claude: [calls thetacog-todo action="list" room="operator"]

thetacog-stream

Send messages between rooms (flywheel coordination).

Claude: [calls thetacog-stream action="send" from="builder" to="operator" message="v2.1 ready for deploy"]

thetacog-export

Export full state to JSON. HTML reads on tab focus.

thetacog-terminal

Detect which terminal the AI is running in.

AI: [calls thetacog-terminal]
→ { terminal: "Kitty", room: "operator" }

Architecture

~/.thetacog/
├── thetacog.db           # SQLite (primary store - fast MCP reads)
├── state.json            # JSON export (HTML reads on tab focus)
└── rooms/                # Local HTML copies

.workflow/                # Bundled with npm install
├── kitty-operator.html   # Operator room dashboard
├── iterm2-builder.html   # Builder room dashboard
├── messages-network.html # Messaging/communication hub
├── terminal-voice.html   # Teacher/writing room
└── ...                   # Starting points - customize later!

Data flow:

  1. MCP client writes to SQLite (0-1ms)
  2. Every write exports to state.json
  3. HTML reads state.json on tab focus
  4. No server needed - pure browser JS

The Key Insight

Cmd+Space to a terminal name is instant context loading — not context switching.

When you Cmd+Space kitty:

  • Kitty opens (Operator terminal)
  • Your Operator browser tabs are right there (you keep them pruned)
  • Any MCP-compatible AI in that terminal inherits the room's context
  • The bundled HTML dashboard is one of those tabs

This is Hebbian learning: "Neurons that fire together, wire together." After a week, the jump IS the context. That's cheap switching.

Cloud Sync (Coming Soon)

Free tier works entirely offline with bundled HTML dashboards.

Cloud tier ($1/month) adds:

  • Web dashboard at thetacoach.biz/thetacog (SQL-connected)
  • Cross-machine workspace sync
  • RetroAge prediction tracking
  • Same Supabase as ThetaCoach CRM

Who This Is For

The modern world is not a cognitively friendly place.

You have 47 browser tabs open right now. Chrome is eating 8GB of RAM. You know you should close some, but each tab is a thought - and you might need that thought later.

You know the type. You may be one. The person whose browser is a graveyard of "I'll get to this." The founder who gets a strong intuition and needs to capture it before it evaporates. The developer who can produce 10x output in flow state but can not remember which of 47 tabs had that Stack Overflow answer.

You have two options:

  1. Take Concerta or Adderall to make other people's environment tolerable
  2. Bunch your tabs by theme and let the themes carry the context

This is option 2. Give your brain a break. Let the rooms remember.

On Goals and Emotional Muscles

State management works. Goals work. Emotional discipline works. When you have them.

But if you don't have them yet, telling yourself to "toughen up" is unlikely to work. And here is the thing most productivity advice misses:

You can never fight your own cognitive style.

That is wasted energy. Decades of it, for some of us. The person who thinks in parallel will never become the person who thinks in sequence. The person whose brain opens 47 tabs is not broken - they are capturing thoughts before they evaporate.

ThetaCog is not a replacement for discipline. It is the precondition. You can not build emotional muscles in a hostile gym. First you stop the war with yourself. Then goals and habits have a chance to work.

The rooms are not about avoiding discipline. They are about making discipline possible by working WITH your cognitive architecture instead of against it.

Philosophy

Context switching has a cost. But context switching within a well-designed system has almost no cost.

When you Cmd+Space to a terminal name, you are not losing context. You are loading context. Any MCP-compatible AI in that terminal inherits the room. The browser tabs match the work. The room remembers what you were doing. The jump is the insight.

Tool = Identity = Mindset.

You don't switch tasks. You switch rooms. And the room knows who you are when you're there.

Not task management. Mode management. Flow with the intuition. Let the rooms carry the context.

Related

License

MIT


For people who think in parallel. You know who you are.