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

binder-cli

v1.2.5

Published

Orchestrate Virtual Monoliths from distributed repositories and define semantic boundaries for AI agents

Downloads

232

Readme

Binder

A lightweight CLI tool to orchestrate "Virtual Monoliths" from distributed repositories and define semantic boundaries for AI agents.

Read the docs →

What is Binder?

Binder helps you work across multiple repositories by defining clear scopes and permissions for AI-assisted development. Instead of manually managing repo clones and context, define your workspace topology once and let Binder handle the rest.

Installation

npm install -g binder-cli

Quick Start

# Initialize a new workspace
binder init

# Edit binder.yaml to add your repositories...

# Clone/checkout repositories
binder pull

# Generate AI context map
binder context

# Check workspace status
binder status

Commands

❯ binder -h
Usage: binder [options] [command]

Orchestrate Virtual Monoliths from distributed repositories

Options:
  -V, --version      output the version number
  -v, --verbose      Enable verbose output
  -h, --help         display help for command

Commands:
  init               Create a new binder.yaml configuration file
  pull               Clone missing repositories and checkout configured branches
  context [options]  Generate CONTEXT_MAP.md for AI agents
  status             Show workspace status (repos, branches, dirty state)
  help [command]     display help for command

binder init

Creates a new binder.yaml configuration file with a commented template.

binder pull

Clones missing repositories and checks out configured branches. This command is idempotent - safe to run multiple times.

binder context

Generates CONTEXT_MAP.md - an AI-readable file that describes your workspace topology, scopes, and permissions. Use this in your AI system prompts or .cursorrules.

binder status

Shows the current state of your workspace:

  • Which repos exist vs missing
  • Dirty repos (uncommitted changes)
  • Branch mismatches
  • Orphaned repos (on disk but not in config)

Configuration

binder.yaml

name: my-workspace

repos:
  # OWNER - Full read/write access
  - name: my-service
    url: [email protected]:org/my-service.git
    scope: owner
    path: ./services/my-service  # optional
    branch: main                  # optional
    notes: "Core service"         # optional

  # PLATFORM - Guest contributor
  - name: shared-platform
    url: https://github.com/org/platform.git
    scope: platform
    notes: "Shared infrastructure - minimal changes only"

  # REFERENCE - Read only
  - name: legacy-api
    url: [email protected]:org/legacy-api.git
    scope: reference
    depth: 1  # shallow clone
    notes: "Reference only - historical context"

Repository Options

| Option | Required | Description | |--------|----------|-------------| | name | Yes | Repository name (used for display and default path) | | url | Yes | Git URL (HTTPS or SSH) | | scope | Yes | Access level: owner, platform, or reference | | path | No | Local path (defaults to ./repos/{name}) | | branch | No | Branch to checkout | | notes | No | Context notes for AI agents | | depth | No | Shallow clone depth |

Core Concepts

Scopes

  • OWNER (green) - Full read/write access. Your primary workspace. AI can refactor freely.
  • PLATFORM (yellow) - Guest contributor. Read fully, edit conservatively. AI should follow existing patterns.
  • REFERENCE (red) - Read-only. For validation and historical context. AI should not suggest modifications.

CONTEXT_MAP.md

The generated context map tells AI agents:

  • Which repositories exist in your workspace
  • What scope/permissions apply to each
  • Specific instructions per scope
  • Any notes you've provided

Example output:

# WORKSPACE TOPOLOGY & SCOPE DEFINITIONS

**Workspace:** my-workspace

## 🟢 SCOPE: OWNER (Full Authority)

**Repositories:**
- `my-service` at `./services/my-service`

**Permissions:** Full read/write access
**Instructions:**
- You are responsible for architecture, implementation, and refactoring.
- Make changes freely to improve code quality and functionality.

## 🟡 SCOPE: PLATFORM (Restricted Contributor)

**Repositories:**
- `shared-platform` at `./repos/shared-platform`
  - *Shared infrastructure - minimal changes only*

**Permissions:** Limited write access
**Instructions:**
- Only make minimal changes when necessary to support OWNER scope.
- Strictly adhere to existing patterns and conventions.

Philosophy

Topology vs. Task - Binder separates workspace definition from feature implementation:

  • Binder's job: "Here are the repos. You own these, you're a guest here, read-only there."
  • Your job: "We are building Feature X. Please implement Y."

This separation allows AI agents to understand their permissions and responsibilities across your distributed codebase without manual context management.

Development

# Install dependencies
npm install

# Run in development mode
npm run dev -- init

# Run tests
npm test

# Lint and format
npm run lint:fix

# Build
npm run build

# Link globally for testing
npm link

License

MIT