Rules Bootstrap¶
Composes a project's .cursor/rules/ from the canonical global-to-project rules pipeline so new projects inherit the universal baseline with near-zero copy/paste.
When to use¶
- Starting a new project: "bootstrap rules for this project".
- Onboarding an existing project to the workspace conventions.
- Re-running after the global baseline has been updated.
- Verifying that a project's rules match the canonical pipeline.
What you produce¶
- Populated
.cursor/rules/directory in the target project. - A
.cursor/rules/_BOOTSTRAP_RECEIPT.mddocumenting the composition.
Procedure¶
- Locate or create the manifest. Look for
rules-manifest.yamlat the target project root. If absent, scaffold one by interviewing the user: - project name and description,
- data classification (
private_sensitive/internal/low_sensitive), - applicable stacks (any of
backend,frontend,data,infra), - global version (default:
latestfromshared/rules/global-baseline/), - any project overrides.
- Validate manifest against
shared/rules/bootstrap/manifest.schema.json. - Compose ordering — global → stacks → overrides, keeping numeric prefixes.
- Render to target — copy by default; symlink if manifest specifies
mode: symlinkand target is on the same FS. - Generate receipt — write
_BOOTSTRAP_RECEIPT.mdcapturing version, files, timestamp, requester. - Verify — rerun render in dry-run mode; the diff should be empty (idempotency).
- Run security checklist skill against the resulting
.cursor/rules/for SPB-13 attestation. - Verifier handoff — invoke
verifiersubagent to confirm the receipt matches reality.
Report template¶
# Rules Bootstrap — <project>
## Manifest
- global.version: <>
- stacks: <>
- overrides: <>
- mode: <copy|symlink>
- target: <path>
## Files written
- <list with source slice noted>
## Receipt
- _BOOTSTRAP_RECEIPT.md generated at <path>
## Verification
- idempotent rerun: <pass|fail>
- security checklist: <pass|partial|fail>
- verifier: <pass|fail>
Anti-patterns¶
- Don't manually duplicate global rules into the project. Always run the bootstrap.
- Don't create overrides that re-state the global rules; overrides are deltas only.
- Don't skip the receipt; future audits depend on it.
- Don't bootstrap into a non-empty
.cursor/rules/without confirmation from the user.
Compatibility¶
- Read access to this workspace's
shared/rules/. - Write access only to the target project's
.cursor/rules/directory. - No network egress.