diff --git a/CLAUDE.md b/CLAUDE.md index e810487c2..2e59e81ec 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -18,12 +18,13 @@ bisectable, revertable). git checkout main && git pull opus main git checkout -b / # ... make exactly one change, test it ... -git commit -am "Short title — what & why" +git commit -am ": short imperative summary" git push -u opus / gh pr create --repo OpusProjects/sysPass --base main --head / --title "..." --body "..." gh pr merge --repo OpusProjects/sysPass --squash --delete-branch # we self-merge ``` +- **Types** (branch prefix and commit/PR title alike): `feat`, `fix`, `perf`, `refactor`, `docs`, `test`, `build`, `chore` — as in every OpusProjects repo. - **Remotes:** `origin` = upstream `nuxsmin/sysPass` (read-only) · `opus` = our fork `OpusProjects/sysPass` (push here). Default branch: `main`. - **Git identity** is set repo-locally (`blaipr` / `blaipr@hotmail.com`) — plain `git commit` works. - `gh pr edit` can silently no-op on this repo (classic-Projects GraphQL field); if a body edit doesn't apply, PATCH via `gh api -X PATCH repos/OpusProjects/sysPass/pulls/ -F body=@file`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cca6fb292..9cd93d76f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,12 +21,13 @@ into `main`. Never commit directly to `main`. git checkout main && git pull origin main git checkout -b / # make exactly one logical change -git commit -am "Short title — what & why" +git commit -am ": short imperative summary" git push -u origin / # open PR, squash-merge, delete branch ``` -**Branch prefixes:** `fix/`, `refactor/`, `docs/`, `cleanup/`, `feat/`, `test/`. +**Types** (branch prefix and commit/PR title alike): `feat`, `fix`, `perf`, +`refactor`, `docs`, `test`, `build`, `chore`. **One logical change per PR** — independently reviewable, bisectable, revertable. @@ -80,7 +81,8 @@ image build). ## Commit messages -- Short title (imperative mood) — what changed and why. +- Title is `: short imperative summary`, using the types listed above — + the PR title matches it, since the squash-merge keeps it as the commit title. - Body is optional; use it for context that isn't obvious from the diff. - No issue/PR numbers in the title — GitHub adds the PR number on squash-merge.