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

aidebate

v1.14.3

Published

AI debate simulation between Claude, Codex, and Gemini

Readme

aidebate

AI debate simulator that pits two AI agents against each other to collaboratively solve a problem through structured dialogue.

How it works

Two AI agents receive the same problem and independently form their initial hypotheses (round 0, in parallel). They then take turns responding to each other's arguments until they reach agreement or hit the message limit. When one agent proposes a conclusion (prefixed with AGREED:), the other is asked to confirm or object.

Supported agents

The script auto-detects which CLI tools are available and picks the best pair:

| Priority | Agent A | Agent B | |----------|---------|---------| | 1 | Claude | Codex | | 2 | Claude | Gemini | | 3 | Codex | Gemini | | 4 | Single agent fallback (same tool for both sides) |

Requires at least one of: claude, codex, gemini. Also requires jq.

Installation

npm install -g aidebate

Or run directly:

bash ai-debate.sh "Your problem here"

Usage

aidebate [OPTIONS] "<problem>"

If no problem argument is provided, you'll be prompted to select an editor (nano, vim, VS Code, or Cursor) to compose a multiline problem. This is useful for complex prompts that don't fit well on a single command line.

Post-debate chat

After a debate concludes (either by agreement or reaching the message limit), you can continue chatting with one of the agents. The agent retains full context from the debate, allowing you to ask follow-up questions, explore specific points, or dive deeper into the topic.

Options

| Flag | Description | Default | |------|-------------|---------| | --max-rounds N | Max number of messages | 10 | | --timeout N | API timeout in seconds | 60 | | --claude-model MODEL | Claude model (haiku, sonnet, opus) | interactive | | --codex-model MODEL | Codex model (gpt-5.1-codex-mini, gpt-5.2-codex) | interactive | | --gemini-model MODEL | Gemini model (gemini-2.5-flash, gemini-3-flash-preview) | interactive | | --system-prompt-file F | Custom system prompt from file | built-in | | --output, -o FILE | Save debate transcript to JSON file | off | | --debug | Keep raw API responses and show tmpdir | off |

Examples

# Basic usage with interactive model selection
aidebate "Is P = NP?"

# Specify models directly
aidebate --claude-model sonnet --codex-model gpt-5.2-codex "Explain monads"

# Short debate with debug output
aidebate --max-rounds 4 --debug "Best sorting algorithm for nearly-sorted data"

# Save transcript to file
aidebate --output debate.json "Is functional programming better than OOP?"

Transcript Format

When using --output, the transcript is saved as JSON:

{
  "problem": "Your problem here",
  "agents": {
    "a": {"name": "Claude", "model": "sonnet"},
    "b": {"name": "Codex", "model": "gpt-5.2-codex"}
  },
  "messages": [
    {"agent": "a", "content": "...", "timestamp": "2024-01-15T10:30:00Z"},
    {"agent": "b", "content": "...", "timestamp": "2024-01-15T10:31:00Z"}
  ],
  "conclusion": "The agreed upon conclusion"
}

License

MIT