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

@mohsen/claude-code-orchestrator

v1.3.0

Published

A distributed system for orchestrating multiple Claude Code instances

Downloads

56

Readme

cco Claude Code Orchestrator

Orchestrate multiple Claude Code instances to work collaboratively on software projects using the Claude Agent SDK. This is intended for very long horizon tasks that require parallelization and coordination among AI agents. Tasks like building a full-stack application, refactoring a large codebase, or implementing complex features.

cco is designed to be completely hands-off once started, with automatic management of git branches, worktrees, and Claude sessions. The only requirement is to provide high-level project goals in PROJECT_DIRECTION.md.

Key Features

  • Session Continuity: Workers maintain context across tasks using the SDK's resume capability
  • Real-time Streaming: Observe agent progress as it happens
  • Built-in Subagents: Hierarchical delegation without custom protocols
  • Git Safety: Serialized git operations prevent conflicts

Overview

Spawns parallel Claude sessions using a hierarchical coordination model:

  • Director - Coordinates Engineering Managers and merges to main branch (Opus model)
  • Engineering Managers (EMs) - Lead teams of workers, curate team branches (Sonnet model)
  • Workers - Execute tasks in isolated git worktrees (Sonnet model)

For smaller projects (workerCount <= engineerManagerGroupSize), uses a flat Coordinator model where a single lead developer coordinates all workers.

Installation

Requirements: Node.js 22+, git, Claude Code CLI

npm install -g @mohsen/claude-code-orchestrator

Quick Start

Start an orchestration session using the interactive CLI:

cco start

Or with a configuration file:

cco start --config ./my-config

Configuration

Directory Setup

  1. Create a configuration directory (e.g., my-config/)
  2. Add orchestrator.json (see below)
  3. (Optional) Add api-keys.json for API key authentication

orchestrator.json

| Option | Type | Default | Description | |--------|------|---------|-------------| | repositoryUrl | string | required | Git repository URL | | branch | string | "main" | Base branch | | gitCloneOptions | object | {} | Clone options: depth, singleBranch, noSubmodules | | workerCount | number | required | Worker instances (1-20) | | authMode | string | "oauth" | oauth, api-keys-first, or api-keys-only | | logDirectory | string | config path | Log storage location | | engineerManagerGroupSize | number | 4 | Max workers per EM (triggers hierarchy mode when exceeded) | | maxRunDurationMinutes | number | 120 | Max run duration | | taskTimeoutMs | number | 600000 | Timeout for individual tasks | | pollIntervalMs | number | 5000 | Status check interval |

api-keys.json (optional)

For rate limit rotation, cco offers two authentication modes: OAuth and API keys. By default, it uses OAuth (your regular Claude CLI auth). To use API keys, create an api-keys.json file:

[
  { "name": "key-1", "apiKey": "sk-ant-..." },
  { "name": "key-2", "apiKey": "sk-ant-..." }
]

Note: Include multiple keys for rotation - cco switches keys upon hitting rate limits.

Authentication Modes

| Mode | Description | |------|-------------| | oauth | Start with CLI auth, rotate to API keys if rate limited | | api-keys-first | Start with API keys, fall back to OAuth | | api-keys-only | Only use API keys |

Target Repository Setup

Add these files to your target repository:

  • PROJECT_DIRECTION.md - High-level goals for the Director/Coordinator
  • .env / .env.local - Automatically copied to all worktrees

Architecture

Flat Mode (Coordinator)

Used when workerCount <= engineerManagerGroupSize:

Coordinator (Lead Developer)
    ├── worker-1
    ├── worker-2
    └── worker-N

Hierarchy Mode (Director + EMs)

Used when workerCount > engineerManagerGroupSize:

Director
    ├── em-1
    │   ├── worker sessions...
    │
    └── em-N
        └── worker sessions...

Logs

Each run creates a timestamped folder with:

  • combined.log - Orchestrator events and agent outputs
  • Session-specific logs for debugging

Graceful Shutdown

Send SIGINT (Ctrl+C) or SIGTERM to gracefully stop all sessions:

# The orchestrator handles cleanup automatically
kill -SIGINT <pid>

Development

See docs/DEVELOPMENT.md for contributing and development setup.

License

MIT