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

pillow-council

v0.1.9

Published

CLI for running PillowCouncil's multi-agent decision board locally.

Downloads

1,075

Readme

PillowCouncil

[!WARNING] This repository is in active development and is published for npm usage. It may contain bugs and potential security vulnerabilities. Use in production with caution.

Why teams reach for PillowCouncil

| What you get | Why it matters | | --- | --- | | Local, self-hosted workflow | Keep decision history, presets, and app data on your machine. | | Structured debate stages | Move from opening opinions to rebuttals, a moderator summary, and a final recommendation. | | OpenCode-managed credentials | Reuse provider auth without building a custom secret storage layer in the app. | | Action-oriented outputs | Finish with explicit risks, alternatives, and next actions instead of vague AI summaries. |

Why PillowCouncil?

Most AI chats end with a decent answer but weak decision pressure. PillowCouncil creates a structured panel instead:

  • multiple agents argue from different perspectives
  • rebuttals force weak claims to surface early
  • the moderator distills trade-offs into a final recommendation
  • every run ends with risks, alternatives, and next actions you can actually execute

What it does

  • Structured multi-agent debates with opinion, rebuttal, moderator summary, and final recommendation stages
  • Reusable OpenCode-powered connections for provider, login method, and model selection
  • Local-first persistence backed by SQLite for sessions, presets, and settings
  • Korean, English, and Japanese support for both UI and generated debate output
  • Preset-based and AI-generated panels so you can start from built-in councils like SaaS Founder, Product Scope, and Architecture Review or generate a custom one
  • Markdown and JSON exports for sharing outcomes outside the app
  • Live session workflow that updates the debate timeline as runs progress
  • Optional CLI packaging path via the pillow-council binary in this repository

How it works

PillowCouncil separates connection setup from session execution:

  1. Choose a provider, login method, and model through the web UI.
  2. Save the connection through OpenCode's credential flow.
  3. Create a new session with a topic, panel preset, language, and debate intensity.
  4. Run the council and follow the timeline as messages and rounds are stored.
  5. Review the final recommendation, risks, alternatives, and TODO list.
  6. Export the result as Markdown or JSON when needed.

Quick start

Install from npm (global)

PillowCouncil is published on npm.

npm i -g pillow-council

Then run the CLI:

pillow-council

Run from source

npm install
npm run dev

Open http://127.0.0.1:3000 and configure your provider connection in the UI.

Native SQLite note for Windows + WSL

better-sqlite3 is a native module, so one node_modules folder cannot safely serve both Windows Node.js and WSL/Linux Node.js at the same time.

  • If you run PillowCouncil from PowerShell / Command Prompt, rebuild native modules there.
  • If you run PillowCouncil from WSL Ubuntu, rebuild native modules inside WSL.

When you switch runtimes, run:

npm run native:rebuild

If you see errors like not a valid Win32 application or invalid ELF header, the current shell is loading a binary built for the other runtime.

Run through the packaged CLI

This repository already exposes a pillow-council CLI entrypoint for standalone builds.

npm install
npm run build
npx pillow-council

If you published the package, you can also run it with npm i -g pillow-council and then pillow-council.

Connection model

  • No local project .env file is required for provider credentials.
  • API keys are stored in the OpenCode credential store, not in PillowCouncil's SQLite tables.
  • Browser-based login flows are started by OpenCode and reused by PillowCouncil.
  • PillowCouncil stores the selected provider, login method, and model as reusable app settings.
  • App data is stored locally under ~/.pillow-council/, including the default SQLite database at ~/.pillow-council/data/pillow-council.db.

Monorepo layout

apps/web                 Next.js 15 App Router UI and API surface
packages/shared          SQLite access, schema, repository, shared types
packages/agents          Built-in presets and custom preset generation
packages/providers       OpenCode catalog, auth, and runtime bridge
packages/orchestration   Debate engine and session execution pipeline
packages/exports         Markdown and JSON export helpers
scripts/                 Database reset, inspection, and standalone prep
tests/                   Vitest and Playwright coverage

Developer commands

# Start the web app
npm run dev

# Run the standalone-ready production build
npm run build

# Type-check all workspaces
npm run typecheck

# Run unit and integration tests
npm test

# Run Playwright end-to-end tests
npm run test:e2e

# Inspect the local SQLite database
npm run db:inspect

# Rebuild native sqlite bindings for the current shell/runtime
npm run native:rebuild

Documentation

Tech stack

  • Next.js 15 + React 19
  • TypeScript monorepo
  • SQLite with shared repository/schema package
  • OpenCode SDK and runtime integration
  • Vitest + Playwright for verification

License

Released under the License.