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

polyagent-lvt

v1.2.0

Published

Local multi-agent runtime for AI coding CLIs

Readme

🎺 Overview

Polyagent is a thin layer over AI coding agent CLIs. It gives Claude Code, Codex, and Gemini one shared way to create, continue, attach, list, fork, and stream provider sessions without reshaping provider output.

❓ Motivation

I use multiple coding agents and often want one agent to continue a session, inspect sessions in the current repo, or get another agent's second opinion.

Why? Each provider stores and attaches to sessions differently. Polyagent makes that workflow scriptable from one command.

⭐ Features

  • One command shape for Claude Code, Codex, and Gemini sessions.
  • Named sessions that continue context across separate CLI calls.
  • Project session discovery with active-session filtering.
  • Native provider attach by name, session id, or path.
  • Session forking for parallel investigations.
  • Text, JSON, and provider-native stream-json output.

🚀 Quick Start

  1. Install the CLI globally:

    npm install -g polyagent-lvt
    # now you can use "pa" or "polyagent" in your terminal
  2. Send a message to a provider in a named session:

    pa session send --message "review this branch" --provider claude --session-name review
  3. Continue the same session:

    pa session send --message "what did I ask before?" --session-name review
  4. List sessions for the current project:

    pa session list

🧰 Usage

# session send commands
pa session send --message "..." --provider claude --session-name <name>
pa session send --message "..." --provider codex --session-name <name>
pa session send --message "..." --provider gemini --session-name <name>
pa session send --file <path> --provider claude --session-name <name>
pa session send --message "..." --output json
pa session send --message "..." --output stream-json

# active commands
pa active
pa active --json

# session commands
pa session create --provider claude --session-name <name>
pa session attach --session-name <name>
pa session attach --session-id <session-id>
pa session attach --session-path <session-path>
pa session list
pa session list --active
pa session show --session-id <session-id>
pa session fork --session-id <session-id> --name <name>
pa session fork --session-name <name> --name <new-name>
pa session remove <name>

# completion commands
pa completion bash
pa completion fish
pa completion zsh

# other commands
pa doctor

| Variable | Default | Description | | ------------------------ | ---------------------------- | ------------------------------------------------ | | POLYAGENT_CONFIG_DIR | OS user config dir | Directory used for Polyagent named-session data | | POLYAGENT_PROG_NAME | polyagent or invoked bin | Displayed program name | | OMNI_TURN_TIMEOUT_MS | 600000 | Provider turn timeout in milliseconds | | POLYAGENT_DEV_BIN_DIR | ~/.local/bin or npm prefix | Directory used by the local development shims |

import { forkSession, listSessions, send } from 'polyagent-lvt';

await send({ provider: 'codex', sessionName: 'review', message: 'Review this branch' });
const sessions = listSessions({ namedOnly: true });
const forked = forkSession({ sessionName: 'review', name: 'review-fork' });

For a better terminal experience, enable shell completion so pa <tab> can show available commands, subcommands, and flags.

Add this to your .zshrc:

eval "$(pa completion zsh)"

For other shells, generate the matching completion script:

pa completion bash
pa completion fish

🛠 Development

Install the local development commands:

pnpm install
pnpm dev:install
pad --help
polyagentd --help

This creates pad and polyagentd, which run the current workspace version without replacing your global pa or polyagent commands.

Add zsh completion for pad:

eval "$(pad completion zsh)"

Remove the local development commands when you are done:

pnpm dev:uninstall

📜 License

MIT