Write it once. morf converts and installs your agents, skills, rules, prompts, hooks and MCP servers into every AI coding tool — each in its native format.
$ npx morf install <git-url>
A skill, an agent, a rule — each tool wants a different shape, a different folder, different frontmatter. Today you copy files around and hand-fix each one, then do it again for the next tool. morf is the translator: one command, converted for every tool you use.
Others copy your file as-is and hope it works. morf rewrites the frontmatter, permissions and paths into each tool's own format. Pick a target to see what morf produces:
--- name: bug-finder description: Finds bugs tools: [read, grep, bash] model: sonnet --- # Bug Finder Reviews diffs for logic errors and edge cases…
Frontmatter, permissions, event names and paths are rewritten per tool — the only manager that truly adapts agents.
Claude, Cursor, Kilo, Copilot, Windsurf and OpenCode — install to one, several, or all at once.
Skills, agents, rules, prompts, hooks and MCP servers. Not just rules, not just skills — all of it.
No manifest to learn. morf install <url> and you're done. A manifest is optional, never required.
GitHub, GitLab, or any git URL — public or private. Install by URL or by short name from the registry.
MIT licensed, zero runtime dependencies. Auditable, forkable, and yours.
morf reads each primitive once, then emits a native version for every target you asked for.
| primitive | claude | cursor | kilo | copilot | windsurf | opencode |
|---|---|---|---|---|---|---|
| Skills | ↝ | ↝ | ↝ | ↝ | ↝ | ↝ |
| Agents | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Rules | ✓ | ✓ | ↝ | ✓ | ✓ | ↝ |
| Prompts | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Hooks | ✓ | — | ✓ | — | ✓ | ✓ |
| MCP | ↝ | ↝ | ↝ | ↝ | ↝ | ↝ |
$ morf install <url>$ morf search <query>$ morf list$ morf update --all$ morf publish$ morf config default <tool>| multi-tool | converts agents | all primitives | zero-config | any git host | |
|---|---|---|---|---|---|
| morf | ✓ | ✓ | ✓ | ✓ | ✓ |
| APM | ✓ | — | ✓ | — | ✓ |
| Ruler | ✓ | — | — | ✓ | ✓ |
| copy-paste by hand | — | — | — | — | ✓ |
Ruler does rules. APM does packaging. morf does all of it — and it's the only one that actually converts your agents.
$ npx morf install <git-url>clone & convert into every detected tool$ morf config default <tool>set your primary target once$ morf listsee what's installed, everywhereNo. morf reads your source repo and writes converted copies into each tool's directory. Your source is never modified.
morf marks it and skips only that piece — everything else still installs. For example, a tool without a hooks system shows "not supported" for hooks and installs the rest normally.
No. morf install <url> works with zero config. A default target and optional manifest exist for convenience, but nothing is required to start.
Any. GitHub, GitLab, self-hosted — public or private. Install by full URL, or by short name once a repo is in the registry.
No. If morf detects local changes to an installed item, it skips it and tells you to re-run with --force if you really want to overwrite.
Yes — open source, MIT licensed, zero runtime dependencies. Use it, fork it, contribute back.
morf sync for reproducible setupsmorf publish flow$ npx morf install <git-url>