Problem
`setup.sh` copies identical content to `CLAUDE.md`, `.cursorrules`, `.windsurfrules`, and `copilot-instructions.md` (in `.tool-configs/`). After setup, users may edit one file but forget to update the others, causing the tool configs to drift from each other.
What to do
Add a checker that compares the content of all tool config files that exist and flags when they differ. Could also add a command to re-sync them.
Checker approach:
- Find which tool config files exist in the project
- Compare their content
- Report a warning if any differ, showing which files are out of sync
Bonus: Add a `mex sync-configs` command (or a flag) that copies the content from the primary config to all others.
Where to look
- `src/drift/checkers/` — add a new checker file
- `src/drift/index.ts` — wire it into the check pipeline
- `.tool-configs/` — where the alternate configs live
Acceptance criteria
- Drifted tool configs produce a warning in `mex check`
- No false positive when only one tool config exists
- Add tests
Problem
`setup.sh` copies identical content to `CLAUDE.md`, `.cursorrules`, `.windsurfrules`, and `copilot-instructions.md` (in `.tool-configs/`). After setup, users may edit one file but forget to update the others, causing the tool configs to drift from each other.
What to do
Add a checker that compares the content of all tool config files that exist and flags when they differ. Could also add a command to re-sync them.
Checker approach:
Bonus: Add a `mex sync-configs` command (or a flag) that copies the content from the primary config to all others.
Where to look
Acceptance criteria