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

brainstorming

v0.1.1

Published

A terminal group chat where Claude Code, Codex, Antigravity and Ollama collaborate in one shared conversation over your codebase.

Readme

One terminal. Every AI coding agent. Same conversation.

brainstorming is a TUI where Claude Code, OpenAI Codex, Google Antigravity and Ollama models sit in one shared chat over your codebase — trading opinions, taking on tasks you @-mention, and consulting each other while you steer.

npm license node


Why

You already pay for Claude, ChatGPT/Codex, Gemini/Antigravity and run Ollama. But they each live in their own window, blind to each other. So you become a human clipboard — pasting Claude's plan into Codex, Codex's diff into Gemini, and back again, at 3AM.

brainstorming puts them in the same room. One shared transcript is the source of truth. Everyone sees every message and decision. You @-mention who should act, they can @-mention each other to consult, and the whole group converges — with you holding the remote.

Features

  • One shared conversation — every agent reads the same transcript, so context is never re-pasted.
  • @-mention routing — @codex build the parser, @all what do you think?, or just keep talking to whoever answered last (sticky targets).
  • Agent-to-agent consultation — an agent can @claude another for a second opinion, bounded by a per-message round budget so loops can't burn your quota. Out of budget? /continue or let it rest.
  • Real work, with your approval — Claude and Codex tool actions surface as a single permission card in the TUI; you press i / o / r to allow / allow-for-session / deny.
  • Persistent & resumable — the transcript and each backend's native session are saved under .brainstorming/; reopen the room and everyone remembers.
  • Uses your existing logins — no API keys. It drives the CLIs/SDKs you're already signed into.
  • /decide — record a group decision to DECISIONS.md; it's surfaced to every agent afterwards.
  • Try it free — --demo runs the whole experience with scripted agents and zero quota.

Install

npm install -g brainstorming

Prerequisites — install and sign into the agents you want in the room (each optional; enable/disable in config):

| Agent | CLI / backend | Sign in with | | --- | --- | --- | | @claude | claude (Claude Agent SDK) | claude → /login (Pro/Max subscription) | | @codex | codex (codex app-server) | codex login (ChatGPT subscription) | | @antigravity | agy (Antigravity CLI) | Google sign-in on first run | | @ollama | ollama (local or *-cloud models) | ollama signin for cloud models |

Node ≥ 20 required. No ANTHROPIC_API_KEY / OPENAI_API_KEY needed — subscriptions are used.

Quick start

cd your-project        # a git repo (Codex needs one)
brainstorming          # opens the shared chat in the current directory

Try it with no setup and no quota:

brainstorming --demo

In the chat:

  • @all which API style should we use? — everyone weighs in; Claude may consult Codex automatically.
  • @codex scaffold the endpoints — delegate real work; approve its edits from the permission card.
  • @claude pingpong (demo) — watch the round budget stop an infinite agent loop, then /continue.
  • /decide use versioned REST + OpenAPI — record the call to DECISIONS.md.
  • /help for all commands · Tab to autocomplete @names · Esc to interrupt · /quit to exit.

How it works

        ┌──────────────── brainstorming (Ink TUI) ────────────────┐
        │   shared transcript  ·  router  ·  round-budget engine   │
        └───────────────────────────┬─────────────────────────────┘
                    one common AgentAdapter interface
        ┌───────────┬───────────────┼───────────────┬─────────────┐
     Claude       Codex         Antigravity        Ollama
  agent-sdk    app-server         agy CLI        /api/chat
  (resume)   (JSON-RPC/stdio)  (stream-json)   (client history)
  • The transcript (.brainstorming/room.jsonl) is the single source of truth; every agent is briefed from it, so any one can be restarted and re-briefed.
  • The router delivers each message to its @mentioned targets (or the previous ones), and @all fans out in parallel.
  • The cascade engine lets agents mention each other, bounded by the round budget, with /continue and Esc in your hands.
  • Each agent is a thin adapter behind one interface — streaming text, tool activity, permission requests, and session resume — so new backends slot in without touching the core.

Configuration

A config file is created on first run at ~/.config/brainstorming/config.json:

{
  "roundBudget": 3,
  "agents": {
    "claude":      { "enabled": true },
    "codex":       { "enabled": true },
    "antigravity": { "enabled": true },
    "ollama":      { "enabled": true, "model": "qwen3.5:cloud" }
  }
}

Disable an agent with "enabled": false, pin a model, or add personaExtra to shape how one behaves in the room. If Ollama has no model, brainstorming auto-picks an available *-cloud model.

Development

git clone https://github.com/aliildan/brainstorming.git
cd brainstorming
pnpm install
pnpm test        # unit + end-to-end tests (no quota)
pnpm typecheck
pnpm demo        # run the demo from source

Monorepo layout: packages/core (kernel), packages/adapters (per-agent backends), packages/tui (Ink UI), apps/cli (the brainstorming binary).

License

MIT © Ali Ildan