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

@codixus/mt

v0.3.4

Published

Cross-platform skill manager + dev shortcut CLI

Readme

@codixus/mt

Cross-platform skill manager + dev shortcut CLI for Claude Code, Codex, Gemini CLI, Cursor and other AI coding agents.

Install

npm i -g @codixus/mt
# or
bun add -g @codixus/mt

Requires Bun ≥1.0 (the CLI ships as .ts and runs through bun).

Skill manager

Subscribe to skill repos (public or private), install only what you need, sync across machines.

mt login                                                       # save GitHub PAT to ~/.mt/auth.json (chmod 600)
mt add anthropics/skills --path "skills/frontend-design"       # cherry-pick a single skill
mt add me/private-skills --path "skills/*" --exclude "cxs-*"   # subscribe to a whole repo with filters
mt sync                                                         # fetch + reconcile skills + shortcuts (idempotent)
mt list                                                         # show configured + installed
mt remove <name>                                                # remove + reconcile orphans

Two scopes, auto-detected by cwd:

  • Global (~/.mt/): installs to ~/.claude/, ~/.codex/, ~/.gemini/, etc.
  • Local (<project>/.mt/): installs only to that project's .claude/ etc.

Use --global or --local to override detection.

Shell shortcuts

Cross-platform alias manager (bash, zsh, fish, PowerShell 7+).

mt shortcuts add b "bun install"
mt shortcuts add bt "bun test"
mt shortcuts add mkcd "mkdir -p {1} && cd {1}"
mt shortcuts sync                                               # one-time: wires up your rc file
exec zsh
b foo                                                           # → bun install foo
mkcd test/dir                                                   # → mkdir -p test/dir && cd test/dir

Templated args use {N} / {@} placeholders; mt translates per shell.

Built-in utilities

mt kp 3000 5173               # kill processes on ports (cross-platform)
mt sv ./public -p 8080        # serve directory as static web server
mt open .                     # cross-platform Finder/Explorer/xdg-open
mt rimraf node_modules dist
mt compress *.png             # lossless image compress in-place (with .bak)
mt convert webp *.png         # batch format conversion (lossless quality 100)

Supported image formats: PNG, JPG/JPEG, WebP, AVIF.

Linter

mt lint is a generic project linter — works in any project, not skill-specific. ~35 rules covering things ESLint doesn't: secrets (AWS/JWT/Stripe/GitHub PATs), AI-slop phrases, Turkish diacritics, typography (smart quotes, em-dash, mojibake), design tokens (off-scale px/rem, raw hex, magic z-index), markdown structure, cross-platform footguns, and i18n locale sync.

mt lint                       # lint staged files
mt lint --all                 # lint all tracked files
mt lint --fix                 # apply safe auto-fixes
mt lint init                  # write .mt/lint.json (auto-detects project type)
mt lint list-rules            # show all rules + severity
mt lint explain <ruleId>      # show rule detail
mt lint install-hook          # install pre-commit hook

Claude Code hooks

Built-in Claude Code hooks ship with mt and are merged into ~/.claude/settings.json on mt sync. Pick which ones you want via ~/.mt/hooks.json (include / exclude over predefined ids).

mt setup --profile mt --global    # writes ~/.mt/hooks.json with include: ["*"]
mt hooks list                     # show built-in hooks + enabled state
mt hooks enable  <id>             # turn a hook on
mt hooks disable <id>             # turn a hook off
mt hooks sync                     # reconcile ~/.claude/settings.json now

Shipped hooks:

| id | what it does | |---|---| | block-claude-coauthor | Blocks git commit Bash calls whose message contains a Claude/Anthropic co-author trailer. | | block-em-en-dash | Blocks Write/Edit/MultiEdit whose new content contains an em-dash or en-dash (AI-typography tell). The hook self-exempts edits to its own source under hooks/pretooluse/block-em-en-dash.{ts,partial.json}; for other files that legitimately contain those characters, run mt hooks disable block-em-en-dash first. |

The merge is idempotent: managed handlers are matched by absolute script path under ~/.agents/hooks/, so user-added entries in settings.json are preserved untouched. Hooks are global only.

Skill authoring

If you maintain a skills repo, these helpers operate on the repo's skills/, commands/, and agents/ folders:

mt skills validate            # check SKILL.md frontmatter + structure
mt skills new <name>          # scaffold a new skill (SKILL.md template)
mt skills list                # list skills + commands in this repo

Self-update

mt upgrade                    # re-install @codixus/mt@latest via your package manager

Configuration

mt uses a .mt/ config folder (npm-style global vs local).

| File | Purpose | Scope | |---|---|---| | skills.json | skill subscriptions + cherry-picks | global + local | | shortcuts.json | shell aliases | global only | | hooks.json | Claude Code hook include/exclude | global only | | lint.json | lint rules + ignore patterns | global + local | | manifest.json | mt's record of installed files (don't edit) | global + local | | auth.json | GitHub token (chmod 600) | global only |

Auth chain (in order): ~/.mt/auth.json$MT_GITHUB_TOKEN$GITHUB_TOKENgh auth token. mt never embeds tokens; it delegates to whatever auth you already have.

License

MIT.