Layered rulesync sources — company standards, project overrides, and personal tweaks — merged into a single .rulesync/ tree, then handed to rulesync generate.
Common layouts (see examples/):
1) Multi-folder (default init)
.rulesync.company/ → .rulesync.project/ → .rulesync.user/
(low ─────────────────────────── high)
2) Single project (no company tier)
.rulesync.src/ with unit-testing.md
unit-testing.user.md
.rulesync.user/ (optional; later layer wins)
3) Single folder + company/project/user sublayers
.rulesync.src/ with company / project / user suffixes
(see examples/single-src)
4) Package + local
@org/company-rules (npm) → .rulesync.project/ → .rulesync.user/
5) Cross-project path layer (e.g. personal global prefs)
.rulesync.company/ → .project/ → ../global (path) → .user/
(same `path` folder imported by multiple projects)
│ rulelayers generate
▼
.rulesync/ (merged, generated)
│ rulesync generate
▼
CLAUDE.md, .cursor/, …
Use this when an org wants shared AI rules that each repo can extend, and each developer can customize locally — without forking the whole ruleset.
- Node.js ≥ 20
- rulesync on PATH or as a project dependency (needed for full
generate, not for--merge-only)
# global
npm install -g rulelayers rulesync
# or project-local
npm install -D rulelayers rulesyncrulelayers init
# edit .rulesync.company / .rulesync.project / .rulesync.user
rulelayers generate
# 1) merges layers → .rulesync/
# 2) runs: rulesync generate --targets "*" --features "*"rulelayers generate --merge-only # only write .rulesync/
rulelayers generate --dry-run # preview without writing
rulelayers generate -v # verbose (includes omit reasons)| Topic | Doc |
|---|---|
Mental model & rulelayers.jsonc |
docs/configuration.md |
| Replace / extend / omit / merge rules | docs/patterns.md |
| Example layouts | examples/ |
| CLI, gitignore, CI | docs/reference.md |
| Contributing & publishing | docs/development.md |
MIT