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

@macintacos/caret

v0.9.0

Published

A Claude Code plugin that replaces the terminal plan-approval prompt with a local web UI for inline review, annotation, and approval.

Readme

🥕 caret

⚠️ Prototype. caret is an early prototype and may change substantially over the next little while — interfaces, hooks, storage, and the install flow are all still settling. Expect rough edges and breaking changes.

caret is a Claude Code (and OpenCode) plugin that replaces the terminal plan-approval prompt with a local web UI. When your agent presents a plan, caret opens it in your browser so you can read it as rendered HTML, annotate passages inline (Google-Docs style), and approve or request changes — your feedback flows straight back to the agent. A single local daemon is shared across concurrent sessions, so several in-flight plans can be reviewed from one browser tab via a switcher.

Want to develop caret rather than use it? Start with CONTRIBUTING.md.

Screenshots

caret review UI with an inline annotation, both themes

Install

caret needs bun on your PATH — it runs from a bun bundle.

bunx --no-cache @macintacos/caret@latest install

That one command is the whole install. It detects which agents you have — Claude Code, OpenCode, or both — asks which of them to install into, and registers the published caret with each: prebuilt artifacts, the /caret:* slash commands, and the rumdl plan formatter, with no git clone and no compile step. Where it can't ask — off a terminal — it installs into every agent it detected. --target claude or --target claude,opencode pins the agents non-interactively, and --dry-run previews the run without changing anything.

Restart the agent afterward — OpenCode installs the plugin package on its next start — then try /caret:demo, which presents a short fake plan to exercise the flow.

Updating and uninstalling

Update. One command for every agent:

bunx --no-cache @macintacos/caret@latest install --refresh

--target pins the agents the same way it does on install, and restarting each one applies the update. In OpenCode, caret toasts you at startup when a newer release is out; a plain install at a terminal runs its own check against npm and asks before taking it. See doc/ADVANCED.md for the by-hand equivalents and for pinning a version in OpenCode's config.

Uninstall. The same command, one flag:

bunx --no-cache @macintacos/caret@latest install --uninstall

It offers the same chooser in reverse, and --target pins it the same way. See doc/ADVANCED.md for what each agent's install touches and how the integrations work.

Using caret

Whenever your agent presents a plan — Claude Code's ExitPlanMode, or the Plan agent in OpenCode — caret intercepts it and opens it in your browser instead of the terminal prompt. There you:

  • Read the plan as rendered HTML.
  • Annotate — select any passage to attach an inline comment.
  • DecideApprove (optionally also switching the session into accept-edits or auto mode) or Request changes, which sends your comments back to the agent to revise and re-present.

A single local daemon serves every session, so concurrent plans queue up in one tab behind a switcher.

In OpenCode, you don't have to wait to be intercepted: caret registers a caret_review_plan tool your agent can call directly, so a skill of your own can route its approval step through the same review UI. Claude Code has no equivalent — see doc/ADVANCED.md.

Configuration

caret runs with sensible defaults and needs no configuration. To tune it, it reads an optional config.toml and CARET_* environment variables (for example the daemon port or the review timeout); logs are written raw by default. The full list of keys, their defaults, and the environment variables is in doc/ADVANCED.md.

Reporting bugs

  • /caret:discovery prints a one-shot, read-only diagnostics snapshot of your install — ready to paste into a bug report.
  • /caret:debug reviews the current session's plans and recent errors.

Details, plus how to scrub logs with caret redact, are in doc/ADVANCED.md.

Platform support

caret is macOS-first; Linux and Windows are best-effort. See doc/ADVANCED.md for the details.

Documentation

  • doc/ADVANCED.md — the deep reference: build-from-source, architecture, the agent adapters, the full configuration surface, and the development workflow.
  • CONTRIBUTING.md — develop caret locally: setup, the mise workflow, and where tests live.
  • doc/ — contributor rules-of-the-road, routed from CLAUDE.md.

License

MIT — see LICENSE. Vendored third-party assets (the Lucide icons) are itemized in THIRD_PARTY_LICENSES.md (ISC).