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

@mohitagw15856/agent-rosetta

v0.1.0

Published

One set of rules, every coding agent. Capability matrix + rules converter for AI coding agents.

Downloads

100

Readme

tools axes deps

You run three coding agents. You maintain three copies of the same rules by hand.

A capability matrix for AI coding agents — what each one calls its rules file, where MCP config lives, which support skills, subagents, hooks and headless runs. Plus a converter, because the answer to "we added Cursor" should not be copy-paste.

npx github:mohitagw15856/agent-rosetta convert CLAUDE.md --to cursor,copilot,codex-cli
npx github:mohitagw15856/agent-rosetta diff claude-code cursor

Runs straight from this repo — nothing published to npm yet, nothing to install.


The matrix

| Capability | Aider | Claude Code | Cline | Codex CLI | GitHub Copilot | Cursor | Gemini CLI | OpenCode | Windsurf | | --- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | | Project rules file | 🟡 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Nested / scoped rules | ❌ | ✅ | 🟡 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 | | User-level rules | ✅ | ✅ | ✅ | ✅ | 🟡 | ✅ | ✅ | ✅ | ✅ | | AGENTS.md | ❌ | 🟡 | 🟡 | ✅ | 🟡 | 🟡 | 🟡 | ✅ | 🟡 | | MCP servers | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Skills | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | 🟡 | 🟡 | ❌ | | Subagents | ❌ | ✅ | ❌ | ❌ | ❌ | 🟡 | 🟡 | ✅ | ❌ | | Hooks | 🟡 | ✅ | 🟡 | ❌ | ❌ | 🟡 | 🟡 | ✅ | ❌ | | Custom commands | ✅ | ✅ | ✅ | 🟡 | ✅ | 🟡 | ✅ | ✅ | ✅ | | Headless / CI mode | ✅ | ✅ | 🟡 | ✅ | 🟡 | 🟡 | ✅ | ✅ | ❌ |

✅ full · 🟡 partial · ❌ none — the detail behind each cell is below, because "supports MCP" without the config path has never once helped anyone.

What each capability means

| Capability | The question it answers | | --- | --- | | Project rules file | What file holds repo-wide instructions, and where does it live? | | Nested / scoped rules | Can a subdirectory carry its own rules that apply only within it? | | User-level rules | Is there a personal, machine-wide instruction file outside the repo? | | AGENTS.md | Does it read the emerging cross-tool AGENTS.md convention? | | MCP servers | Can it connect to Model Context Protocol servers, and from which config file? | | Skills | Progressive-disclosure instruction bundles loaded on demand. | | Subagents | Can it delegate to separately-configured agents with their own context? | | Hooks | Can you run your own code on tool-call or lifecycle events? | | Custom commands | User-defined shortcuts that expand into a prompt. | | Headless / CI mode | Can it run non-interactively in a pipeline? |


Aider

Open source · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | 🟡 | CONVENTIONS.md loaded via --read, or read: in .aider.conf.yml | | Nested / scoped rules | ❌ | Files are added to context explicitly; no automatic directory scoping | | User-level rules | ✅ | ~/.aider.conf.yml | | AGENTS.md | ❌ | No automatic convention file; point --read at whatever you use | | MCP servers | ❌ | No MCP support | | Skills | ❌ | No skills equivalent | | Subagents | ❌ | Single-agent model | | Hooks | 🟡 | Lint and test commands run automatically after edits | | Custom commands | ✅ | Extensive built-in slash commands; not user-defined files | | Headless / CI mode | ✅ | aider --message "prompt" --yes scripts cleanly |

⬆ back to the matrix

Claude Code

Anthropic · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | CLAUDE.md at the repo root | | Nested / scoped rules | ✅ | CLAUDE.md in any subdirectory, loaded when working in that tree | | User-level rules | ✅ | ~/.claude/CLAUDE.md | | AGENTS.md | 🟡 | Reads AGENTS.md when present; CLAUDE.md is the native name | | MCP servers | ✅ | .mcp.json in the repo, or claude mcp add | | Skills | ✅ | .claude/skills/<name>/SKILL.md, with frontmatter description for triggering | | Subagents | ✅ | .claude/agents/*.md, each with its own model, tools and prompt | | Hooks | ✅ | .claude/settings.json — pre/post tool-use and lifecycle events | | Custom commands | ✅ | .claude/commands/*.md | | Headless / CI mode | ✅ | claude -p "prompt" for non-interactive runs |

⬆ back to the matrix

Cline

Cline · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | .clinerules/ directory, or a single .clinerules file | | Nested / scoped rules | 🟡 | Rules are toggled per-file rather than scoped by directory | | User-level rules | ✅ | ~/Documents/Cline/Rules/ | | AGENTS.md | 🟡 | AGENTS.md support has been added alongside .clinerules/ | | MCP servers | ✅ | cline_mcp_settings.json, plus an in-app MCP marketplace | | Skills | ❌ | No skills equivalent | | Subagents | ❌ | Plan and Act modes rather than separate agents | | Hooks | 🟡 | Auto-approve policies rather than general hooks | | Custom commands | ✅ | Workflow files invoked as slash commands | | Headless / CI mode | 🟡 | A CLI exists; the extension is the primary surface |

⬆ back to the matrix

Codex CLI

OpenAI · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | AGENTS.md at the repo root — Codex is the origin of the convention | | Nested / scoped rules | ✅ | AGENTS.md in subdirectories, merged nearest-first | | User-level rules | ✅ | ~/.codex/AGENTS.md | | AGENTS.md | ✅ | Native format | | MCP servers | ✅ | ~/.codex/config.toml | | Skills | ❌ | No skills equivalent | | Subagents | ❌ | Single-agent model | | Hooks | ❌ | Sandbox and approval policies rather than user-defined hooks | | Custom commands | 🟡 | Built-in slash commands; custom prompts via ~/.codex/prompts/ | | Headless / CI mode | ✅ | codex exec "prompt" for non-interactive runs |

⬆ back to the matrix

GitHub Copilot

GitHub · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | .github/copilot-instructions.md | | Nested / scoped rules | ✅ | .github/instructions/*.instructions.md with an applyTo glob in frontmatter | | User-level rules | 🟡 | Personal instructions configured in GitHub settings, not a repo file | | AGENTS.md | 🟡 | AGENTS.md is honoured by the coding agent; the .github/ files are the documented path | | MCP servers | ✅ | .vscode/mcp.json in VS Code; separate configuration for the coding agent | | Skills | ❌ | No skills equivalent | | Subagents | ❌ | Single-agent model | | Hooks | ❌ | No user-defined hook surface | | Custom commands | ✅ | .github/prompts/*.prompt.md | | Headless / CI mode | 🟡 | The coding agent runs on GitHub against issues and PRs rather than as a local CLI |

⬆ back to the matrix

Cursor

Anysphere · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | .cursor/rules/*.mdc — frontmatter carries description, globs, alwaysApply | | Nested / scoped rules | ✅ | .cursor/rules/ in a subdirectory scopes to that tree; globs scopes by path pattern | | User-level rules | ✅ | User Rules in Settings, not a file on disk | | AGENTS.md | 🟡 | AGENTS.md is read; .cursor/rules/ is the native mechanism | | MCP servers | ✅ | .cursor/mcp.json per project, or global in settings | | Skills | ❌ | No progressive-disclosure equivalent; rules are always-on or glob-scoped | | Subagents | 🟡 | Background agents run tasks independently, but are not per-repo configured personas | | Hooks | 🟡 | Limited event hooks; not a general pre/post tool-call interception surface | | Custom commands | 🟡 | .cursor/commands/ exists; less central than in CLI-first tools | | Headless / CI mode | 🟡 | Background and CLI agents exist; not a first-class scriptable pipeline mode |

⬆ back to the matrix

Gemini CLI

Google · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | GEMINI.md at the repo root | | Nested / scoped rules | ✅ | GEMINI.md in subdirectories, hierarchically merged | | User-level rules | ✅ | ~/.gemini/GEMINI.md | | AGENTS.md | 🟡 | Configurable context filename; GEMINI.md is the default | | MCP servers | ✅ | .gemini/settings.json or ~/.gemini/settings.json | | Skills | 🟡 | Extensions bundle tools and context, closer to plugins than to on-demand skills | | Subagents | 🟡 | Subagent support exists; less configurable than a per-repo agent definition | | Hooks | 🟡 | Extension and tool-confirmation surfaces rather than general hooks | | Custom commands | ✅ | .gemini/commands/*.toml | | Headless / CI mode | ✅ | gemini -p "prompt" |

⬆ back to the matrix

OpenCode

SST · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | AGENTS.md at the repo root | | Nested / scoped rules | ✅ | AGENTS.md in subdirectories | | User-level rules | ✅ | ~/.config/opencode/AGENTS.md | | AGENTS.md | ✅ | Native format | | MCP servers | ✅ | opencode.json | | Skills | 🟡 | Plugin system covers some of the same ground | | Subagents | ✅ | Agent definitions with their own model and tool set | | Hooks | ✅ | Plugin hooks on tool and session events | | Custom commands | ✅ | Custom commands in the config directory | | Headless / CI mode | ✅ | opencode run "prompt" |

⬆ back to the matrix

Windsurf

Cognition · docs · ⚠️ unverified

| Capability | | Detail | | --- | :-: | --- | | Project rules file | ✅ | .windsurf/rules/*.md (legacy .windsurfrules still read) | | Nested / scoped rules | 🟡 | Activation modes (always-on, glob, manual, model-decided) rather than directory nesting | | User-level rules | ✅ | Global rules configured in the app | | AGENTS.md | 🟡 | AGENTS.md support has been added; the native path is .windsurf/rules/ | | MCP servers | ✅ | ~/.codeium/windsurf/mcp_config.json | | Skills | ❌ | Workflows are closer to saved procedures than to on-demand skills | | Subagents | ❌ | Single-agent model | | Hooks | ❌ | No user-defined hook surface | | Custom commands | ✅ | .windsurf/workflows/*.md, invoked as slash commands | | Headless / CI mode | ❌ | IDE-bound |

⬆ back to the matrix


Converting rules between tools

# one rules file to several targets
npx github:mohitagw15856/agent-rosetta convert CLAUDE.md --to cursor,copilot

# see what a conversion would write, without writing it
npx github:mohitagw15856/agent-rosetta convert CLAUDE.md --to cursor --dry-run

# what does tool A have that tool B does not?
npx github:mohitagw15856/agent-rosetta diff claude-code cursor

The converter handles the parts that are mechanical and easy to get wrong: the target path, and the frontmatter each format requires (Cursor .mdc wants description/globs/alwaysApply; Copilot .instructions.md wants applyTo). It does not rewrite your prose, and it says so in a header comment on every file it produces — a converted rules file is a starting point, not a finished one.

What does not convert

  • Skills have no equivalent in most tools. Converting one flattens it into always-on rules, which is usually wrong.
  • Hooks are per-tool executable config, not instructions. There is nothing to translate.
  • MCP config is close to portable but the file path and schema differ per tool. Listed above; not auto-converted.
  • Subagent definitions assume a delegation model most tools do not have.

A note on AGENTS.md

AGENTS.md is the closest thing to a cross-tool standard, and the column above is the honest picture: several tools read it, most still prefer their own filename, and "reads it" covers a range from full parity to a fallback when the native file is missing. If you are starting fresh, AGENTS.md is the best single bet — and this matrix is how you check whether that bet still holds for the tools your team actually uses.

Contributing

One file per tool in tools/. Every tool must answer every axis — a missing cell fails CI, because an incomplete matrix is worse than no matrix. See CONTRIBUTING.md.

Licence

Code MIT, data CC0.

Generated by scripts/build.mjs. Do not edit this file directly.