@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
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
mt add anthropics/skills --path "skills/frontend-design"
mt add me/private-skills --path "skills/*" --exclude "cxs-*"
mt sync
mt list
mt remove <name>
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
exec zsh
b foo
mkcd test/dir
Templated args use {N} / {@} placeholders; mt translates per shell.
Built-in utilities
mt kp 3000 5173
mt sv ./public -p 8080
mt open .
mt rimraf node_modules dist
mt compress *.png
mt convert webp *.png
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
mt lint --all
mt lint --fix
mt lint init
mt lint list-rules
mt lint explain <ruleId>
mt lint install-hook
Skill authoring
If you maintain a skills repo, these helpers operate on the repo's skills/, commands/, and agents/ folders:
mt skills validate
mt skills new <name>
mt skills list
Self-update
mt upgrade
Configuration
mt uses a .mt/ config folder (npm-style global vs local).
skills.json | skill subscriptions + cherry-picks | global + local |
shortcuts.json | shell aliases | 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_TOKEN → gh auth token. mt never embeds tokens; it delegates to whatever auth you already have.
License
MIT.