--- alwaysApply: true --- # Periscope Cursor Engineering Rules Mandatory for every Cursor agent working on Periscope. This section is copied from `docs/development/CODING_CONSTITUTION.md` and must not contradict that master. ## 6. Git workflow Worktree for this product line: `~/Development/pinscope-tree-split` unless Michele names another. Do not start a second clone to dodge the worktree. ### Phase vs macro-phase - **Phase** (one verified slice: e.g. rules install, one rewritten module with tests): when tests (or the docs check) pass → **commit and push**. That is the end of the phase. - **Macro-phase** (a named batch of phases Michele treats as one shippable increment): **deploy only after a macro-phase**, not after every phase, and not at a mere phase boundary. - **No commit, push, or deploy on every small edit.** Edit, keep working, commit when the phase is actually done. - **No deploy at a mere phase boundary.** Passing tests + push is not a deploy order. ### Other git rules - Feature branches `cursor/-0d9d` (lowercase). Do not force-push unless Michele explicitly orders it. - Do not create pull requests unless Michele asks. - Push `origin` and `github` when this worktree has both remotes. - Do not commit secrets, `data/auth/users`, or `.env` password material. - Changelog version is the latest `## x.y.z` in `frontend/content/changelog.md` (dependency copy is the Docker source of truth today). Bump only when the phase is a product change, not for docs-only rules unless Michele wants a version bump.