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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@justbuild/triumvirate

v0.3.2

Published

Run codebase reviews across OpenAI, Claude, and Gemini models.

Readme

Triumvirate

Triumvirate Logo

npm version Triumvirate License: MIT

Run code reviews through multiple LLMs with one command

Triumvirate is a powerful CLI tool and GitHub Action that analyzes your codebase through multiple AI models (OpenAI, Claude, and Gemini), providing a comprehensive, multi-perspective code review with actionable insights.

Features

  • Multi-model Analysis - Compare insights from OpenAI, Claude, and Gemini models
  • Cross-model Consensus - Identify findings that multiple models agree on
  • Specialized Reviews - Conduct focused reviews for security, performance, architecture, and documentation
  • Actionable Tasks - Generate prioritized improvement tasks with dependencies
  • CI/CD Integration - Use as a GitHub Action in your workflow

Installation

# Install globally
npm install -g @justbuild/triumvirate

# Or use directly with npx
npx @justbuild/triumvirate

Quick Start

Set up API Keys

  1. Create a .env file in your project root:
cp .env.example .env
  1. Add your API keys:
OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key
GOOGLE_API_KEY=your-google-key

Basic Usage

# Run a review using all models
tri review

# Run a review with specific models
tri review --models openai,claude

# Run a security-focused review
tri review --review-type security

CLI Reference

Triumvirate provides a complete code review workflow:

tri <command> [options]

Main Commands

  • review - Run code reviews across multiple LLM providers
  • summarize - Generate a summary from existing raw reports
  • plan - Decompose a review into tasks with dependencies
  • next - Identify and display the next available task
  • install - Install CLI completion
  • uninstall - Uninstall CLI completion

Review Command Options

tri review [options]

Model Options

  • -m, --models <models> - Comma-separated list of models (default: openai,claude,gemini)
  • --review-type <type> - Type of review: general, security, performance, architecture, docs
  • --fail-on-error - Exit with non-zero code if any model fails
  • --skip-api-key-validation - Skip API key validation check
  • --enhanced-report - Generate enhanced report with model agreement analysis (default: true)
  • --summary-only - Only include summary in results

Output Options

  • -o, --output <file> - Specify the output file or directory
  • --style <type> - Specify the output style (xml, markdown, plain)
  • --output-show-line-numbers - Add line numbers to each line in the output

Filter Options

  • --include <patterns> - List of include patterns (comma-separated)
  • -i, --ignore <patterns> - Additional ignore patterns (comma-separated)
  • --diff - Only review files changed in git diff

Processing Options

  • --token-limit <number> - Maximum tokens to send to the model
  • --token-count-encoding <encoding> - Specify token count encoding
  • --compress - Perform code compression to reduce token count
  • --remove-comments - Remove comments from code
  • --remove-empty-lines - Remove empty lines from code
  • --top-files-len <number> - Specify the number of top files to include

Summarize Command Options

tri summarize [options]
  • -i, --input <file> - Input file containing raw reports
  • -o, --output <file> - Output file for the summary
  • --enhanced-report - Generate enhanced report with model agreement analysis

Plan Command Options

tri plan [options]
  • -i, --input <file> - Input file containing the summary
  • -o, --output <file> - Output file for the plan

Next Command Options

tri next [options]
  • -i, --input <file> - Input file containing the plan

Global Options

  • -v, --version - Show version information
  • --verbose - Enable verbose logging for detailed output
  • --quiet - Disable all output to stdout

Advanced Examples

Focused Security Review

tri review --review-type security --output security-review.json

Only Review Changed Files

tri review --diff --models openai

Focus on Specific Files with Compression

tri review --include "src/**/*.js,src/**/*.ts" --compress

Generate Plan from Existing Summary

tri plan --input summary.md --output plan.json

Get Next Task

tri next --input plan.json

GitHub Actions Integration

Add this to your workflow file:

name: Triumvirate Review

on:
  pull_request:
    branches: [main]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '20'
      - run: npm install
      - run: |
          export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
          export ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}
          export GOOGLE_API_KEY=${{ secrets.GOOGLE_API_KEY }}
          npx triumvirate --models openai,claude,gemini --diff --output triumvirate.json --fail-on-error
      - name: Upload Review Output
        uses: actions/upload-artifact@v3
        with:
          name: triumvirate-results
          path: triumvirate.json

Developer Workflow

Triumvirate supports productive development workflows with:

  • Pre-commit Hooks: Fast checks on changed files only
  • Pre-push Hooks: Complete verification before pushing
  • Dependency Management: Best practices for package lock files

Report Output

Triumvirate generates comprehensive reports that include:

  • Executive summary with key metrics
  • Model performance analysis
  • Key strengths and areas for improvement
  • Findings by category with code examples
  • Model agreement analysis
  • Actionable recommendations

Supported Models

Triumvirate works with these cutting-edge models:

  • OpenAI: GPT-4o (128k context)
  • Anthropic: Claude 3.7 Sonnet (200k context)
  • Google: Gemini 2.5 Pro (2M context)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.