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

pe-board-review

v1.1.3

Published

Principal Engineering Board Review — elite code review skill for opencode, claude-code, and GitHub Copilot. Invoke as pe-board-review.

Readme

Code Review Skill — Principal Engineering Board

A code review skill that simulates a board of principal engineers with 20+ years of production real experience. Primary focus on TypeScript, NestJS, Express, Fastify, and the full Node.js ecosystem.

Compatible with opencode, claude-code, and GitHub Copilot.

Published on npm: https://www.npmjs.com/package/pe-board-review
Install globally: npm install -g pe-board-review


⚡ Quick Start

# Install globally (works with opencode and GitHub Copilot automatically)
npm install -g pe-board-review

# Use with opencode
opencode "/pe-board-review Review this file as a principal engineering board"

# Use with GitHub Copilot in VS Code
# @workspace /pe-board-review Review this code as a principal engineering board

→ See INSTALLATION.md for full setup guide for opencode, GitHub Copilot, and CI/CD


What This Skill Does

When invoked, it simulates 5 principal engineers reviewing your code with:

  • Warmth-first reviews — genuine praise before critique
  • Level-aware feedback — calibrated for junior / mid / senior patterns
  • TypeScript-first analysis — type safety, any detection, utility types
  • NestJS architecture — layer responsibility, module design, guards/pipes/interceptors
  • Security scanning — injection, auth gaps, mass assignment, secrets
  • Performance — N+1 queries, missing pagination, sequential vs parallel async
  • Error consistency — error factory adherence, HTTP code correctness
  • Naming & consistency — conventions enforcement across the entire codebase
  • Constants & enums — magic value detection, enum patterns
  • Clean code — SOLID, DRY, YAGNI, Law of Demeter
  • Common mistake patterns — 30+ documented mistakes across all seniority levels

Primary Stack

| Priority | Technologies | |----------|-------------| | 🎯 Primary | TypeScript · Node.js · NestJS · Express · Fastify · Hapi | | 🔶 Secondary | TypeORM · Prisma · Mongoose · GraphQL · BullMQ | | 🟡 Tertiary | Python · Ruby — concepts only |

All code examples are TypeScript/JavaScript only.


Features

TypeScript Type Safety

  • any type detection
  • Unsafe as assertions
  • Non-null assertion (!) overuse
  • Missing return types on public methods
  • Missing utility types (Partial<T>, Omit<T, K>, etc.)

NestJS Architecture

  • Layer responsibility enforcement (Controller / Service / Repository)
  • Module boundary rules
  • Guards, Pipes, Interceptors, Exception Filters
  • DTO validation with class-validator
  • TypeORM / Prisma patterns

Security

  • NoSQL operator injection
  • SQL injection via QueryBuilder
  • Missing auth guards
  • Mass assignment via missing ValidationPipe
  • Sensitive data in responses or logs
  • Rate limiting gaps
  • Hardcoded secrets

Performance

  • N+1 query detection (TypeORM / Prisma / Mongoose)
  • Missing pagination on list endpoints
  • Sequential async instead of Promise.all()
  • Missing database transactions
  • Missing indexes on queried columns
  • Blocking event loop (sync CPU work in request path)

Error Handling

  • Raw Error throws in application code
  • Wrong HTTP status codes (401 vs 403, 500 for client errors)
  • Empty catch blocks
  • Missing log context before rethrow
  • Inconsistency with codebase error factory

Naming & Consistency

  • Mixed verb conventions (get vs fetch vs find)
  • Boolean variable prefixes (is/has/can/should)
  • Magic numbers and strings
  • Inconsistent response shapes
  • File/folder naming violations

Common Mistakes by Level

  • 10 junior patterns (console.log, no validation, hardcoded secrets...)
  • 10 mid-level patterns (N+1, no transactions, race conditions...)
  • 10 senior patterns (no idempotency, no retry, breaking API changes...)

📦 Installation & Usage

For detailed setup instructions, see INSTALLATION.md

Quick Install (All Platforms)

npm install -g pe-board-review

Use with opencode

opencode "/pe-board-review Review this PR diff as a principal engineering board"
opencode "/pe-board-review Review src/orders/order.service.ts"

Use with GitHub Copilot (VS Code)

@workspace /pe-board-review Review this code as a principal engineering board.
Output as GitHub PR comment.

Full guide with examples, CI/CD integration, and troubleshooting: INSTALLATION.md


Output Formats

1. GitHub PR Comment (Default)

## 🔍 Code Review

> Reviewed by: Principal Engineering Board | 2026-06-26

### ✅ What's Done Well
[Specific, genuine praise]

### 🔴 Blockers — Must Fix Before Merge
[Issues with location → problem → production consequence → concrete fix]

### 🟠 High Priority — Fix in This PR
[Important but not merge-blocking]

### 🟡 Suggestions — Follow-up PR OK
[Improvements, refactors]

### 📋 Pre-Merge Checklist
- [ ] No `any` types, explicit return types on public methods
- [ ] No hardcoded secrets, input validation present
- [ ] Error handling follows codebase convention
- [ ] No N+1 queries, pagination on list endpoints
- [ ] Naming follows codebase conventions
- [ ] No magic numbers/strings

### 💬 Closing
[Brief, encouraging]

2. JSON Report

{
  "review_metadata": {
    "timestamp": "2026-06-26T10:30:00Z",
    "reviewer": "Principal Engineering Board",
    "files_reviewed": 3,
    "total_issues": 8
  },
  "praise": ["..."],
  "blockers": [...],
  "high_priority": [...],
  "suggestions": [...],
  "checklist": { "passed": 6, "failed": 2 }
}

3. Inline Comments

// 🔴 [BLOCKER] NoSQL injection: req.body.email could be { "$gt": "" }
// Fix: const email = String(req.body.email);
const user = await userModel.findOne({ email: req.body.email });

Reference Files

| File | What It Covers | |------|---------------| | SKILL.md | Core skill instructions — the principal engineer persona | | references/typescript-nestjs-patterns.md | TypeScript type safety, NestJS patterns, Guards/Pipes/Interceptors, TypeORM, Mongoose + NestJS (Part 9) | | references/naming-conventions-consistency.md | Full naming rules, folder structure, consistency enforcement | | references/error-handling-factory.md | Error factory pattern, custom exceptions, HTTP code guide | | references/common-mistakes-by-level.md | 30+ common mistakes: junior / mid / senior with TypeScript examples | | references/database-n1-queries.md | N+1 detection, TypeORM/Prisma/Mongoose batching strategies | | references/security-checklist.md | Full security checklist · NestJS patterns · Mongoose-specific security (SEC-M1 to SEC-M7) | | references/performance-guide.md | Performance patterns, caching, queues, Node.js-specific optimizations | | references/solid-dry-architecture.md | SOLID, DRY, YAGNI, Law of Demeter — all in TypeScript |


Severity Guide

| Label | Meaning | Required Action | |-------|---------|----------------| | 🔴 Blocker | Security hole, data loss, crash, critical arch violation | Must fix before merge | | 🟠 High | Performance regression, inconsistency, missing validation | Fix in this PR | | 🟡 Medium | Code quality, maintainability | Fix in follow-up | | 🟢 Low | Style, informational | Author's discretion |


Version: 1.1.3
Updated: 2026-06-27
Primary Focus: TypeScript · Node.js · NestJS · Express · Fastify
License: MIT } ] };


## Security Checklist

The skill checks against these security items:

- ✅ Input validation & sanitization
- ✅ SQL/NoSQL injection prevention
- ✅ XSS protection
- ✅ CSRF protection
- ✅ Authentication/authorization
- ✅ Sensitive data handling
- ✅ Environment variable management
- ✅ Error message exposure
- ✅ Rate limiting
- ✅ API security headers

See [security-checklist.md](references/security-checklist.md) for full details.

## Performance Guidelines

The skill provides guidance on:

- Database query optimization
- Caching strategies
- Async/await best practices
- Memory management
- Stream processing
- Algorithm complexity
- Bundle size optimization
- Connection pooling

See [performance-guide.md](references/performance-guide.md) for full details.

## Helper Scripts

The `scripts/` directory contains utility functions:

### Format JSON
```bash
node scripts/format-json.js

Converts review to structured JSON format

Format Markdown

node scripts/format-markdown.js

Generates readable Markdown report

Format GitHub PR

node scripts/format-github-pr.js

Creates GitHub PR comment format

Tips for Best Results

  1. Provide Context

    • Include imports and dependencies
    • Specify the framework (Express, Next.js, etc.)
    • Mention Node.js version
  2. Be Specific

    • Ask about specific concerns
    • Provide function or module scope
    • Include related files
  3. Use Appropriate Format

    • Markdown for documentation
    • JSON for CI/CD pipelines
    • GitHub PR for pull request reviews
  4. Follow Up

    • Ask for specific solutions
    • Request refactoring suggestions
    • Query explanations for complex issues

CI/CD Integration

GitHub Actions

name: Code Review
on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Run Code Review
        run: |
          opencode --skill code-review-skill \
            "Review changes for security and performance" \
            --output json > review.json

Pre-commit Hook

#!/bin/bash
# .git/hooks/pre-commit
opencode --skill code-review-skill \
  "Quick security check before commit" \
  --strict

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new review rules
  4. Submit a pull request

Issues & Feature Requests

Found a bug or have a feature idea? Open an issue

Support

License

MIT License - see LICENSE for details

Changelog

Version 1.0.0 (Current)

  • Initial release
  • Support for JavaScript/Node.js
  • Three review dimensions: security, best practices, performance
  • Multiple output formats
  • Helper scripts included

Built for: opencode
Requires: Node.js 16+ (for opencode integration)
Author: Mohamed Mamdouh

Roadmap

  • [ ] TypeScript support
  • [ ] Python code review (Flask, Django)
  • [ ] Go code review
  • [ ] Rust code review
  • [ ] Real-time feedback in editors (VSCode extension)
  • [ ] Integration with SonarQube
  • [ ] Custom rule builder UI
  • [ ] Team collaboration features

Made with ❤️ for the Node.js community