Ruler — apply the same rules to all coding agents
# Add to your Claude Code skills
git clone https://github.com/intellectronica/rulerLast scanned: 4/23/2026
{
"issues": [
{
"type": "npm-audit",
"message": "ajv: ajv has ReDoS when using `$data` option",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "flatted: flatted vulnerable to unbounded recursion DoS in parse() revive phase",
"severity": "high"
},
{
"type": "npm-audit",
"message": "handlebars: Handlebars.js has JavaScript Injection via AST Type Confusion by tampering @partial-block",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "js-yaml: js-yaml has prototype pollution in merge (<<)",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "minimatch: minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
}
],
"status": "FAILED",
"scannedAt": "2026-04-23T06:06:31.594Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
Beta Research Preview
- Please test this version carefully in your environment
- Report issues at https://github.com/intellectronica/ruler/issues
Managing instructions across multiple AI coding tools becomes complex as your team grows. Different agents (GitHub Copilot, Claude, Cursor, Aider, etc.) require their own configuration files, leading to:
Ruler solves this by providing a single source of truth for all your AI agent instructions, automatically distributing them to the right configuration files. With support for nested rule loading, Ruler can handle complex project structures with context-specific instructions for different components.
.ruler/ directory using Markdown files.ruler/ directories for context-specific instructionsruler.toml.gitignore Automation: Keeps generated agent config files out of version control automatically| Agent | Rules File(s) | MCP Configuration / Notes | Skills Support / Location | Subagents Support / Location |
| ---------------------- | ---------------------------------------------- | ------------------------------------------------ | ------------------------- | ---------------------------- |
| AGENTS.md | AGENTS.md | (pseudo-agent ensuring root AGENTS.md exists) | - | - |
| GitHub Copilot | AGENTS.md | .vscode/mcp.json | .claude/skills/ | .github/agents/ |
| Claude Code | CLAUDE.md | .mcp.json | .claude/skills/ | .claude/agents/ |
| OpenAI Codex CLI | AGENTS.md | .codex/config.toml | .codex/skills/ | .codex/agents/ (.toml) |
| Pi Coding Agent | AGENTS.md | - | .pi/skills/ | - |
| Jules | AGENTS.md | - | - | - |
| Cursor | AGENTS.md | .cursor/mcp.json | .cursor/skills/ | .cursor/agents/ |
| Windsurf | AGENTS.md | .windsurf/mcp_config.json | .windsurf/skills/ | - |
| Cline | .clinerules | - | - | - |
| Crush | CRUSH.md | .crush.json | - | - |
| Amp | AGENTS.md | - | .agents/skills/ | - |
| Antigravity | .agent/rules/ruler.md | - | .agent/skills/ | - |
| Amazon Q CLI | .amazonq/rules/ruler_q_rules.md | .amazonq/mcp.json | - | - |
| Aider | AGENTS.md, .aider.conf.yml | .mcp.json | - | - |
| Firebase Studio | .idx/airules.md | .idx/mcp.json | - | - |
| Open Hands | .openhands/microagents/repo.md | config.toml | - | - |
| Gemini CLI | AGENTS.md | .gemini/settings.json | .gemini/skills/ | - |
| Junie | .junie/guidelines.md | .junie/mcp/mcp.json | .junie/skills/ | - |
| AugmentCode | .augment/rules/ruler_augment_instructions.md | - | - | - |
| Kilo Code | AGENTS.md | .kilocode/mcp.json | .claude/skills/ | - |
| OpenCode | AGENTS.md | opencode.json | .opencode/skills/ | - |
| Goose | .goosehints | - | .agents/skills/ | - |
| Qwen Code | AGENTS.md | .qwen/settings.json | - | - |
| RooCode | AGENTS.md | .roo/mcp.json | .roo/skills/ | - |
| Zed | AGENTS.md | .zed/settings.json (project root, never $HOME) | - | - |
| Trae AI | .trae/rules/project_rules.md | - | - | - |
| Warp | WARP.md | - | - | - |
| Kiro | .kiro/steering/ruler_kiro_instructions.md | .kiro/settings/mcp.json | - | - |
| Firebender | firebender.json | firebender.json (rules and MCP in same file) | - | - |
| Factory Droid | AGENTS.md | .factory/mcp.json | .factory/skills/ | - |
| Mistral Vibe | AGENTS.md | .vibe/config.toml | .vibe/skills/ | - |
| JetBrains AI Assistant | .aiassistant/rules/AGENTS.md | - | - | - |
Requires Node.js ^20.19.0 || ^22.12.0 || >=23.
Global Installation (Recommended for CLI use):
npm install -g @intellectronica/ruler
Using npx (for one-off commands):
npx @intellectronica/ruler apply
ruler init.ruler/ directory.ruler/AGENTS.md: The primary starter Markdown file for your rules.ruler/ruler.toml: The main configuration file for Ruler (now contains sa