Shared rules, commands, and skills for AI coding assistants. Uses rulesync to generate configuration for multiple targets from a single source.
- Cursor
- Kilocode
- Claude Code
- Codex CLI
.rulesync/ # Source of truth - edit files here
rules/overview.md # Project rules and guidelines
commands/prime.md # Prime command
commands/review.md # Code review command
subagents/planner.md # Planner subagent
skills/code-review/SKILL.md # Code review skill
.aiignore # Files for AI to ignore
.claude/settings.json # Claude Code settings (not managed by rulesync)
rulesync.jsonc # Configuration
sync-rules.js # Generate script (cross-platform)
Node.js is required to run the sync script.
macOS:
brew install nodeWindows:
scoop install nodejsEdit files in .rulesync/, then regenerate:
node sync-rules.jsTo initialize rulesync in a new project:
npx rulesync initThen copy the .rulesync/ contents from this repo as a starting point.
| Target | Output |
|---|---|
| AGENTS.md | AGENTS.md |
| Cursor | AGENTS.md, .cursor/commands/, .cursor/skills/, .cursorignore |
| Kilocode | .kilocode/rules/, .kilocode/workflows/, .kilocode/skills/, .kilocodeignore |
| Claude Code | .claude/CLAUDE.md, .claude/commands/, .claude/agents/, .claude/skills/, .claudeignore |
| Codex CLI | AGENTS.md, .codex/skills/ (via sync script) |
The script runs npx rulesync generate and performs customization steps.
- AGENTS.md
- I prefer
AGENTS.mdover tool-specific rules subdirectories (e.g.,.cursor/rules/) since it's a universal format supported by multiple tools. - The sync script removes
.cursor/rules/after generation because Cursor readsAGENTS.mdas a fallback.
- I prefer
- Codex skills
- rulesync doesn't currently support codex project skills, so the script copies the skills to
.codex/skills/.
- rulesync doesn't currently support codex project skills, so the script copies the skills to
Edit .rulesync/rules/overview.md to change project guidelines.
Add .md files to .rulesync/commands/ with frontmatter:
---
description: 'Command description'
targets: ["*"]
---Create a directory in .rulesync/skills/<name>/ with a SKILL.md file:
---
name: skill-name
description: What the skill does
targets: ["*"]
claudecode:
allowed-tools: ["Read", "Grep", "Glob", "Bash"]
---Add .md files to .rulesync/subagents/ with frontmatter:
---
name: subagent-name
description: What the subagent does
targets: ["*"]
claudecode:
model: inherit
---.claude/settings.json contains Claude Code-specific configuration (not managed by rulesync):
- Permissions: deny list for dangerous commands, allow list for common dev tools
- Environment: extended timeouts for long-running commands
- Sandbox: enabled with Docker socket access
- Status line: token usage via ccusage