You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: emphasize branch requirement in CORE_MAINTAINER.md (#482)
- Make step 6 unmissable with bold "NEVER commit directly to main"
- Add concrete bash example for the expected workflow
- Add exception for LOG.md updates only
- Add "Always use branches" as first lesson learned
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CORE_MAINTAINER.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,14 @@ Note that for any task, it's important to first get ample context. Search past i
20
20
3. Triage issues. Confirm repro, decide scope, and say no when needed to protect project goals (see `## Vision`, `README.md`, `CHANGELOG.md`, and `website/source/about.md`). LLMs should refrain from commenting on Issues.
21
21
4. To continuously modernize the project, revise the Backlog/Roadmap in `CHANGELOG.md`. Don't forget about the website, which lives in this repo and is deployed via GHA. Check off items and/or move them into releases as appropriate.
22
22
5. Pick an issue to work on. It could come from the Backlog/Roadmap in `CHANGELOG.md`, a verified GitHub issue, a PR failure, unfinished business, or a security concern. Do what is most important and impactful first. First search what is already available, and what we can already re-use, even if it takes a little refactoring. Define what a successful outcome looks like and how you'll validate it (tests, browser checks, screenshots for design changes, or a working migration). This is imperative: no changes without validation. Anything that can't be validated should not be PR'ed or merged.
23
-
6. Start a new branch for any sufficiently new change. No committing to `main`.
23
+
6.**NEVER commit directly to `main`.** Always create a feature branch and open a PR:
24
+
```bash
25
+
git checkout -b fix/descriptive-name # or feat/, chore/, docs/
26
+
# ... make changes ...
27
+
git push -u origin HEAD
28
+
gh pr create
29
+
```
30
+
The only exception is updating `docs/prompts/LOG.md` which can be pushed directly.
24
31
7. After the change:
25
32
- Validate the work as planned (browser checks, tests, etc.).
26
33
- Run `yarn check`.
@@ -40,6 +47,7 @@ Note that for any task, it's important to first get ample context. Search past i
40
47
41
48
## Lessons Learned
42
49
50
+
-**Always use branches**: Never push to `main` directly. Create a branch, open a PR, let CI run, then merge. This applies even for "small fixes" - they often aren't.
43
51
- Verify against reality: unit tests aren't enough; run actual PHP/Go/Python/Ruby/C when possible.
44
52
- Don't duplicate infrastructure: check `src/_util/` before creating new tools.
45
53
- Document in the right place: LICENSE, README, SPDX headers, not just issues.
0 commit comments