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

@yannelli/be-concise

v0.15.0

Published

Local configuration and hook console for Concise

Readme

Concise: Stops verbose comments, oversized files, and padded PRs.

concise

Concise is a Claude Code, Codex, and omp plugin that catches the agent's own verbosity before a write or GitHub command runs. It also filters test-runner output before the agent reads it.

New here? Start with plugins/concise/README.md.

What it checks

  • Comment blocks longer than 2 lines in Write, Edit, MultiEdit, and Codex apply_patch additions
  • New files longer than 300 lines
  • Inline gh pr and gh issue bodies with more than 1 prose paragraph or more than 3 sentences in a paragraph
  • Em dashes and 47 categories of AI writing patterns, both off until you turn them on
  • Output from pytest, go test, npm test, Jest, and Vitest; each run's full output is kept in its own log under $TMPDIR/concise-test-filter-<uid>/<session>/, and the path is printed with the filtered output

Structured GitHub bodies that use headings and lists are allowed. A denied call includes the exact limit and location. After 2 denied retries for the same target, Concise permits the next attempt and flags it.

Install

Git, Node.js, Bash, jq, realpath, and core Unix tools must be available on PATH.

Claude Code

Run these commands inside Claude Code:

/plugin marketplace add https://github.com/yannelli/be-concise
/plugin install concise@be-concise

Review the hooks and choose an installation scope. If the install summary requests it, run /reload-plugins.

Claude Code plugin documentation

Codex

Codex CLI 0.152.0 or newer is the supported baseline.

codex plugin marketplace add yannelli/be-concise
codex plugin add concise@be-concise

Start a new Codex session, run /hooks, and review and trust each concise hook under both PreToolUse and Stop. Codex asks for review again when a hook definition changes, so trust the hooks again after an update.

For automation that already validates its hook sources:

codex exec --dangerously-bypass-hook-trust "<prompt>"

The bypass applies to that invocation and does not save trust.

Codex plugin documentation

omp

omp (oh-my-pi) installs from the same marketplace:

omp plugin marketplace add yannelli/be-concise
omp plugin install concise@be-concise

Start a new omp session. omp loads the hooks as an extension at session start, so /reload-plugins does not pick them up. Subagent replies are not checked in omp, because omp has no subagent stop event.

omp marketplace documentation

Documentation

Web console

Run from this repository with Node.js 24:

node bin/concise-web.mjs

Or install the command globally from npm:

npm install -g @yannelli/be-concise
concise-web --cwd /path/to/project

npm install -g . installs it from a checkout.

Update the console and the plugin with one command:

concise-web update

The command installs the latest npm release. Then it updates concise@be-concise in each of Claude Code, Codex, and omp that has the plugin installed. It restarts each running console on another version when that console is the main process of a systemd user unit, and prints a restart hint for other consoles. --check reports what would change and changes nothing. From a git checkout, the command skips the npm step; use git pull for the checkout.

The command starts a localhost server on an available port and opens the browser. Use --port 4317 to select a port or --no-open to print the URL without opening it. npm run web also starts the console from the repository.

concise-web --all serves every project the hooks have registered under ~/.config/concise/projects, with a project switcher in the sidebar that groups projects by git repository and labels worktrees. Projects whose directory no longer exists are hidden until you choose "Show N missing". Each hook call registers its project there and appends its record to ~/.local/state/concise/projects/<hash>/records.jsonl, so the hub shows history from before it started and keeps working while it is down. Set "monitor": { "persist": false } or BEC_MONITOR_PERSIST=0 to keep the registry entry without the record file.

The console edits user and project configuration, shows the effective settings and environment overrides, and tests pasted text through the hooks. The Rules page switches packs on and off, adds a pack from an https URL, a local path, or pasted JSON, checks packs installed from a URL and the plugin itself for updates, and removes packs it installed. Pack management is described in plugins/concise/docs/packs.md. It shows matches, hook decisions, timings, and full JSON responses. Repeat an attempt to test confirmation and retry limits, or reset the playground session.

The playground previews Bash command rewrites. It does not run the pasted command. It uses separate retry state and leaves test configuration changes unsaved until you save a configuration layer.

Live activity captures hook requests and responses for the selected project while the console runs, with filtering, JSON export, and counts for the retained records. It keeps up to 500 records per project within 16 MiB in memory. Stop the server to discard them, and clear a project's history to truncate its record file. Capture requires this version of the plugin in the agent host; reload the plugin and review the changed Bash hook definition after updating. Other environment overrides in the agent process still apply to its hooks.

The URL contains a local access token. Configuration saves detect intervening file edits. Ctrl+C stops the server and removes its capture registration.

Control test output

Bypass filtering for one command:

NOFILTER=1 pytest tests/

NOFILTER=1 also works later in the command, as in cd app && NOFILTER=1 npm test. A command that sends its standard output to a file, as in npm test > out.log 2>&1, is not filtered.

Adjust the output cap, match pattern, context, or tail length:

FILTER_LINES=300 FILTER_PATTERN='FAIL|timeout' FILTER_CONTEXT=10 FILTER_TAIL=20 go test ./...

Persistent defaults can live in ~/.claude/test-filter.conf or ~/.codex/test-filter.conf. omp sessions read the same files.

Development

See CONTRIBUTING.md for the branch workflow, Conventional Commits, and automated semantic releases. .agents/docs/INDEX.md lists the researched maintainer notes, including npm trusted publishing.

node plugins/concise/test/run-tests.mjs

The suite runs the Claude Code cases, then plugins/concise/test/codex-tests.mjs, which feeds apply_patch payloads in the shape Codex 0.152 sends, then the omp extension cases, and then a self-check that writes every file in the plugin through the hook under the ryan preset.

Maintainer

Ryan Yannelli (@yannelli)

License

MIT