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

@promptwheel/cli

v0.7.10

Published

PromptWheel CLI - AI coding agent orchestrator — autonomous runs, human-reviewed PRs

Readme

PromptWheel CLI

Zero-config continuous improvement tool. Works locally with any git repository.

Quick Start (5 minutes)

# Install globally
npm install -g @promptwheel/cli

# Navigate to any git repo
cd your-project

# Check prerequisites
promptwheel solo doctor

# Initialize (auto-detects QA commands from package.json)
promptwheel solo init

# Scan for improvement opportunities
promptwheel solo scout .

# Approve proposals (e.g., 1-3)
promptwheel solo approve 1-3

# Execute a ticket with Claude
promptwheel solo run tkt_abc123

# Or execute and create a PR
promptwheel solo run tkt_abc123 --pr

Prerequisites

Run promptwheel solo doctor to check all prerequisites:

| Requirement | Purpose | Install | |-------------|---------|---------| | Node.js 18+ | Runtime | nodejs.org | | Git | Version control | git-scm.com | | Claude CLI | Execute tickets | claude.ai/code | | GitHub CLI | Create PRs (optional) | cli.github.com |

Commands

solo init

Initialize PromptWheel in your repository. Creates .promptwheel/ directory with:

  • config.json - Configuration (auto-detects QA commands)
  • state.sqlite - Local database

solo scout [path]

Scan codebase for improvement opportunities:

  • Code quality issues
  • Security vulnerabilities
  • Performance optimizations
  • Test coverage gaps

solo approve <selection>

Convert proposals to tickets. Examples:

  • promptwheel solo approve 1 - Approve proposal #1
  • promptwheel solo approve 1-3 - Approve proposals 1, 2, and 3
  • promptwheel solo approve all - Approve all proposals

solo run <ticketId>

Execute a ticket using Claude Code CLI:

  • Creates a branch for changes
  • Runs QA commands (if configured)
  • Commits changes
  • --pr flag creates a GitHub PR

solo status

Show current state:

  • Active tickets
  • Recent runs
  • QA results

solo doctor

Check prerequisites and environment health:

  • Git installation
  • Claude CLI installation and auth
  • GitHub CLI installation and auth
  • Node.js version
  • SQLite native module
  • Directory permissions

solo nudge [text...]

Steer a running auto session with live hints:

  • promptwheel solo nudge "focus on auth" — Add a hint
  • promptwheel solo nudge --list — Show pending hints
  • promptwheel solo nudge --clear — Clear all hints

Hints are consumed in the next scout cycle. In continuous mode, you can also type hints directly into stdin.

solo qa

Run QA commands manually:

  • Uses commands from .promptwheel/config.json
  • Records results in database

Configuration

Configuration lives in .promptwheel/config.json:

{
  "version": 1,
  "qa": {
    "commands": [
      { "name": "typecheck", "cmd": "npm run typecheck" },
      { "name": "lint", "cmd": "npm run lint" },
      { "name": "test", "cmd": "npm test" }
    ],
    "retry": {
      "enabled": true,
      "maxAttempts": 3
    }
  },
  "spindle": {
    "enabled": true,
    "maxStallIterations": 5,
    "tokenBudgetAbort": 140000
  }
}

QA Commands

Auto-detected from package.json during solo init:

  • typecheck / type-check - TypeScript checking
  • lint - Linting
  • test - Testing
  • build - Build verification

Project Guidelines Context

PromptWheel automatically loads your project guidelines and injects them into every scout and execution prompt so agents respect your conventions.

File selection by backend:

| Backend | Primary | Fallback | |---------|---------|----------| | Claude | CLAUDE.md | AGENTS.md | | Codex | AGENTS.md | CLAUDE.md |

Behavior:

  • Auto-create: If no guidelines file exists, a baseline is generated from your package.json (project name, TypeScript detection, test/lint/build commands, monorepo detection)
  • Truncation: Content longer than 4000 characters is truncated with a [truncated] marker
  • Refresh: During long runs, re-reads every N cycles (default 10, configurable)
  • Format: Wrapped in <project-guidelines> XML tags in the prompt

Configure in .promptwheel/config.json:

{
  "auto": {
    "guidelinesRefreshCycles": 10,
    "autoCreateGuidelines": true,
    "guidelinesPath": null
  }
}

| Setting | Default | Description | |---------|---------|-------------| | guidelinesRefreshCycles | 10 | Re-read every N cycles (0 = disabled, still loaded once at start) | | autoCreateGuidelines | true | Auto-create baseline file from package.json if none exists | | guidelinesPath | null | Custom path relative to repo root (e.g. "docs/CONVENTIONS.md"). Set to false to disable guidelines entirely. null = default search. |

Spindle Loop Detection

Prevents runaway agent execution:

  • Oscillation: Detects add→remove→add patterns
  • Stalling: Stops after N iterations without changes
  • Repetition: Catches repeated output patterns
  • Token Budget: Enforces context limits

Push Safety

PromptWheel records your origin remote URL when you run solo init. Every push and PR creation validates the current origin still matches. SSH and HTTPS URLs for the same repo are treated as equivalent.

If your origin changes (e.g., you switch from HTTPS to SSH), re-initialize:

promptwheel solo init --force

Or edit .promptwheel/config.json directly:

{ "allowedRemote": "[email protected]:you/your-repo.git" }

Exit Codes

| Code | Meaning | |------|---------| | 0 | Success | | 1 | General failure | | 2 | Spindle abort (agent loop detected) | | 130 | Cancelled (Ctrl+C) |

Artifacts

Run artifacts are stored in .promptwheel/artifacts/:

  • runs/ - Run summaries
  • executions/ - Agent output logs
  • diffs/ - Git diff snapshots
  • violations/ - Scope violation details
  • spindle/ - Spindle abort diagnostics

View artifacts with:

promptwheel solo artifacts
promptwheel solo artifacts --type runs

License

Apache-2.0