Bootstrap agent-agnostic AI configuration for any repository.
Every AI coding agent reads instructions from its own location:
| Agent | Instructions file | Rules directory |
|---|---|---|
| Claude Code | CLAUDE.md |
.claude/rules/ |
| Cursor | .cursorrules |
.cursor/rules/ |
Maintaining the same content across multiple files is tedious and error-prone.
Keep a single source of truth — AGENTS.md and .agents/ — and let each agent read from it via symlinks.
your-repo/
├── .agents/ # source of truth (committed to git)
│ ├── rules/
│ │ ├── coding.md
│ │ └── testing.md
│ └── skills/
│ └── deploy.md
├── AGENTS.md # project instructions (committed to git)
│
├── CLAUDE.md → AGENTS.md (symlink, gitignored)
├── .cursorrules (gitignored)
├── .claude/
│ ├── rules/ → ../.agents/rules (symlink, gitignored)
│ └── skills/ → ../.agents/skills (symlink, gitignored)
├── .cursor/
│ ├── rules/ → ../.agents/rules (symlink, gitignored)
│ └── skills/ (gitignored)
└── .gitignore # auto-updated by agentsify
Committed to git: AGENTS.md, .agents/
Gitignored (generated by agentsify): CLAUDE.md, .cursorrules, .claude/rules, .claude/skills, .cursor/rules, .cursor/skills
npx agentsify # setup all agents
npx agentsify --claude # setup only Claude Code
npx agentsify --cursor # setup only Cursor
npx agentsify check # verify symlinks are correctRun agentsify once after cloning a repository, like npm install.
| Flag | Description |
|---|---|
--claude |
Setup only Claude Code |
--cursor |
Setup only Cursor |
--all |
Setup all agents (default) |
--force |
Overwrite existing non-symlink files (backs up to .bak) |
--no-generate |
Skip AGENTS.md generation |
If the repo already has a CLAUDE.md (not a symlink) and no AGENTS.md, the tool will:
- Copy
CLAUDE.mdcontent intoAGENTS.md - Replace
CLAUDE.mdwith a symlink toAGENTS.md
On Windows, directory symlinks are created as junctions (no admin rights required). File symlinks (CLAUDE.md) require Developer Mode or administrator privileges.
- Creates
.agents/rules/and.agents/skills/if they don't exist - Adds generated paths to
.gitignore - Generates
AGENTS.md(or migrates from existingCLAUDE.md) - Creates symlinks for each agent:
- Claude Code:
CLAUDE.md → AGENTS.md,.claude/rules → .agents/rules,.claude/skills → .agents/skills - Cursor:
.cursor/rules → .agents/rules
- Claude Code: