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

troupe-ai

v0.2.1

Published

One troupe, every stage. The cross-harness agent pack manager: install one pack natively into DeepSeek Harness, OpenCode, and Claude Code.

Readme

troupe — one troupe, every stage.

The cross-harness agent pack manager. One pack — persona, subagent roster, skills, slash commands, rules — installs natively into DeepSeek Harness, OpenCode, and Claude Code, with markers, sync, doctor, and a git-based registry.

npm install -g troupe-ai
troupe port ~/.config/opencode --from opencode --out ./my-pack
troupe install ./my-pack
troupe doctor

What it does

Agent knowledge already standardized (Agent Skills / SKILL.md, installed by tools like Homecrew). The rest of what an agent is — its persona, specialist subagents with tool scopes, slash commands, review gates, rules — lives in harness-specific formats:

| | DeepSeek Harness | OpenCode | Claude Code | |---|---|---|---| | where the agent lives | plugin bundles + presets | .opencode/agents/ · opencode.json | .claude/ plugins | | skills | .agents/skills/ | ~/.config/opencode/skills/ | ~/.claude/skills/ | | commands | web-app plugins | ~/.config/opencode/command/ | ~/.claude/commands/ | | rules | AGENTS.md | AGENTS.md | CLAUDE.md |

Troupe is the distribution layer above all of that: one troupe.yaml pack, materialized into each harness's own extension points, with an honest fidelity report of exactly what landed (and why anything didn't).

troupe port ~/.config/opencode --from opencode --out ./opencode-pack
troupe install ./opencode-pack --target dsh --workspace ./my-repo
troupe doctor

Real demo (actual output, this machine)

$ troupe port ~/.config/opencode --from opencode --out ./opencode-pack
[port:opencode] Ported
  ✓ agents/iterate.md
  ✓ skills/banksey-operations
  ✓ skills/browser-automation  ... (7 skills)
  ✓ rules/AGENTS.md

$ troupe install ./opencode-pack --target dsh --workspace ./my-repo
[dsh:project] DeepSeek Harness
  ✓ skills/mcp-observatory-telemetry/SKILL.md
  ✓ rules: ./my-repo/AGENTS.md (written)
  ! agents not supported for this harness: ... `dsh plugin --profile <name> add <repo>`

$ troupe doctor
[dsh:project] [email protected]
  ✓ status: healthy

Nothing is silently dropped: what a harness can't express is reported, not hidden. The pack above was created from a live OpenCode config (7 skills, an agent, rules) and installed into DSH in one command — the thing people are currently doing by hand (see oh-my-dsh-slim, dsh-opencode, dsh-hooks-adapter, dsh-harness-ally).

Why it wins (honest positioning)

| | crew | personify | agentpack | troupe | |---|---|---|---|---| | unit | skills | personas | machine env backup | whole agent | | orchestrator/roster | ✗ | ✗ | agents yes, no roster semantics | ✅ | | commands + rules merge | ✗ | ✗ | commands yes, rules copied | ✅ (marker sections) | | DSH support | ✗ | ✗ | ✗ | ✅ | | OpenCode support | ✅ | copypaste | ✗ | ✅ | | install/uninstall/doctor | install only | partial | restore in progress | ✅ all three | | registry & sync | taps, no sync | ✗ | roadmap | ✅ git taps + doctor |

Credits: the specialist-crew pack is a pattern-inspired, original-content homage to oh-my-opencode-slim (MIT) — the 8.7k-star suite that people are already hand-porting into DSH.

Safety model

  • Copies only — troupe never executes pack content, no post-install hooks.
  • Every managed directory carries a .troupe-marker.json (id, source ref, SHA map).
  • Refuses to clobber files you customized since install (--force to override).
  • Rules merge as marker-guarded sections (<!-- troupe:BEGIN:id -->).
  • uninstall removes exactly what troupe installed; doctor reports drift.
  • Never writes to a harness that isn't installed on the machine (detection).

Zero dependencies, no build

Pure Node ESM (≥18). node bin/troupe.js is the CLI; publishable via npm.

Honest limits (v0.1)

  • DSH agents/commands are plugin bundles — reported, not materialized (fidelity).
  • No Windows path support yet (%APPDATA%).
  • MCP wiring + permission presets not yet in the manifest.
  • Pack source repos with code-based agents (like slim's src/agents/*.ts) port only after their config is generated by their installer.

Quickstart

troupe init ./my-pack                 # add agents/, skills/, commands/, rules/
troupe install ./my-pack              # every detected harness
troupe install ./my-pack --target dsh --workspace ./repo --scope project
troupe install @acme/security-reviewer
troupe taps add [email protected]:acme/packs.git
troupe search                         # core + taps + remote index (default, no config)
troupe doctor --json

Full format reference: spec/troupe.yaml.md

License

MIT