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

@npow/oh-my-claude

v0.3.1

Published

The framework for Claude Code statuslines. 40+ plugins. Themes.

Downloads

63

Readme

oh-my-claude

Themes and plugins for Claude Code's status bar.

Claude Code has a statusline -- a bar pinned to the bottom of your terminal. It's blank by default. oh-my-claude gives it something to say.

oh-my-claude themes

npm version CI license node

Claude Code streams your session data (model, context usage, cost, git info) into the statusline as JSON. oh-my-claude picks it up, runs it through a pipeline of plugins -- small functions that each render one piece of the bar -- and writes styled output back. A theme is just a layout: which plugins, in what order, left or right aligned.

Some plugins show data straight: 42%, $2.41, main. Others get creative -- battle-log turns context usage into a dungeon crawl (⚔️ Boss Battle (85%)), garden grows an ASCII plant as you add lines of code, and coffee-cup drains over a 2-hour session. A few are just for fun (fortune-cookie, cat). Themes mix and match all of these.

| Your session | default | boss-battle | tamagotchi | |---|---|---|---| | 42% context | ██████░░░░ 42% | 🗡️ Mid Dungeon (42%) | (^.^) happy pet | | 85% context | ████████████░░ 85% | ⚔️ Boss Battle (85%) | (×_×)!! panicking pet | | 250 lines added | +250 | +250 gold | (🌿) growing garden | | 45min in | 45m 0s | 45m 0s | [█░░░] coffee half-empty |

Install

npm install -g @npow/oh-my-claude
omc install

That's it -- takes effect immediately, no restart needed.


Pick your vibe

omc theme tamagotchi

tamagotchi -- virtual pet, growing garden, draining coffee

tamagotchi theme

{ "theme": "tamagotchi" }

boss-battle -- dungeon crawl with weather and battle music

boss-battle theme

{ "theme": "boss-battle" }

danger-zone -- 3 hours in, $18 spent, everything on fire

danger-zone theme

{ "theme": "danger-zone" }

rpg -- D&D character sheet, speedrun timer, cat companion

rpg theme

{ "theme": "rpg" }

coworker -- fake Slack messages and fortune cookie wisdom

coworker theme

{ "theme": "coworker" }

narrator -- third-person text adventure with vibes

narrator theme

{ "theme": "narrator" }

default -- clean and informative, no config needed

default theme


Run npm run showcase to see all themes live in your terminal.


41 plugins, mix and match

Have fun while you wait

| Plugin | What it does | Example | |---------|--------------|---------| | tamagotchi | Virtual pet reacts to your session | (^.^) happy, (x_x) RIP at 95% context | | cat | A cat doing cat things | =^._.^= *sits on context window* | | vibe-check | One-word session mood | vibing, cooking, burning cash | | fortune-cookie | Rotating developer wisdom | "Weeks of coding can save hours of planning" | | narrator | Third-person text adventure | The walls close in... | | soundtrack | Music genre for the moment | lo-fi beats, boss battle music | | garden | ASCII plants grow as you code | (.) seed to (🌳) at 500 lines | | coffee-cup | Drains over a 2-hour session | [████] full to [ ] refill? | | horoscope | Daily coding horoscope | Mercury is in retrograde. Avoid force-pushing. | | coworker | Fake Slack reactions | @chad: 'ship it already' | | commit-msg | Suggested commit message | git commit -m "feat: rewrite the entire codebase" | | weather-report | Session as weather forecast | Clear Skies, Stormy at 85% context |

Gamify your session

| Plugin | What it does | Example | |---------|--------------|---------| | achievement | Unlockable badges | Centurion at 100 lines, Whale at $20 | | rpg-stats | D&D character sheet | Lv.9 STR:18 DEX:4 INT:11 WIS:18 CHA:0 | | speedrun | Timer + efficiency rating | 47:00 [C] | | streak | Consecutive-day streak | 🔥 7d streak | | battle-log | Session as dungeon crawl | Boss Battle (85%) +892 gold | | stock-ticker | Cost as stock price | $OMC ▲▲ $4.56 | | emoji-story | Growing emoji narrative | 📝✏️🏗️💰⏳ |

Stay productive

| Plugin | What it shows | Example | |---------|---------------|---------| | context-bar | Visual context progress bar | ██████░░░░░░░░░ 38% | | context-percent | Context usage as number | 38% | | context-tokens | Token count used/total | 84k/200k | | session-cost | Session cost in USD | $2.41 | | cost-budget | Cost vs budget | $3.50/$10.00 | | git-branch | Current branch | main | | git-status | Staged, modified, untracked | +2 ~1 ?3 | | lines-changed | Lines added/removed | +250 -23 | | smart-nudge | Contextual suggestions | 💡 /compact at 75%, 💡 commit? at 100 lines | | token-sparkline | Context history sparkline | ▁▂▃▄▅▆▇█ | | model-name | Current model | Opus | | directory | Working directory | myproject | | session-timer | Session duration | 25m 0s | | api-timer | API wait time | api 3m 40s | | vim-mode | Vim mode indicator | NORMAL | | version | Claude Code version | v2.1.34 |

Layout building blocks

| Plugin | Purpose | |---------|---------| | separator-pipe | Pipe between plugins | | separator-arrow | Powerline arrow separator | | separator-space | Whitespace | | flex-space | Right-alignment marker | | custom-text | Static text string | | output-style | Active output style |


Context bar changes color as it fills

  ██████░░░░░░░░░ 30%     ← green, you're fine
! █████████░░░░░░ 60%     ← yellow, heads up
- ████████████░░░ 80%     ← red, time to /compact

Cost tracking auto-detects your plan (Pro/Max) and warns at the right thresholds.


9 themes

Built-in layouts

default -- two lines, works everywhere:

 Opus myproject main +2 ~1                                    +83 -21 15m 0s
 ▓▓▓▓▓▓▓░░░░░░░░░░░░░ 35%                                         $1.23

minimal -- single line, text only:

 myproject · main +2 ~1                                       35% · $1.23

powerline -- Nerd Font icons and arrows:

 󰧩 Opus  ~/c/myproject  main +2 ~1                    +83 -21  15m 0s
 ███████░░░░░░░░ 35% 84k/200k                           $1.23 NORMAL

Personality themes

| Theme | Vibe | |-------|------| | tamagotchi | Pet, garden, coffee, vibes | | boss-battle | Dungeon crawl, weather, soundtrack | | rpg | D&D stats, speedrun, cat, horoscope | | coworker | Fake Slack messages, fortune cookies | | danger-zone | Everything on fire | | narrator | Third-person text adventure |

See screenshots above for each theme in action.


Write your own

No fork needed:

omc create my-plugin

Creates ~/.claude/oh-my-claude/plugins/my-plugin/plugin.js:

export const meta = {
  name: 'my-plugin',
  description: 'My custom plugin',
  requires: [],
  defaultConfig: {},
};

export function render(data, config) {
  return { text: 'Hello!', style: 'cyan' };
}

Add it to your theme and it takes effect immediately. Three rules: export meta, export render, return { text, style } or null.

Full data field reference: docs/plugin-contract.md

Share it: PR it into src/plugins/ or post your plugin.js anywhere -- others drop it in their plugins directory and go.


CLI

omc install               Interactive setup wizard
omc theme <name>          Switch theme (e.g. omc theme tamagotchi)
omc themes                List available themes
omc create <name>         Scaffold a new plugin
omc list                  List all 41 built-in plugins
omc validate              Check plugin contract compliance
omc uninstall             Remove from Claude Code

Requirements

  • Node 18+ (ships with Claude Code)
  • Zero npm dependencies

Contributing

PRs welcome. One file per plugin, export meta + render, handle nulls, run npm run validate.

License

MIT