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

v2.1.0

Published

Transform your terminal into a mental palace. Cognitive workspaces with Split View mode switching. Now with Tesseract Chrono-Player — 24-hour crossfading audio-visual schedule.

Downloads

270

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.

What's New in v2.0

Cognitive Affordance Model - Each room now includes:

  • Tesseract Coordinate System - 3x3 grid mapping Strategy/Tactics/Operations
  • Explicit Routing - Each room knows what it SEES, IGNORES, and routes elsewhere
  • Escape Gravity - Vanity metrics vs true signals for each room
  • Flywheel Handoffs - How rooms feed into each other

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.

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"

The Tesseract Coordinate System

Each room occupies a position in a 3x3 grid:

             Strategy (A)    Tactics (B)      Operations (C)
           ┌────────────────┬────────────────┬────────────────┐
   Law (1) │ ⚖️ A1 Vault    │ 🏎️ B1 Navigator│ 🔌 C1 Builder  │
           │ (Law:Law)      │ (Speed:Law)    │ (Grid:Law)     │
           ├────────────────┼────────────────┼────────────────┤
  Goal (2) │ 🎯 A2 Architect│ 🤝 B2 Network  │ 🔄 C2 Lab      │
           │ (Goal:Goal)    │ (Deal:Deal)    │ (Loop:Goal)    │
           ├────────────────┼────────────────┼────────────────┤
  Fund (3) │ 💰 A3 Performer│ 📡 B3 Voice    │ 🌊 C3 Operator │
           │ (Fund:Signal)  │ (Signal:Signal)│ (Flow:Deal)    │
           └────────────────┴────────────────┴────────────────┘

Diagonal rooms (A1, B2, C3) represent the pure essence of their coordinate. Off-diagonal rooms translate meaning between coordinates.

The 9 Cognitive Rooms

| Room | Terminal | Coordinate | THE PULL | |------|----------|------------|----------| | Vault 🔒 | WezTerm | A1 Law:Law | "PROVE, not claim. Mathematical certainty." | | Navigator 🧭 | Terminal | B1 Speed:Law | "15-MINUTE DISCIPLINE. Cache hits." | | Builder 🔨 | iTerm2 | C1 Grid:Signal | "SHIPPED AND INSTRUMENTED. Data proves grounding." | | Architect 📐 | VS Code | A2 Goal:Goal | "CASCADE and COMPOUND. Strategic leverage." | | Network ☕ | Messages | B2 Deal:Deal | "RECIPROCITY FIRST. Give before asking." | | Laboratory 🧪 | Cursor | C2 Loop:Goal | "VERDICTS in 2 hours. BUILD or KILL." | | Performer 🎭 | Alacritty | A3 Fund:Signal | "MULTIPLIER RATIO. Months → minutes." | | Voice 🎤 | Rio | B3 Signal:Signal | "STAKE CONVICTION. Skin in the game." | | Operator 🎩 | Kitty | C3 Flow:Deal | "BINDING COMMITMENT INDEX. Prevent drift." |

Cognitive Affordance Model

Each room HTML contains a structured prompt with:

═══ COORDINATE LOCK: 🎩::operator ═══
POSITION: 🌊 C3 Operations.Flow
INTERSECTION: C3:B2 (Flow:Deal)
WINNING POINTER: en.wikipedia.org/wiki/Commitment_scheme

─── COGNITIVE AFFORDANCE ───
THIS ROOM SEES: [What this room notices]
THIS ROOM IGNORES: [Routes to other rooms]
THE PULL: [Why you come here]

─── TESSERACT NAMESPACE ───
[3x3 grid with YOU ARE HERE marker]

─── DIFFERENTIATION ───
HANDOFF TO: [8 other rooms with routing rules]
HANDOFF FROM: [What other rooms send here]

─── ESCAPE GRAVITY ───
FORBIDDEN: [Vanity metrics]
COUNTS: [True signal]

─── OUTPUT FORMAT ───
[JSON schema for structured output]

How Routing Works

Each room explicitly filters AWAY from 8 other rooms:

🎩::operator IGNORES:
  • Code architecture → 🔨::builder
  • Strategic sequencing → 📐::architect
  • Contract review → 🔒::vault
  • Demo scheduling → 🎭::performer
  • Content creation → 🎤::voice
  • Experiments → 🧪::laboratory
  • Relationship building → ☕::network
  • Context discovery → 🧭::navigator

When your AI detects content that belongs elsewhere, it routes you to the right room.

Escape Gravity (Anti-Vanity Metrics)

Each room has explicit rules about what counts:

| Room | FORBIDDEN (Vanity) | COUNTS (True Signal) | |------|-------------------|---------------------| | Builder | "Code committed", "Tests pass locally" | Production deployment | | Operator | "Great meeting", "Sent follow-up" | Revenue generated | | Laboratory | "Promising results", "Needs more testing" | BUILD or KILL verdict | | Navigator | "Thorough research", "Comprehensive docs" | Other rooms unblocked | | Voice | "Good engagement", "Lots of likes" | Conviction stakes |

The Flywheel

Rooms feed into each other:

Navigator finds → Builder ships → Operator sells → Revenue funds → Architect plans → cycle repeats
     ↑                                                                    |
     └────────────────────── Navigator discovers new opportunities ───────┘

Each room's output is another room's input. The system accelerates when all rooms are active.

Tools (8 total)

thetacog-status

Get current room context with cognitive affordance data.

thetacog-switch

Switch rooms with context preservation.

thetacog-open

Open room's HTML dashboard in browser.

thetacog-todo

Priority lists per room (SQLite → JSON → HTML).

thetacog-stream

Send messages between rooms (flywheel coordination).

thetacog-export

Export full state to JSON.

thetacog-terminal

Detect which terminal = which room.

Architecture

~/.thetacog/
├── thetacog.db           # SQLite (primary store)
├── state.json            # JSON export (HTML reads)
└── rooms/                # Local HTML copies

.workflow/                # Bundled templates
├── vscode-architect.html # A2 Goal:Goal
├── iterm2-builder.html   # C1 Grid:Signal
├── kitty-operator.html   # C3 Flow:Deal
├── wezterm-vault.html    # A1 Law:Law
├── terminal-voice.html   # B1 Speed:Law
├── cursor-laboratory.html# C2 Loop:Goal
├── alacritty-performer.html # A3 Fund:Signal
├── messages-network.html # B2 Deal:Deal
├── rio-navigator.html    # B3 Signal:Signal
└── getting-started.html  # Onboarding

Customization

The HTML dashboards are starting points. Edit them to match YOUR workflow:

  1. Change the ARCHAEOLOGY PROTOCOL - Point to your own APIs and file paths
  2. Adjust ESCAPE GRAVITY - Define your own vanity vs real metrics
  3. Modify AFFORDANCE TAGS - Create tags that match your domain
  4. Update the flywheel - Document how YOUR rooms feed each other

The cognitive affordance model is the framework. Your content fills it.

Split Screen Setup

Terminal left, browser right.

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

Philosophy

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
  • Any MCP-compatible AI inherits the room's context
  • The cognitive affordance model guides the conversation

This is Hebbian learning: "Neurons that fire together, wire together."

Tool = Identity = Mindset.

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

Who This Is For

The modern world is not a cognitively friendly place.

You have 47 browser tabs open. Chrome is eating 8GB of RAM. You know you should close some, but each tab is a thought.

You have two options:

  1. Take medication to tolerate other people's environment
  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.

Related

License

MIT


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