install-rules · git:20260404.1c6641c · 2026-04-04 · sha256 88227289e1aed185
install-rules git:20260404.1c6641cA
Immutable. This exact content is served forever at /api/v1/blob/88227289e1aed185.
--- name: install-rules description: "Install plugin rules into project .claude/rules/ for persistent use without plugin loaded" allowed-tools: Read, Grep, Glob, Write, AskUserQuestion, Bash(mkdir:*), Bash(diff:*), Bash(git:*), Bash(ls:*) --- # Install Rules ## Trigger - Keywords: install rules, setup rules, copy rules, install-rules ## When NOT to Use - Installing hooks (use `/install-hooks`) - Installing scripts (use `/install-scripts`) - Full project setup (use `/project-setup`) ## Workflow ``` Phase 1: Locate plugin rules dir Phase 2: Enumerate *.md Phase 3: Determine install set (--all, specific names, or interactive) Phase 3.5: Read manifest + classify (new/unchanged/modified/conflict) Phase 4: Install (smart merge with manifest tracking) Phase 4.5: Backfill CLAUDE.md references Phase 5: Output report ``` ### Arguments ``` $ARGUMENTS ``` | Argument | Description | |----------|-------------| | `--all` | Install all available rules | | `--list` | List available rules without installing | | `--dry-run` | Show what would be installed, no changes | | `--force` | Overwrite modified rules | | `--legacy-strategy <strategy>` | Handle pre-manifest installs (ask/overwrite/skip) | | `--customize <rule>` | Customize a project-override rule | | `rule-names...` | Specific rules to install | ### Manifest Tracking Uses `.sd0x/install-state.json` to track installed file hashes. Smart merge logic: | Status | Action | |--------|--------| | New (not installed) | Copy | | Unchanged (hash match) | Auto-upgrade | | Modified by user | Skip (preserve edits) | | Conflict (both changed) | AskUserQuestion | ### Customize Mode (`--customize`) Manages `*-project.md` companion files for user overrides: | Sub-flag | Action | |----------|--------| | (none) | Show section status | | `--add-section` | Add a new section | | `--update-section <name>` | Update specific section | | `--reset` | Regenerate from template | ## Output ```markdown ## Install Rules Report | Rule | Status | Action | |------|--------|--------| | auto-loop.md | unchanged | auto-upgraded | | testing.md | user-modified | skipped | Installed: N | Skipped: M | Conflicts: K ```