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

@bytesbrains/pi-review-gate

v1.1.3

Published

CI-level merge guardian for AI agents — required reviewers, breaking change detection, stale PR cleanup, and review automation.

Downloads

65

Readme

Review Gate for Pi

npm version license

CI-level merge guardian for AI agents — required reviewers, breaking change detection, stale PR cleanup, and review automation. Agents don't git merge — CI merges only after all gates pass.

Philosophy

pi-contrib-gate handles the contribution side (branch → commit → PR). pi-review-gate handles the review side (check → approve → merge).

Core enforcement runs in Gitea Actions — agents cannot bypass these gates.

Install

pi install npm:@bytesbrains/pi-review-gate

Tools

| Tool | What it does | |---|---| | review_check(pr_number) | Check PR merge readiness — CI, reviewers, breaking changes, staleness | | review_approve(pr_number, comment) | Submit an approval review | | review_request(pr_number, reviewers) | Request reviewers by username | | review_status(pr_number) | Show detailed review + CI status | | review_close_stale(pr_number, reason) | Close stale PR with comment |

Safety Intercepts

The gate passively monitors all bash tool calls and:

  • ⛔ Blocks git merge — directs agents to use review tools instead
  • ⚠️ Warns on gh pr close or branch deletion

Review Gates (CI-enforced)

These run in Gitea Actions — agents cannot skip them:

| Gate | Config | Description | |---|---|---| | CI green | quality.* in .contribrc.yml | lint, test, build, doctor audit | | Required reviewers | requiredReviewers.* in .reviewrc.yml | Path-based required reviewer mapping | | Breaking change detection | breakingChangePatterns | API surface changes flagged for human review | | Stale PR closure | staleDays | Auto-close PRs inactive past threshold | | Protected paths | protectedPaths | Modifications to CI, agents, Docker → human review | | Model diversity | minDiverseReviews | Different model families must review (from #42) |

Configuration

Create .reviewrc.yml in your project root:

# Required reviewers by path pattern
requiredReviewers.factory/**: factory-admin
requiredReviewers.agents/**: agent-owner
requiredReviewers..gitea/**: ci-admin

# Stale PR threshold (days)
staleDays: 14

# Minimum distinct model families that must review (0 = disabled)
minDiverseReviews: 1

# Paths that always require human review
protectedPaths: .gitea/workflows/,docker-compose.yml,Dockerfile,agents/,factory/package.json

# Patterns that signal API-breaking changes
breakingChangePatterns: export interface,export type,export function,export class,BREAKING CHANGE:

Tip: Start with staleDays: 14 and minDiverseReviews: 0 during adoption, then tighten.

Workflow

contrib_submit() from @bytesbrains/pi-contrib-gate
  │
  ▼
PR opened on Gitea
  │
  ▼
CI runs (lint, test, build, doctor audit)
  │
  ▼
review_check(pr_number)        ← agent checks readiness
  │
  ▼
review_request(pr_number, ...)  ← request specific reviewers
  │
  ▼
[reviewer approves]
  │
  ▼
review_check(pr_number)        ← re-check: all green? required reviewers satisfied?
  │
  ▼
CI auto-merges (squash)        ← only CI can merge
  │
  ▼
PR closed, branch deleted

Stale PR Cleanup

PRs older than staleDays (default 14) are flagged. A CI scheduled job can auto-close them:

# Runs nightly in Gitea Actions
review-gate-stale.sh --repo factory/wrok.in --days 14

Breaking Change Detection

Every CI run diffs against the base branch and scans for:

  • export interface / export type / export function / export class additions
  • BREAKING CHANGE: in commit messages

If detected, CI adds a ⚠️ breaking-change label and requires human review.

Integration with @bytesbrains/pi-contrib-gate

The two gates work together:

pi-contrib-gate          @bytesbrains/pi-review-gate
     │                        │
     │  contrib_start_work    │
     │  contrib_propose       │
     │  contrib_submit  ────→ PR created
     │                        │
     │                        │  review_check
     │                        │  review_request
     │                        │  review_approve
     │                        │  [CI enforcement]
     │                        │  auto-merge (squash)

Install both for full agent governance:

pi install npm:@bytesbrains/pi-contrib-gate
pi install npm:@bytesbrains/pi-review-gate

License

MIT © nandal