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-workaholic

v0.4.0

Published

Your OpenCode becomes a workaholic. Prevents AI from ending tasks prematurely.

Downloads

450

Readme

opencode-workaholic

Enforces minimum task duration. Prevents AI from ending tasks prematurely before a time limit expires. Useful for forcing continuous work and preventing premature convergence.

(c) 2026 Roderick Qiu.

Why?

Sometimes AI finishes tasks too quickly, declaring "done" before thoroughly exploring all options or completing all necessary work. This plugin enforces a minimum work duration by:

  • Blocking the AI from ending until the timer expires
  • Injecting system prompts that reinforce the workaholic mindset
  • Encouraging the AI to propose new tasks when todos are complete

Features

  • ⏱️ Minimum duration enforcement - AI cannot end until timer expires
  • 🚫 Sleep blocking - Prevents time-wasting via sleep commands
  • 🔄 Persistent timer - Survives across messages
  • 📊 Status checking - Always knows remaining time
  • 💪 Strong behavioral prompts - Reinforces workaholic mindset
  • 🔐 Checkout system - AI must call checkout to officially end (only works at timer = 0)
  • 🎲 Random prompt rotation - 6 different prompt styles prevent AI from adapting

Usage

Start Workaholic Mode

/workaholic [Your requirements, for xxx minutes]

Or use the tool directly:

Use workaholic.start with minutes=30

Check Status

Call workaholic.status to see remaining time

End Task (Checkout)

Call workaholic.checkout to officially end the task
- Only works when timer = 0
- If time remains, checkout will be rejected

How It Works

  1. Timer starts when you invoke /workaholic in OpenCode
  2. Every response - AI automatically checks remaining time via system prompt injection
  3. Sleep forbidden - Any attempt to use sleep throws an error
  4. End detection - If AI says "done", a warning is appended forcing continuation
  5. Checkout required - AI must call workaholic.checkout to officially end
  6. Only ends when - Timer shows 0 remaining seconds AND checkout is called

Custom Tools

| Tool | Description | | ------------------- | ------------------------------------------------------------------ | | workaholic.start | Start timer with duration in minutes (supports decimals: 2.5, 3.5) | | workaholic.status | Check remaining time | | workaholic.checkout | End task - only succeeds when timer = 0 | | workaholic.stop | Stop workaholic mode early |

Installation

Prerequisites

  • OpenCode with plugin support

Install Plugin

Use Bunx

bunx opencode-workaholic@latest install

Manual Installation

# Clone or copy the plugin to your plugins directory
# Then add to your OpenCode config

Edit ~/.config/opencode/opencode.json:

{
  "plugins": ["opencode-workaholic"]
}

Or use local path:

{
  "plugins": ["file:///<path-to>/opencode-workaholic"]
}

Build

cd opencode-workaholic
bun install
mise run build

Development

  • mise run build - Build the plugin
  • mise run test - Run tests
  • mise run lint - Lint code
  • mise run lint:fix - Fix linting issues
  • mise run format - Format code with Prettier

License

MIT License. See the LICENSE file for details.

Acknowledgments