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

@techdivision/opencode-plugin-shell-env

v1.1.1

Published

OpenCode Plugin - Shell environment loader for .env variables

Readme

opencode-plugin-shell-env

Loads .opencode/.env variables into OpenCode's shell environment and MCP server processes.

Problem

OpenCode's opencode.json supports environment variable references like {env:N8N_MCP_BEARER_TOKEN}, but these only resolve OS-level environment variables (i.e., variables exported in the shell). An .opencode/.env file is not read by default.

Solution

This plugin hooks into OpenCode's shell.env lifecycle event and injects variables from <projectRoot>/.opencode/.env into every shell command and MCP server process spawned by OpenCode.

Behavior

  • Reads <projectRoot>/.opencode/.env on every shell invocation
  • Does NOT overwrite variables already present in the environment
  • Silently skips if .opencode/.env is missing or unreadable
  • Parses standard .env syntax

Supported .env Syntax

# Comments (lines starting with #)
KEY=VALUE
KEY="quoted value"
KEY='single quoted value'
export KEY=VALUE          # Optional export prefix
KEY=value # inline comment

Installation

Add the plugin to your .opencode/package.json:

{
  "dependencies": {
    "@techdivision/opencode-plugin-shell-env": "github:techdivision/opencode-plugin-shell-env"
  }
}

Then install and link:

cd .opencode && npm install
npx opencode-link shell-env

Contents

| Name | Type | Description | |------|------|-------------| | shell-env.ts | Plugin | Hooks into shell.env lifecycle to inject .opencode/.env variables |

Example: n8n MCP Server with .env

.opencode/.env:

N8N_MCP_BEARER_TOKEN=n8n_api_abc123

.opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "instructions": [
    "guideline/*.md"
  ],
  "mcp": {
    "n8n-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-remote",
        "https://n8n.example.com/mcp-server/http",
        "--header",
        "Authorization: ${N8N_MCP_BEARER_TOKEN}"
      ],
      "environment": {
        "N8N_MCP_BEARER_TOKEN": "Bearer {env:N8N_MCP_BEARER_TOKEN}"
      }
    }
  }
}

Without the shell-env plugin, {env:N8N_MCP_BEARER_TOKEN} would only resolve if the variable is exported in the shell (export N8N_MCP_BEARER_TOKEN=...). With the plugin, it resolves from .opencode/.env automatically.

License

MIT