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

create-peerbot

v2.3.0

Published

CLI for deploying and managing Peerbot across multiple platforms

Downloads

9

Readme

create-peerbot

CLI tool for initializing Peerbot projects with Docker Compose.

Installation

Standalone

npm install -g create-peerbot

mkdir my-peerbot
cd my-peerbot
npm create peerbot my-peerbot
docker compose up -d

npx/npm create (Recommended)

npm create peerbot my-peerbot
cd my-peerbot
docker compose up -d

Worker Deployment Options

Peerbot supports two deployment patterns for workers:

Option 1: Base Image (Day 0 - Quick Start)

Best for: Beginners, tutorials, quick prototypes

# Extends our curated base image
FROM buremba/peerbot-worker-base:0.1.0

# Add your customizations
RUN pip install pandas
RUN apt-get install postgresql-client

Pros:

  • ✅ Turnkey experience - just works
  • ✅ All dependencies pre-installed
  • ✅ Predictable environment

Cons:

  • ❌ Stuck with our base OS choice
  • ❌ May not meet compliance requirements

Option 2: Package Installation (Day 2 - Advanced)

Best for: Enterprise, compliance-heavy environments, custom requirements

# Use YOUR approved base image
FROM company-registry/ubuntu:22.04

# Install system dependencies
RUN apt-get update && apt-get install -y \
    nodejs npm git docker.io python3 curl

# Install Claude CLI
RUN curl -L https://claude.ai/install.sh | sh

# Install Peerbot worker as a package
RUN npm install -g @peerbot/worker@^0.1.0

# Your customizations
COPY ./scripts /workspace/scripts

CMD ["peerbot-worker"]

Pros:

  • ✅ Full control over base OS
  • ✅ Use company-approved images
  • ✅ Smaller images (Alpine, Distroless)
  • ✅ Meet security/compliance requirements

Cons:

  • ❌ More setup required
  • ❌ Must install system dependencies yourself

See Worker Package Documentation for details.


Commands

create-peerbot

Initialize a new Peerbot project in the current directory.

Interactive prompts:

  • Worker mode: Base image vs Package installation
  • Slack credentials
  • Anthropic API key
  • Public gateway URL (for OAuth)

Generates:

  • docker-compose.yml - Service definitions (redis, gateway, worker)
  • .env - Credentials
  • Dockerfile.worker - Worker customization via Dockerfile
  • .gitignore, README.md

If docker-compose.yml exists, you'll be prompted for an alternative filename.

Usage

After running npm create peerbot:

# Start services
docker compose up -d

# View logs
docker compose logs -f

# Stop services
docker compose down

# Rebuild worker after changes
docker compose build worker

Configuration

Dockerfile.worker (Base Image Mode)

FROM buremba/peerbot-worker-base:0.1.0

# Add system packages
RUN apt-get update && apt-get install -y postgresql-client

# Add Python packages
RUN pip install pandas matplotlib

# Add Node.js packages
RUN bun add @octokit/rest

# Copy custom scripts
COPY ./scripts /workspace/scripts

Dockerfile.worker (Package Mode)

# Bring your own base
FROM node:20-alpine

# Install required system dependencies
RUN apk add --no-cache git docker-cli python3 py3-pip curl

# Install Claude CLI
RUN curl -L https://claude.ai/install.sh | sh

# Install worker package
RUN npm install -g @peerbot/worker@^0.1.0

# Your customizations
RUN pip3 install pandas matplotlib

CMD ["peerbot-worker"]

Development Workflow

# 1. Create project
mkdir my-bot
cd my-bot
npm create peerbot

# 2. Choose worker mode during init
#    - Base image (recommended)
#    - Package installation (advanced)

# 3. Customize worker (optional)
# Edit Dockerfile.worker

# 4. Start services
docker compose up -d

# 5. View logs
docker compose logs -f

# 6. Rebuild after changes
docker compose build worker

# 7. Stop services
docker compose down

Version Locking

The CLI version locks to base image versions:

  • CLI 0.1.0buremba/peerbot-worker-base:0.1.0
  • CLI 0.2.0buremba/peerbot-worker-base:0.2.0

This ensures compatibility between CLI and runtime images.

Distribution Strategy

Peerbot uses a dual distribution pattern:

Day 0 (Quick Start):

  • Use buremba/peerbot-worker-base Docker image
  • Extend with Dockerfile
  • Perfect for learning, prototypes

Day 2+ (Production):

  • Install @peerbot/worker npm package
  • Use your own base image
  • Perfect for enterprise, compliance

Published Artifacts

Docker Hub:

# For production (gateway)
docker pull buremba/peerbot-gateway:0.1.0

# For quick start (extend this)
docker pull buremba/peerbot-worker-base:0.1.0

NPM Registry:

# CLI tool
npm install -g [email protected]

# Worker runtime (for custom base images)
npm install -g @peerbot/[email protected]

Architecture

User creates project
        ↓
mkdir my-bot && cd my-bot
        ↓
npm create peerbot
        ↓
Choose: Base image or Package?
        ↓
┌───────────────┴────────────────┐
│ Base Image Mode                │ Package Mode
│                                 │
│ FROM peerbot-worker-base       │ FROM your-company/base
│ RUN pip install pandas         │ RUN npm install -g @peerbot/worker
│                                 │ RUN pip install pandas
└───────────────┬────────────────┘
                ↓
    CLI generates docker-compose.yml
                ↓
        User runs: docker compose up -d
                ↓
        Docker builds worker:latest
                ↓
        Gateway spawns workers dynamically

Contributing

Peerbot CLI generates Docker Compose configurations. To modify the generated setup, see src/commands/init.ts.

License

MIT