---
description: "Enforces naming, frontmatter, and organization standards for all .cursor/ configuration files"
globs: [".cursor/**"]
---
# .cursor/ Configuration Standards

## Rule Files (.cursor/rules/)
- Kebab-case filenames, `.mdc` extension
- Must have YAML frontmatter with `description` + either `alwaysApply` or `globs`
- Keep under 500 lines; split large rules into multiple focused files

## Skill Files (.cursor/skills/*/SKILL.md)
- Must have `name` and `description` in frontmatter
- Body under 500 lines; use `references/` directory for overflow content
- Templates live under their skill's `templates/` directory

## Command Files (.cursor/commands/)
- Plain markdown, no frontmatter
- Kebab-case filenames

## Agent Files (.cursor/agents/)
- Must have `name` and `description` in frontmatter

## Security
- All `.cursor/` files must be scanned for hidden Unicode before committing (see cursor-security.mdc)

## Quality Thresholds (canonical reference)

All rules and skills must reference the single source of truth below. Do NOT restate different numeric thresholds in individual rule or skill files.

| Concern | Threshold | Enforcement |
|---------|-----------|-------------|
| Test coverage on business logic | 75% | Aim (warn below); 100% on critical paths |
| Test scenario coverage (vs AC + restrictions) | 75% | Blocking in test-spec Phase 1 and Phase 3 |
| CI coverage gate | 75% | Fail build below |
| Lint errors (Critical/High) | 0 | Blocking pre-commit |
| Code-review auto-fix | Low + Medium (Style/Maint/Perf) + High (Style/Scope) | Critical and Security always escalate |

When a skill or rule needs to cite a threshold, link to this table instead of hardcoding a different number.
