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

boris-mode

v0.1.5

Published

Audit your Claude Code setup and get actionable recommendations

Readme

Boris Mode 🎯

Are you using Claude Code effectively? This tool will audit your setup and tell you exactly how to improve.

This tool provides high-level guidance on use of Claude Code, including some published best practices from the likes of Boris Cherny (Creator of Claude Code). This package is not endorsed by Boris Cherny or Anthropic.

Boris Mode runs through a series of heuristic checks to audit your setup (are you using hooks? MCPs? Slash commands? etc.), uses Claude Code to actually analyze your claude code history, and then provides a report with actionable recommendations.

The output includes a markdown document that can be used to guide you through the improvements, or you can run the --apply command to generate a prompt that Claude Code can use to apply the fixes for you automatically.

📖 Recommended Reading: Claude Code creator Boris shares his setup – Reddit discussion

I plan on updating this package with the latest trends, optimizations, and Claude releases — but contributions are welcome! If you have insights to share, please open a PR.


Are you getting the most out of Claude Code? This CLI tool scans your project, compares it against best practices, and tells you exactly how to improve.

npx boris-mode

What It Checks

Static Checks (always run)

| Category | What We Look For | | ----------------------- | ---------------------------------------------------------------- | | CLAUDE.md Health | Exists, reasonable size, recently updated, multiple contributors | | Workflow Automation | Slash commands configured, essential commands present | | Verification Loops | Test framework setup, verification instructions | | Hooks & Safety | PostToolUse formatting, safety hooks, permissions | | Git Integration | gh CLI or GitHub MCP configured | | MCP Servers | MCP tools configured (Context7, Playwright, etc.) |

Prompting Habits (opt-in, requires consent)

| Category | What We Look For | | -------------------- | ------------------------------------------------------ | | Prompting Habits | Prompt length, plan mode usage, anti-pattern detection |

🔒 This check analyzes your Claude Code session data in ~/.claude/. You'll be asked for consent before any analysis runs. Use --skip-prompts to skip entirely.

Deep Analysis (default)

| Category | What Claude Analyzes | | ---------------------------- | --------------------------------------------------------------------------- | | CLAUDE.md Quality | Specificity, actionability, completeness - with AI-generated improvements | | Command Quality | Clarity and completeness of each slash command | | Hooks Safety | Security review of permissions and hook configuration | | Prompting Habits Quality | Outcome clarity, context provision, verification mindset (requires consent) |

Example Output

🎯 Boris Mode v0.1.3

Scanning project...

Results:
┌─────────────────────┬────────┬───────┐
│ Category            │ Status │ Score │
├─────────────────────┼────────┼───────┤
│ CLAUDE.md Health    │ ⚠️      │ 2/4   │
│ Workflow Automation │ ❌      │ 0/3   │
│ Verification Loops  │ ✅      │ 2/2   │
│ Hooks & Safety      │ ❌      │ 0/2   │
│ Git Integration     │ ✅      │ 1/1   │
│ MCP Servers         │ ⚠️      │ 1/2   │
│ Prompting Habits    │ ─      │ ─     │
├─────────────────────┼────────┼───────┤
│ Overall             │ Interm │ 6/14  │
└─────────────────────┴────────┴───────┘

📄 Full report: .boris-mode/report.md
🚀 Auto-apply:   npx boris-mode --apply

The Report

The generated report includes:

  • What's missing - Clear explanation of each gap
  • Why it matters - Including quotes from Boris Cherny where relevant
  • Exact fixes - Copy-paste ready code, not vague advice
  • Extra options - Expandable sections with alternative approaches

Auto-Apply Fixes

Want Claude Code to implement the recommendations for you?

npx boris-mode --apply

This generates a prompt file you can pass directly to Claude Code:

claude -p "$(cat .boris-mode/apply-prompt.md)"

CLI Options

npx boris-mode [options]

Options:
      --no-deep            Skip AI-powered deep analysis for faster results
  -t, --timeout <secs>     Timeout per deep check (default: 120)
  -s, --stdout             Output report to stdout instead of file
  -a, --apply              Generate prompt for Claude Code to apply fixes
  -o, --output <dir>       Output directory (default: .boris-mode)
  -j, --json               Output as JSON (for CI/tooling)
  -p, --path <path>        Path to project (default: current directory)
      --skip-prompts       Skip prompting habits analysis (no consent prompt)
  -y, --yes                Auto-accept all prompts (non-interactive mode)
  -V, --version            Show version
  -h, --help               Show help

Deep Analysis Mode

By default, Boris Mode uses the Claude CLI to analyze the quality of your setup, not just check if files exist:

  • CLAUDE.md quality - Are your instructions specific and actionable, or vague boilerplate?
  • Command quality - Are your slash commands clear and complete?
  • Hooks safety - Any security concerns with your permissions?
  • Prompting habits quality - Are you writing effective prompts? (opt-in, requires consent)

The report includes AI-generated improved versions you can use directly.

For faster scans without AI analysis (e.g., in CI or when the Claude CLI is unavailable):

npx boris-mode --no-deep

Prompting Habits Analysis

Boris Mode can analyze your Claude Code session history to evaluate your prompting patterns. This is opt-in and requires explicit consent since it reads data from ~/.claude/.

What it checks:

  • Prompt length - Are your prompts detailed enough? (median ≥50 characters)
  • Feature usage - Are you using plan mode or extended thinking?
  • Anti-patterns - Are you sending vague prompts like "fix this" or "help"?

Deep analysis evaluates:

  • Outcome clarity - Do your prompts clearly state what you want?
  • Context provision - Do you provide enough background?
  • Constraint specification - Do you define boundaries and requirements?
  • Verification mindset - Do you ask Claude to verify its work?
  • Decomposition skill - Do you break complex tasks into steps?

Privacy controls:

# Skip prompting analysis entirely (no consent prompt)
npx boris-mode --skip-prompts

# Auto-accept consent (for CI/automation)
npx boris-mode --yes

Scoring

| Score | Tier | Description | | ----- | ------------ | ------------------------------------------- | | 0-6 | Beginner | Using Claude Code as a chat interface | | 7-11 | Intermediate | Building workflows, room to grow | | 12-16 | Advanced | Strong setup, minor optimizations available | | 17-20 | Expert | Boris-level setup 🎯 |

Core checks max: 20 points (14 static + 6 deep). With prompting habits analysis: +7 points (4 static + 3 deep).

With --no-deep (static checks only), max score is 14 points (or 18 with prompting habits).

Based On Best Practices From

"Probably the most important thing to get great results out of Claude Code — give Claude a way to verify its work. If Claude has that feedback loop, it will 2-3x the quality of the final result." — Boris Cherny

Contributing

Found a best practice we're missing? Open an issue or PR!

Joe Tannorella