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

@dmmop/opencode-tps

v1.0.2

Published

OpenCode TUI plugin that displays response performance metrics.

Readme

opencode-tps

npm version npm downloads Release License: MIT

OpenCode TUI plugin that displays response performance metrics while a session is running.

Features

  • Live tokens-per-second (TPS) estimate for the active response.
  • Session-wide average output and reasoning token rate (AVG).
  • Time to first token (TTFT).
  • Tracks text, reasoning, and tool-input streaming events.
  • Uses the OpenCode TUI session composer slot without changing conversation output.

Installation

Add the published package to the plugins array in your OpenCode configuration:

{
  "$schema": "https://opencode.ai/config.json",
  "plugins": ["@dmmop/opencode-tps"]
}

OpenCode installs the package and its production dependencies automatically. To pin a release, use a versioned package specifier such as @dmmop/[email protected].

Development

Requirements:

  • Bun
  • An OpenCode V2 environment with TUI plugin support

Install dependencies:

bun install

For local TUI development, point cli.json at this project directory. OpenCode loads the conventional root tui.ts entrypoint.

Releasing

Commit messages

bun install installs a Husky commit-msg hook. Commitlint rejects malformed Conventional Commits before Git creates the commit (70-character header limit; capitalized subjects are allowed). Ordinary Git merge messages are exempt, but bare version numbers and fixup! messages are not. CI validates every new commit and the PR title too, including after title edits, to cover squash merges and hooks bypassed with --no-verify. The validator checks syntax, not whether an agent chose the correct semantic type for the actual change.

Automatic publication

The single CI and Release workflow tests pull requests and pushes to main. It runs Bun tests, source typechecking, a TUI build and a packed-export smoke test. Only a successful push to main can publish to npm and create a GitHub Release.

semantic-release uses Conventional Commits since the last release tag: fix: produces a patch, feat: a minor, and ! or a BREAKING CHANGE: footer a major. Documentation, maintenance and test-only commits do not trigger a release unless marked breaking. The largest applicable bump wins. Use conventional PR titles when squash-merging.

Versions are tracked by Git tags and npm, not by automatic bump commits on main; the published manifest receives the computed version. Tag pushes do not start another workflow. npm Trusted Publishing must authorize this repository's release.yml workflow (OIDC); publication includes provenance and needs no npm token.

Metric notes

TPS is an estimate based on the byte length of streamed deltas. AVG is calculated from the output and reasoning token counts reported when a session step ends. TTFT measures the time from the start of a session step until the first streamed token.

License

MIT