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

opencodefolders

v1.1.0

Published

Saved project folders for OpenCode

Readme

Project paths

OpenCode V2 terminal plugin for starting sessions in saved project folders. No additional dependencies are required.

Usage

Press Ctrl+x, then p to open the folder picker. Select Add project folder and enter an existing absolute path, such as /Users/mokrucky/Documents/rpms. Select a saved folder to open the empty OpenCode start page in that folder. No session or title is created yet. OpenCode creates the session when you send your first prompt and generates its title normally.

The connected OpenCode server validates folders before saving them. Paths must exist on that server. Relative paths and home shortcuts such as ~/project are not accepted. This plugin does not create directories.

Folders persist across restarts and are shared across terminal instances through OpenCode plugin storage. Existing sessions and the normal Ctrl+x, then n shortcut are unchanged. Escape cancels without creating a session.

The command palette also provides New session in project folder, Add project folder, and Remove saved project folder. Their slash commands are /projectnew, /projectadd, and /projectremove. Removing a saved folder only forgets its path. It never deletes folders, files, or sessions.

Press Ctrl+x, then o to open a new tab in the Apple Terminal window running OpenCode, like Cmd+T. The tab starts in the current session folder, or the current start page folder before a session exists. This opens a plain shell, not another OpenCode instance. The command palette also provides Open current folder in Terminal tab. The existing OpenCode tab is left unchanged.

Opening a tab requires macOS, OpenCode running directly in Apple Terminal, and an existing local folder. Remote folders are not downloaded or opened over SSH. Other terminal apps and terminal multiplexers are not supported. macOS may ask for permission to control Terminal and System Events. Allow Accessibility access for Terminal in System Settings, Privacy & Security, Accessibility. If the window cannot be found or the new tab cannot be created, the shortcut reports an error rather than opening a separate window.

Shortcut

To change the shortcut, merge this entry into keybinds in ~/.config/opencode/cli.json, preserving existing entries:

{
  "keybinds": {
    "project.paths.new": "<leader>p",
    "project.paths.terminal": "<leader>o"
  }
}

The leader key defaults to Ctrl+x. For a single chord, use a binding such as ctrl+alt+p instead.

Loading

Install the published plugin and add it to your global OpenCode configuration:

opencode plugin add opencodefolders

For manual setup, add opencodefolders to the plugins array in ~/.config/opencode/cli.json, preserving existing entries. If XDG_CONFIG_HOME is set, use $XDG_CONFIG_HOME/opencode/cli.json instead.

{
  "$schema": "https://opencode.ai/v2/cli.json",
  "plugins": [
    "opencodefolders"
  ]
}

Merge this into your existing configuration rather than replacing the file.

Restart the terminal client if the new commands are not visible. The OpenCode service does not need a restart.

Tests

Run npm test from this folder with a current Node version that supports TypeScript type stripping.