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

claude-acp-ui

v0.6.0

Published

A Claude Code mod that restyles the terminal like an ACP chat: prompt and tool cards, inline diffs, a status band, footer stats and a /dash pane

Readme

claude-acp-ui

A Claude Code mod that restyles the terminal like an ACP chat (the look of spec-ade's agent panel), using only what a terminal can draw: colored cells, block characters, one monospace font.

  • Prompt card: your message sits in a filled card with ›.
  • Tool cards: each call is a card with a status icon (✓ ◌ ✗ ■), a kind icon (◇ read, ⌕ search, ✎ edit, ❯ run), the tool, its target and a right-aligned summary (142 dòng, 4 file, 24 passed). Running calls turn blue.
  • Inline diffs: Edit / MultiEdit cards show the changed lines on red and green rows, syntax-highlighted, −N +N at the edge. In fullscreen a diff over 4 lines folds behind ▸ diff.
  • Hover cards (fullscreen): hover a tool card for the full command, how long it ran and its last output lines; hover a changed file in /dash for its first changed lines.
  • Subagent cards: an Agent call draws as a live card: ◌ ◆ Explore find the viewport code 6 tool · 12s, its last three steps under it while it runs, then ✓ with the files it read and edited and the first line of its answer. In fullscreen, hover it for every step and the head of the answer. A toast says when each subagent finishes.
  • Status band above the prompt: branch, changed-file count, running subagents (◆ 2 agent: Explore ◌ · Plan ◌), model, context bar.
  • Footer: test result, session minutes and cost after the hint line.
  • /dash pane (type /dash again to close it): totals, a timeline of what Claude did (think, read, search, edit, run), tool calls per minute, per-tool bars, changed files with −/+ counts, current commit.
  • /enhance <prompt>: rewrites a rough prompt into a clear one using the conversation so far (same model, cached context), keeps your language, and puts it in the prompt box so you can edit before pressing Enter. In a new session it falls back to the session model without context.
  • Vietnamese spinner: the working line reads Đang pha cà phê…, Đang soi bug… (or Đang vắt óc… while thinking) instead of the sampled English word, one phrase per turn; the closing line reads ✻ Pha xong cà phê trong 1m 12s.
  • Themes: /acp-theme lists them, /acp-theme <name> switches and remembers the choice across sessions: spec-ade (default), tokyo-night, dracula, catppuccin, github-light (for light terminals).
  • Toast when a turn of 15 s or more finishes.

Cards get half a row of padding and corners cut by half a cell from quadrant blocks (▗▄▖, ▝▀▘); bars fill in eighths of a cell.

Install

npx claude-acp-ui

This copies the mod to ~/.claude/mods/acp-ui (or $CLAUDE_CONFIG_DIR/mods/acp-ui) and adds that folder to CLAUDE_CODE_PLUGIN_DIRS in the env block of ~/.claude/settings.json, which Claude Code reads at every start. Other settings and other plugin folders in that variable are kept. Start a new Claude Code session to see it.

npx claude-acp-ui uninstall                        # remove the folder and the settings entry
claude --plugin-dir "$(npx claude-acp-ui path)"    # load it for one session without installing

To update, run npx claude-acp-ui@latest again.

Requirements

  • Claude Code 2.1.287 or newer. Function-hook mods are early access and the API may change between releases.
  • A dark terminal theme, or /acp-theme github-light on a light one.
  • A font that draws Unicode block elements. Windows Terminal, iTerm2, kitty, WezTerm and Ghostty all do.

Limits

  • The prompt input box (its rules and ❯) is drawn by Claude Code; a mod cannot restyle it.
  • The /dash pane docks beside the transcript only in fullscreen mode (/tui fullscreen) at 110+ columns; otherwise it opens above the prompt.
  • Text added to the hint line is drawn dim.
  • The test result is a guess: a Bash command naming test, vitest, jest, pytest or playwright counts as a test run, pass or fail by its exit status.
  • Edit diffs show the changed lines without file line numbers. Highlighting is a small per-line tokenizer, not a full grammar.
  • Hover and the fold toggle need the mouse, so they work in fullscreen only; on the main screen diffs show open, up to 10 lines.
  • "think" on the timeline is a guess: a quiet gap of 3 s or more between tool calls.

Develop

npm run validate   # claude plugin validate plugin
npm test           # claude plugin test plugin

The mod lives in plugin/: hooks/register.tsx is the hooks module, types/index.d.ts its state contract.

License

MIT