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

@seanyao/roll

v2026.424.4

Published

Roll — Roll out features with AI agents

Readme

 ██████╗  ██████╗ ██╗     ██╗     
 ██╔══██╗██╔═══██╗██║     ██║     
 ██████╔╝██║   ██║██║     ██║     
 ██╔══██╗██║   ██║██║     ██║     
 ██║  ██║╚██████╔╝███████╗███████╗
 ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝

Roll out features with AI agents — Move fast, no sprints.

License: MIT npm version CI


What is Roll?

Roll solves a specific problem: when developers on the same team use different AI clients (Claude Code, Cursor, Gemini CLI, Codex), each agent operates under different engineering constraints. One developer's Claude runs tests another's Cursor never even considers.

Roll fixes this through two mechanisms:

  1. Convention CLI — a single source of engineering conventions distributed to every AI client on the machine (~/.claude/, ~/.cursor/, ~/.gemini/, etc.)
  2. Skill System — proven engineering practices (TDD, TCR, SRE, INVEST) encoded as instructions that any AI agent can follow

The result: any agent, any client, same constraints.


Start Here

Before commands and skills, read the Engineering Methodology — it explains the three-loop architecture (Research → Build → Observe), why each skill exists, and how they connect into a complete delivery system.

English · 中文


Installation

npm install -g @seanyao/roll
roll setup

Requirements: bash 4+, Node.js 16+

To update:

roll update

For contributors (working on roll itself): git clone https://github.com/seanyao/roll.git && cd roll && ./install.sh


Convention Management

Unified behavioral conventions for Claude Code / Gemini CLI / Cursor / Codex — all from one source.

Commands

| Command | Description | |---------|-------------| | roll setup | First-time install: create ~/.roll/ + sync to all AI tools | | roll update | Update roll to latest version + re-sync | | roll sync | Re-sync conventions and skill symlinks to all AI tools | | roll init | New project: create AGENTS.md + BACKLOG.md + docs/features/ | | roll hook install | Optional: global git hook for AI client auto-detection | | roll reset | Force-rebuild local cache from repo source, then re-sync | | roll status | Show sync state, skill links, and detected AI tools |

Typical Flow

# 1. Install
./install.sh

# 2. Initialize a project (run from project root)
cd my-app
roll init

# 3. Re-sync after editing ~/.roll/config.yaml
roll sync

# 4. Optional: tag commits with AI client name
roll hook install

How Convention Layering Works

Global  ~/.claude/CLAUDE.md         ← user-owned; roll setup appends @roll.md
        ~/.claude/roll.md            ← Roll conventions (written by roll setup/sync)
  ↓  auto-stacked
Project <project>/AGENTS.md         ← generated by roll init
        <project>/.claude/CLAUDE.md

Global conventions are additive and never overwrite existing files. Project conventions are injected per project via roll init.

Directory Layout

~/.roll/
├── config.yaml                  # sync path configuration
└── conventions/
    ├── global/                  # single source of truth
    │   ├── AGENTS.md
    │   ├── CLAUDE.md / GEMINI.md / .cursor-rules
    └── templates/               # project type templates
        ├── fullstack/
        ├── frontend-only/
        ├── backend-service/
        └── cli/

Skill System

Skills are instructions that encode proven engineering practices into a form AI agents can reliably follow. They live in ~/.roll/skills/ and are symlinked into each AI client's skill directory on roll sync.

Workflow

Research → Design → Build → Check → Fix → (loop)

Quick Reference

| Scenario | Skill | |----------|-------| | Uncertain approach, need to think it through | $roll-design "topic" | | Execute a planned Story | $roll-build US-001 | | Free-form feature request | $roll-build "add search to admin" | | Bug fix | $roll-fix FIX-001 | | Fast backlog capture (bug / idea) | $roll-jot "description" | | High-risk logic (payments, auth, state machines) | $roll-spar "feature" | | Deep research (product / company / tech) | $roll-research "subject" | | Patrol production for regressions | $roll-sentinel patrol | | Debug a broken page | $roll-debug <URL> | | Record a dev moment / diary entry | $roll-notes "just fixed that nasty bug" |

Full Skill List

| Skill | Phase | Description | |-------|-------|-------------| | $roll-build | DESIGN+BUILD | Universal entry: Story ID, fix ID, or free-text fly mode | | $roll-design | DESIGN | Explore approaches → design solution → write Stories to BACKLOG | | $roll-fix | FIX | Bug fix / hotfix from BACKLOG | | $roll-jot | Support | Fast capture a bug or idea into BACKLOG.md | | $roll-spar | BUILD | Adversarial TDD — Attacker writes tests, Defender writes code | | $roll-sentinel | CHECK | Scheduled production patrol | | $roll-debug | CHECK | Deep page diagnostics + root cause analysis | | $roll-research | RESEARCH | HV Analysis framework, outputs PDF report | | $roll-release | RELEASE | One-command publish: auto version (YYYY.MMDD.N) → tag → npm publish | | $roll-.review | Support | Pre-commit self code review | | $roll-.qa | Support | Test pyramid and coverage standards reference | | $roll-.changelog | Support | Auto-generate CHANGELOG from BACKLOG | | $roll-.echo | Support | Passive intent clarification | | $roll-.clarify | Support | Passive scope clarification for vague build requests | | $roll-notes | Support | Project diary — append dev moments to notes/YYYY-MM-DD.md |


Project Structure (roll init)

my-project/
├── AGENTS.md            # Project constraints & skill routing
├── BACKLOG.md           # Story and bug index
├── docs/features/       # Story details and specs
└── ... your project files

Contributing

Contributions are welcome. Roll is a small focused tool — keep PRs focused on one thing.

  1. Fork the repo and create a branch from main
  2. Make your changes with tests where applicable (tests/)
  3. Ensure ./bin/roll --help output is correct
  4. Open a pull request with a clear description

For larger changes, open an issue first to discuss the approach.


Acknowledgments

Roll builds on ideas and inspiration from the open-source community:

  • khazix-skills by Digital Life Khazix — The HV Analysis (Horizontal-Vertical Analysis) deep research framework that powers $roll-research was adapted from this project.
  • superpowers by Jesse Vincent — A composable skills library for AI coding agents that informed several workflow patterns in Roll.

License

MIT