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

harness-control-plane

v0.1.0

Published

Interactive visual control plane for your AI coding harness: skills, agents, MCP servers, rules — auto-discovered from Claude, Codex, Gemini, Cursor, Windsurf, Copilot configs

Readme

Harness Control Plane

npm version License: BSL 2.0 Beta

One dashboard to rule all your AI coding tools. Discover, manage, and sync skills, agents, MCP servers, and rules across Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf, GitHub Copilot, and Continue.dev. Copy an agent from Claude to Codex in one click. See what's connected where. Keep everything in sync.

Why

You use multiple AI coding assistants. Each has its own config format, its own directory, its own way of defining skills, agents, and rules. You wrote a great prompt for Claude Code — now you want it in Codex and Gemini too. You added an MCP server to one project — where else is it configured?

Harness Control Plane answers all of that. It auto-discovers everything, shows you the full picture, and lets you connect assets between tools with a single click (via symlinks — no duplication, always in sync).

Two Ways to Use

| | macOS App | CLI / Web UI | |---|---|---| | Install | Download DMG | npx harness-control-plane | | Best for | Local daily use | VPS, remote, headless | | UI | Native SwiftUI | React SPA in browser | | Agent | Auto-launches on start | Manual hcp command |

Supported Tools

| Tool | What HCP scans | |------|--------------| | Claude Code | ~/.claude/commands/, ~/.claude/agents/, ~/.claude/rules/, .mcp.json, CLAUDE.md | | Codex CLI | .codex/skills/, .codex/agents/, .codex/mcp.json, AGENTS.md | | Gemini CLI | .gemini/skills/, .gemini/mcp.json, GEMINI.md | | Cursor | .cursor/rules/, .cursorrules | | Windsurf | .windsurf/rules/, .windsurf/mcp.json, .windsurfrules | | GitHub Copilot | .github/copilot-instructions.md | | Continue.dev | .continue/config.json |

Key Features

Ecosystem Map

  • Auto-discovery across 7 AI coding tools, local and remote
  • Filterable sidebar — by type, provider, category. Hide what you don't need, settings persist
  • Smart search — find any asset by name, description, or tags
  • Auto-categorization — Development, DevOps, Security, Content, SEO, UX, and more

Connect & Sync

  • One-click connect — share a Claude skill with Codex and Gemini instantly
  • Symlink-based — no file duplication, edit once and all tools see the update
  • Disconnect any time — clean removal, no orphaned files
  • Source protection — original files can't be accidentally deleted from connected targets

Create & Import

  • Create new skills, agents, MCP servers, and rules from the UI
  • Import from file — drag in an existing .md, .json, or .yaml — type auto-detected
  • Edit inline — modify file content with save/revert directly in the app
  • Delete with downstream impact warnings (shows what will break)

History & Rollback

  • Full audit trail — every create, connect, disconnect, delete is logged
  • One-click undo — revert the last change
  • Rollback any entry — restore a specific historical state
  • Approval tracking — records who made each change and from which client

Real-Time

  • File watcher — config changes detected instantly
  • WebSocket sync — UI updates live across web and macOS
  • SQLite persistence — state survives restarts

Quick Start

macOS App

Download from GitHub Releases, open the DMG, drag to Applications. Requires Node.js (brew install node).

CLI

npx harness-control-plane

Opens the web UI at http://localhost:3000.

Install Globally

npm install -g harness-control-plane
hcp                    # Start web UI

Usage

# Web UI (default)
hcp                        # Start on port 3000, open browser
hcp -p 8080                # Custom port
hcp --headless             # API only, no UI (for VPS)
hcp --no-open              # Don't auto-open browser

# Static HTML (one-shot)
hcp scan                   # Print summary to stdout
hcp scan -o map.html       # Generate self-contained HTML file

VPS / Remote

# On your VPS:
hcp --headless -p 3000

# Access from local machine:
ssh -L 3000:localhost:3000 user@your-vps
open http://localhost:3000

Keyboard Shortcuts

| Shortcut | Action | |----------|--------| | Cmd+F | Focus search | | Cmd+N | Create new asset | | Cmd+R | Rescan ecosystem | | Cmd+Z | Undo last change | | Escape | Close panel / clear search |

Architecture

harness-control-plane/
├── bin/cli.js          # CLI entry (hcp command)
├── agent/
│   ├── server.js       # HTTP + WebSocket server
│   ├── router.js       # REST API (50+ endpoints)
│   ├── scanner/        # Multi-tool asset discovery
│   ├── connector/      # Connect/disconnect via symlinks
│   ├── sync.js         # Cross-provider sync engine
│   ├── health.js       # Asset health checks
│   ├── drift.js        # Drift detection across copies
│   ├── snapshots.js    # Rollback snapshots
│   └── store/          # SQLite persistent state
├── desktop/            # macOS SwiftUI app (Xcode)
├── ui/                 # React + TypeScript + Tailwind
└── template/           # Static HTML fallback

API

All endpoints under /api/. Full CRUD for assets, projects, servers, bundles, and policies.

| Endpoint | Method | Description | |----------|--------|-------------| | /api/assets | GET | List assets (filters: type, provider, category, q) | | /api/assets/create | POST | Create new asset | | /api/assets/:id/content | GET/PUT | Read/update content | | /api/connect | POST | Connect asset to a tool | | /api/disconnect | POST | Disconnect from a tool | | /api/rescan | POST | Full ecosystem rescan | | /api/history | GET | Audit trail | | /api/undo | POST | Undo last change |

WebSocket at /ws pushes assets:updated events on any file change.

Beta Notice

This is a beta release (v0.1.0). Core functionality is stable and tested, but expect rough edges. Some features (Projects, Servers, Bundles, Policies views) are hidden in the UI while being finalized. If you encounter bugs, please open an issue.

Contributing

Contributions are welcome! This project is open for:

  • Bug reportsopen an issue with reproduction steps
  • Feature requests — describe your use case, we'll discuss
  • Pull requests — fork, branch, make changes, open a PR
  • New provider support — want to add support for Aider, Roo Code, or another tool? PRs welcome
  • Documentation — improvements to README, API docs, or inline comments

Development

git clone https://github.com/spyrae/harness-control-plane.git
cd harness-control-plane
npm install
npm run dev          # Start agent without opening browser
npm run dev:ui       # Start Vite dev server for UI hot-reload

macOS app: open desktop/AEM.xcodeproj in Xcode, build & run.

Requirements

  • macOS App: macOS 14+, Node.js >= 18
  • CLI: Node.js >= 18, any OS
  • At least one AI coding tool configured

License

BSL 2.0 — free to use, modify, and self-host. Cannot be sold as a competing product. Converts to MIT on 2030-04-06.


Built by @spyrae. If you find this useful, star the repo.