@bonesofspring/ai-rules
v0.2.28
Published
Presets of Cursor, Claude, Mavis, and OpenCode rules/commands for Revy Ross personal use
Downloads
495
Maintainers
Readme
@bonesofspring/ai-rules
Presets for Cursor, Claude Code, Mavis (MiniMax mcode), and OpenCode. Node 18+.
npx @bonesofspring/ai-rules init multi --preset next
npx @bonesofspring/ai-rules clean cursor # never deletes .ai.local/Run init from the app root (--cwd if needed). Default --preset is next. Forms: init cursor --preset next, init cursor next, init cursor. Global: npm i -g @bonesofspring/ai-rules.
init overwrites matching files. MCP is the exception: mcpServers is merged when the existing file is valid JSON (extra servers kept; shipped keys updated; nested env/headers on shipped keys kept unless the preset defines them). Invalid JSON is backed up to *.bak.<iso> and replaced. Deleting a shipped server is not sticky — the next init restores it.
What init writes
| | Cursor | Claude | Mavis | OpenCode |
|---|--------|--------|-------|----------|
| Rules / commands / agents / skills / hooks | .cursor/** | .claude/** | .mavis/** | .opencode/** |
| Tool map | .cursor/AGENTS.md | .claude/CLAUDE.md | .mavis/AGENTS.md | .opencode/AGENTS.md |
| MCP | .cursor/mcp.json (merge) | .mcp.json (merge) | .mavis/mcp.json (merge) | opencode.json (merge) |
| Root agents | REPO_AGENTS.md → AGENTS.md (same file on all four) | | | |
| /task artifacts | .ai.local/team/ (shared; templates refreshed; tasks/<slug>/ never overwritten) | | | |
| Specs seed | docs/specs/ copied only if the directory is absent | | | |
Living exceptions: .ai.local/rules/ and .ai.local/conventions.md (init does not overwrite them). Overlay does not load .ai.local/team/** as rules.
clean <tool> removes only CLI-managed paths under that tool root. It does not wipe the whole .cursor/ / .claude/ tree, and it never deletes .ai.local/. Root AGENTS.md is removed only when no other tool install remains.
Mavis never writes ~/.minimax/**. OpenCode never writes ~/.config/opencode/**. Guides: docs/MAVIS.md, docs/OPENCODE.md.
Shared vs per-tool
Shared: stack semantics, root AGENTS.md, .ai.local/ overlay, /task slugs at .ai.local/team/tasks/<slug>/ (one status.json / metrics.json).
Per-tool: how the chain runs. Cursor auto-chains via hooks.json / subagentStop. Claude, Mavis, and OpenCode use bash .<tool>/hooks/chain-team-phases.sh after a producer receipt (Mavis/OpenCode: semi-auto).
init multi --preset <stack> installs every platform that lists the stack in releasedStacks (all 10 stacks on all four platforms). Commit the four trees, root AGENTS.md, and .ai.local/team/ templates if you want them in the clone.
Stacks
next · nuxt · svelte · ios-swift · android-kotlin · go · java · mcp-ts · php-hexagonal · php-laravel
npx @bonesofspring/ai-rules init multi --preset nuxtHelp: ai-rules --help.
Skills of note: write-adr (all except mcp-ts); spec-authoring / /spec-start; mockup-review and ux-design on UI stacks; react-performance (next), vue-performance (nuxt), svelte-performance (svelte).
Product specs and OpenSpec
docs/specs/** — consume (default), generate, or bootstrap via task-analyst + skill spec-authoring. Empty docs/specs/ before init skips the seed: delete the folder and re-init.
openspec/** is a separate tree owned by agent openspec-author (all stacks except mcp-ts). Not a substitute for docs/specs/.
Optional check: yarn check:product-specs <repo-root> (WARN) or --strict.
Contributing
- Layers:
presets/_shared/README.md - Guide:
docs/PRESET-CONTRIBUTION.md - Overlay:
docs/LOCAL-OVERLAY.md - Dogfood:
scripts/sync-dogfood-cursor.sh(and mavis/opencode siblings) — seeds.ai.local/team, preserves slugs - Gates:
yarn check:preset-structure
_shared is not an installable --preset.
MIT.
