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

@revotools/cli

v0.11.0

Published

Claude-first multi-repo workspace manager (fork of Mars)

Readme

Revo

npm License: MIT

Revo is a Claude-first multi-repo workspace manager. You install it, point it at your repos, and then talk to Claude — Claude reads a generated CLAUDE.md that maps the entire workspace (frameworks, dependencies, routes, active features) and uses revo commands to work across repos: creating isolated workspaces, committing, pushing, opening PRs, and closing everything out when done.

The intended workflow is: set up once, then stay in Claude. You shouldn't need to memorize revo commands — Claude knows them. Just say what you want done.

Install and Set Up

npm install -g @revotools/cli

cd ~/code/my-project        # your folder of repos (or an empty directory)
revo init                   # auto-detects existing repos, writes CLAUDE.md

That's it. Open Claude Code in the workspace directory and start talking.

Talk to Claude

Once the workspace is set up, you work through Claude:

> "use revo to add this repo: [email protected]:org/backend.git with tags backend,api"

> "use revo workspace and work on issue #12"

> "create a feature for the new auth flow across backend and frontend"

> "commit everything and open PRs"

> /revo:closeout

Claude reads the generated CLAUDE.md, understands the repo layout and dependencies, and uses revo commands to execute. You stay in the conversation — revo handles the cross-repo coordination underneath.

Claude Code Skills

Revo ships with Claude Code skills that you can invoke directly:

  • /revo:closeout — wraps up a workspace: merges branches back to main, cleans up the workspace, drops test databases, summarizes and closes linked GitHub issues

What Revo Does

Workspace isolation

revo workspace <name> creates a full independent copy of your repos with a feature/<name> branch. Edit freely — nothing touches the original. When databases are configured, it clones those too.

revo workspace auth-overhaul
# Path: /Users/you/project/.revo/workspaces/auth-overhaul
# Database: myapp_dev_ws_auth_overhaul (postgres)
# cd /Users/you/project/.revo/workspaces/auth-overhaul

Database cloning

Add database: to repos in revo.yaml and workspaces automatically clone the database on create, drop it on delete:

repos:
  - url: [email protected]:org/backend.git
    tags: [backend]
    database:
      type: postgres       # postgres | mongodb | mysql
      name: myapp_dev

Or via CLI: revo add <url> --database postgres:myapp_dev

Context generation

revo init scans every repo and writes a CLAUDE.md that tells Claude:

  • Per-repo: type, description, language, framework, API routes, Docker status
  • Dependency order (topological sort from depends_on, when defined)
  • Active workspaces with paths and database names
  • Active features with links to .revo/features/*.md
  • Workflow instructions so Claude knows how to use revo

On first init, revo detects repos and prompts Claude to analyze each one and generate accurate descriptions — or lets you provide your own. Descriptions and types are stored in revo.yaml and used in the generated CLAUDE.md.

Coordinated operations

All commands work across repos in one shot, with --tag filtering:

revo commit "wire up auth endpoint"    # commit all dirty repos
revo push                              # push all branches
revo pr "Auth endpoint"                # coordinated PRs via gh CLI
revo sync --tag backend                # pull latest on backend repos

Auto-logged feature tracking

When you revo commit inside a workspace, it auto-appends to .revo/features/<name>.md — timestamp, message, repos, and SHAs. The closeout skill reads this instead of re-discovering from git.

Commands

| Command | Description | |---------|-------------| | revo init | Initialize workspace, detect repos, prompt for descriptions | | revo context [--auto] | Regenerate CLAUDE.md (interactive by default, --auto skips prompts) | | revo context --analyze | Output detailed per-repo scan report | | revo add <url> [options] | Add a repo (--tags, --depends-on, --database type:name) | | revo clone [--tag TAG] | Clone configured repos | | revo feature <name> | Create feature branch + context file across repos | | revo workspace <name> | Create isolated workspace with DB cloning | | revo workspace list | List active workspaces | | revo commit <msg> | Commit across dirty repos | | revo push | Push branches across repos | | revo pr <title> | Create coordinated PRs via gh | | revo issue list\|create | List/create GitHub issues across repos | | revo status | Branch and dirty state across repos | | revo sync | Pull latest changes | | revo branch <name> | Create branch across repos | | revo checkout <branch> | Checkout branch across repos | | revo list | List configured repos |

All commands accept --tag TAG to target a subset of repos.

Configuration

version: 1
workspace:
  name: "my-project"
repos:
  - url: [email protected]:org/shared-types.git
    tags: [shared]
    type: "shared"
    description: "TypeScript type definitions shared across backend and frontend"
  - url: [email protected]:org/backend.git
    tags: [backend, api]
    type: "backend"
    description: "Express REST API with PostgreSQL"
    depends_on: [shared-types]
    database:
      type: postgres
      name: myapp_dev
  - url: [email protected]:org/frontend.git
    tags: [frontend]
    type: "frontend"
    description: "Next.js dashboard"
    depends_on: [backend]
defaults:
  branch: main

type and description are set during revo init (Claude analyzes each repo or you provide them). They drive the generated CLAUDE.md context.

Credits

Fork of Mars by @dean0x. Pure bash 3.2+, no dependencies beyond git (and gh for PRs/issues).

License

MIT