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

paseo-quote

v0.1.1

Published

Quote selected chat text into the Paseo message box, reply to a passage, or ask about it in a side chat

Readme

Quote for Paseo

Reply to a piece of an agent's answer instead of the whole thing. Select text in a chat and a small bar appears above it.

The selection bar above highlighted chat text

Quote

Puts the selection into this chat's message box as a > quote and leaves the cursor under it. Type your answer, select the next paragraph, quote again, and send everything as one message. The quote always lands in the chat it came from, even with several tabs or split panes.

A quote and a reply in the message box

Reply

Opens a field right at the selection, like Claude's "Reply". Enter sends the quote and your reply at once; Ctrl/⌘+Enter adds them to the message box instead. While the agent is running, Enter follows Settings → Default send (interrupt, steer, or queue), as the message box does.

The reply field with the quoted passage

Side chat

Asks about the passage in a separate agent next to the main chat, so the main thread stays on track. It uses the same provider, model, mode, and thinking level, opens in the right-hand panel, and takes follow-ups there. Open as tab turns it into a regular chat tab. It is a subagent of the main chat and is archived with it.

A side chat in the right-hand panel

Copy

Copies the selection as Markdown: lists, tables, emphasis, and code fences survive.

Quotes of assistant messages keep their Markdown. Multi-line code becomes a fenced block rather than a quote.

Install

Requires Paseo 0.10.1 or later. Enable plugins under Settings → Plugins, then:

paseo plugin install npm:paseo-quote
# or from GitHub
paseo plugin install github:keefeere/paseo-quote

Plugins are trusted code. This one runs only in the app: it reads the chat you select from and writes into its message box. It has no daemon-side code.

Keys

| Where | Key | Effect | | ------------ | -------------------- | --------------------------------------------- | | Reply field | Enter | Send the quote and reply | | Reply field | Ctrl/⌘+Enter | Add the quote and reply to the message box | | Side chat | Enter | Ask | | Both | Shift+Enter | New line | | Both | Esc | Cancel |

Dismiss the bar by clicking elsewhere. Esc in the chat itself is Paseo's "interrupt agent".

Limitations

  • Desktop and web apps only. iOS and Android route selection through the system menu, which a plugin cannot extend.
  • Paseo has no plugin API for the message box, so the plugin works with the app's markup. The selectors it relies on are listed at the top of client/web.ts; a later Paseo release may need an update.
  • With Default send set to queue, a reply sent while the agent runs waits in the plugin, not in the message box's queue, and is lost if the app reloads first.
  • A side chat is a fresh session: Paseo cannot fork a conversation. It sees the quote, the message it came from, and the last 8 turns of the main chat.
  • The side chat panel renders Markdown simply: code blocks and quotes, no emphasis. Open it as a tab for the full renderer.

Develop

npm install
npm run typecheck
paseo plugin install "$PWD"   # first time
paseo plugin reload quote

On the Linux AppImage, paseo treats an existing absolute directory argument as "open project". Install from a local checkout with the parent-and-subpath form instead: paseo plugin install "$(dirname "$PWD"):$(basename "$PWD")".

License

MIT