# project-discipline Policy skill that codifies four cross-project discipline rules so the same guarantees that hold in a tightly-maintained repo apply everywhere. ## When it triggers - **Session start** — when `CLAUDE.md` contains the line `follow project discipline` (added by `project-bootstrap` v1.5.0+). - **In-chat** — when the user says "use project discipline", "соблюди дисциплину", "проектные правила", or close variants. ## The four rules 1. **Project conventions over skill defaults.** `CLAUDE.md` / `.wiki/CLAUDE.md` / `.tasks/` override any other skill's defaults. Specs go to `.wiki/concepts/`, not `docs/superpowers/specs/`. Tasks to `.tasks/`, not `docs/superpowers/plans/`. 2. **Master-only.** All work on `master` (or `main`). No feature branches without explicit user approval. 3. **Semver discipline.** Bump `version:` in `SKILL.md` / `package.json` / `pyproject.toml` on every edit per MAJOR / MINOR / PATCH; record in commit message; rebuild `dist/` artifacts after. 4. **Commit yes, push no.** Every session starts asking before push. User can grant auto-push within session ("разреши автопуш"); session end resets to ask-mode. Force / delete / non-ff push always asks. ## Prerequisites None. The skill is a textual policy document; it takes no actions and has no external dependencies. Activate it by adding `follow project discipline` to `CLAUDE.md` (or use `project-bootstrap` v1.5.0+ which adds it automatically). ## Related - `project-bootstrap` (v1.5.0+) — adds the trigger line to new and existing projects' `CLAUDE.md`. - `pulling-before-work` — companion skill activated by the canonical template; pulls origin once at session start (`git pull --ff-only`). - `using-tasks` / `using-wiki` — the format conventions Rule 1 routes work into. - `.wiki/concepts/project-discipline-design.md` (in `claude-skills`) — full design rationale.