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

opencode-devjournal

v0.2.1

Published

OpenCode Memory Dashboard — session timeline, memory files, .env editor

Downloads

596

Readme

DevJournal

An OpenCode plugin that surfaces everything happening across your sessions in a single dashboard. Timeline, persistent memory, and .env management — served as a web UI alongside your editor.


Why

OpenCode sessions are ephemeral by design. DevJournal adds a persistent layer:

  • See your work — a timeline of every session across all your projects, grouped by day, with what you were working on and what's left to do.
  • Keep context between sessions — environment specs and coding preferences stored as markdown files that OpenCode reads automatically. Edit them from the dashboard.
  • Manage .env files — find, view, and edit .env files across your projects without leaving the browser.

Install once. OpenCode handles the rest.


Features

Journal — every session in ~/.tmp/sessions/ appears on the timeline. Each card shows the title, project, current request, components, and exit criteria progress. Sessions are grouped by day.

Memory — two markdown files in ~/.config/opencode/memory/:

  • environment.md — your system setup, runtime versions, shell, editor
  • preferences.md — coding style rules, formatting conventions

Both are loaded by OpenCode every session. Edit them from the dashboard.

.Env Editor — scans your projects for .env files, lists them with variable counts, and lets you view or edit them inline.

Activity overview — left sidebar shows weekly stats (sessions, projects, files touched). Right sidebar has a 28-day activity heatmap and sessions-per-day chart.


Install

Requires OpenCode and Node.js 18+.

opencode plugin opencode-devjournal

Or add to ~/.config/opencode/opencode.json:

{
  "plugin": ["opencode-devjournal"]
}

When OpenCode starts, it downloads the plugin and launches the dashboard server automatically. Open http://localhost:4173 in your browser.

The server runs while OpenCode is open and shuts down when OpenCode closes. Only one instance runs at a time.


Update

# If installed via opencode plugin (recommended)
opencode plugin opencode-devjournal -f

# Or using the install script from any source directory
bash install.sh --update

This re-downloads the latest package, rebuilds if needed, and restarts the server. Memory files are preserved.


Uninstall

# From the project directory
bash install.sh --uninstall

# Or directly
bash scripts/uninstall.sh

What's removed: | Artifact | Location | |----------|----------| | Plugin config | ~/.config/opencode/opencode.json — plugin entry removed | | Package cache | ~/.cache/opencode/packages/opencode-devjournal@latest/ | | Skill symlink | ~/.opencode/skills/devjournal | | Command file | ~/.opencode/command/devjournal.md | | Downloaded source (if curl-installed) | ~/.local/share/opencode-devjournal/ | | PID file | ~/.config/opencode/devjournal.pid | | Server process | Port 4173 killed |

Preserved:

  • Memory files in ~/.config/opencode/memory/ — your environment and preferences are kept. Delete manually if you want them gone.

Usage

| Action | How | |--------|-----| | Open dashboard | http://localhost:4173 (auto-started with OpenCode) | | Switch tabs | Topbar or sidebar — Journal, Memory, .Env | | Edit a memory file | Click Edit on any file, make changes, Save | | View .env contents | Click a project, then Load content | | Edit .env | Click Edit, make changes, Save | | Log a note (from OpenCode) | Use the devjournal tool → action: log |


How it works

DevJournal has two parts:

  1. Plugin (dist/index.js) — loaded by OpenCode. Starts/ stops the dashboard server, hooks into session.created events for auto-logging, and registers a devjournal tool (stop, status, log).
  2. Server (server.cjs) — an Express app that scans session files, reads/ writes memory markdown, and browses .env files. Serves the dashboard at port 4173. Manages a PID file at ~/.config/opencode/devjournal.pid to enforce a single instance.

Memory files live at ~/.config/opencode/memory/. Sessions are scanned from ~/*/.tmp/sessions/*/context.md.


Links