52 lines
2.2 KiB
Markdown
52 lines
2.2 KiB
Markdown
---
|
|
description: Work on a branch, plain imperative commits without AI trailers, one PR with the Claude Code footer, review until approved, never merge yourself; squash only
|
|
---
|
|
|
|
## Branches and commits
|
|
|
|
- Never push to `main`. Every change goes through a branch and a PR, even a
|
|
one-line fix.
|
|
- Commit messages are plain imperative sentences ("Port the import-check
|
|
rules to an ESLint plugin"). No conventional-commit prefixes, no AI
|
|
trailers (`Co-Authored-By: Claude`, "Generated with ..."), no emoji.
|
|
- When several agents share a branch, each works in its own `git worktree`,
|
|
runs `git pull --rebase` before pushing, and retries a rejected push after
|
|
rebasing. Remove the worktree and temp branch afterwards.
|
|
- `vp check`, `vp test`, and the build pass locally before every push.
|
|
|
|
## Pull requests
|
|
|
|
- One PR per repo for a migration, everything included (size-rule refactors
|
|
too).
|
|
- The body covers: summary, what changed, deviations and risks, verification
|
|
done, and open questions. It ends with exactly this line:
|
|
|
|
```
|
|
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
```
|
|
|
|
- Then run the review cycle (skill `review-cycle`): on Capsulizers Gitea repos
|
|
that have `.gitea/workflows/agents.yml`, comment `@bot` and address the `bot`
|
|
account's review; elsewhere, a subagent reviews the diff and posts the
|
|
review as a PR comment. Repeat until fully approved, then ask the user to
|
|
review.
|
|
|
|
## Merging
|
|
|
|
- **Never merge on your own.** The user merges, unless they explicitly allow
|
|
it for one specific PR.
|
|
- GitHub repos are squash-merge only, so a PR lands as one commit titled after
|
|
the PR.
|
|
- Also never, without the user: publish, archive a repo, or delete a branch
|
|
the user may still use.
|
|
|
|
## Hosts
|
|
|
|
- **cunarist** and **temeddix**: GitHub only, CI in `.github/workflows`, use
|
|
the `gh` CLI.
|
|
- **Capsulizers**: Gitea at git.capsulizers.com (Gitea 1.26), CI in
|
|
`.gitea/workflows`, PRs through the Gitea API. Push and open PRs as the
|
|
user's own account (credentials in the user's environment; source them in a
|
|
subshell and never print them); `bot` is a separate review account. The
|
|
org's codified rules live in the `commons/code-rules` README.
|