Skip to content

Commit b9b1fd3

Browse files
lwasserJimMadgedependabot[bot]
authored
docs: add page on pr merge governance (#951)
* docs: add page on pr merge governance * docs: more on squash commiting * docs: fix linting * Apply suggestion from @JimMadge Co-authored-by: Jim Madge <[email protected]> * docs: add a maintainers merge pr guide * chore(deps): bump vite from 6.3.5 to 6.3.6 (#940) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.5 to 6.3.6. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Leah Wasser <[email protected]> Co-authored-by: Jim Madge <[email protected]> * chore: linting --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Jim Madge <[email protected]> Co-authored-by: Jim Madge <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 578ea75 commit b9b1fd3

File tree

3 files changed

+166
-1
lines changed

3 files changed

+166
-1
lines changed

astro.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export default defineConfig({
6464
items: [
6565
{ label: 'contribute', slug: 'project/contribute' },
6666
{ label: 'development', slug: 'project/development' },
67+
{ label: 'maintain', slug: 'project/maintain' },
6768
{ label: 'code-of-conduct', slug: 'project/code-of-conduct' },
6869
{ label: 'implementations', slug: 'project/implementations' },
6970
],

src/content/docs/project/development.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ It handles navigation, search, dark mode, and supports [Tailwind CSS](https://ta
2121

2222
## MDX Files
2323

24-
Our documentation pages are largely written using the **MDX** (`.mdx`) format. This format supports Markdown with the additional ability to include components and custom elements directly in the content. This allows us to embed images, asides, and other interactive elements easily.
24+
Our documentation pages are largely written using the [MDX (`.mdx`) format](https://mdxjs.com/).
25+
This format supports Markdown with the additional ability to include components
26+
and custom elements directly in the content. This allows us to embed images,
27+
asides, and other interactive elements easily.
2528

2629
<Aside title="Helpful Links">
2730
* [Starlight Documentation](https://starlight.astro.build/guides/introduction/)
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
---
2+
id: maintain
3+
title: Maintaining the project
4+
sidebar_label: Maintainer Processes
5+
---
6+
import { Aside } from '@astrojs/starlight/components';
7+
8+
This guide walks you, as a maintainer, through reviewing and merging pull
9+
requests. We've organized it to follow the typical GitHub Pull Request (PR) workflow.
10+
11+
To begin, all pull requests should come from a forked repository, not from branches in
12+
the main repo (with the exception of Dependabot security updates and
13+
all-contributor bot PRs).
14+
15+
## Before You Merge - Quick Checklist
16+
17+
Before merging any PR (except all-contributors bot PRs), make sure:
18+
19+
***CI checks are green**: All tests, linting, and link checks pass
20+
***Your branch is current**: Synced with `main` (merge or rebase)
21+
***Comments are generally resolved**: All review feedback has been addressed
22+
***Issues are linked**: Mention related issues referenced in PR description
23+
***PR has a clear description**: Follows Angular commit convention and explains changes
24+
***You have the right approvals**: See approval requirements below
25+
26+
## PR Approval Requirements
27+
28+
### No approval required
29+
30+
* **All-contributors bot PRs**: Any maintainer can merge without approval
31+
* **Dependabot PRs**: Any maintainer can merge once CI is green
32+
33+
### One approval required
34+
35+
One approval from another maintainer is sufficient for most PRs.
36+
Most PRs fall here:
37+
38+
* Documentation updates
39+
* Small bug fixes
40+
* Maintenance work
41+
* Non-breaking changes
42+
43+
### Two approvals required
44+
45+
In some cases we may want a more thorough review and multiple maintainers
46+
involved in a review.
47+
Please seek two approvals (if possible) for large or sensitive changes such as:
48+
49+
* API changes
50+
* Major refactors
51+
* Significant security fixes
52+
* Changes affecting the bot's API and our users
53+
54+
<Aside type="tip">For larger changes, please open an issue to discuss
55+
the design before submitting the PR.</Aside>
56+
57+
### Maintainer Feedback & New Issues
58+
59+
We value an fluid and agile development process here at the all-contributors bot. If you
60+
find an issue during the review that is outside the scope of the PR,
61+
please create a new issue to track it instead of blocking the PR from being
62+
merged. This allows us to keep the project moving forward and also preserves
63+
precious volunteer maintainer time.
64+
65+
If a PR is merged but you you'd like to see a follow-up PR that adjusts things,
66+
no worries, simply open an issue about that follow-up and submit a new PR, if
67+
needed.
68+
69+
## Merging PRs: Use Squash and Merge
70+
71+
Always use "Squash and Merge" when you merge a PR. Combined with angular commit
72+
conventions, squash and merge will keep our commit history clean and meaningful.
73+
74+
### Why squash merge?
75+
76+
We use the squash-merge approach because it provides:
77+
78+
* **Clean history**: One commit per PR makes the history easy to read
79+
* **Meaningful commits**: Each commit represents a complete feature or fix
80+
* **Easy reverts**: Can revert an entire feature with one command
81+
* **Better changelogs**: Conventional commits enable automated changelog generation
82+
83+
### Format the squash commit message
84+
85+
Follow the [Conventional Commits](https://www.conventionalcommits.org/) format
86+
when writing your squash commit message and when adding new commits to a PR.
87+
88+
```none
89+
<type>(<scope>): <description>
90+
91+
[optional body]
92+
93+
[optional footer]
94+
```
95+
96+
Common types in the conventional commit spec include:
97+
98+
* `feat:`: New feature
99+
* `fix:`: Bug fix
100+
* `docs:`: Documentation changes
101+
* `style:`: Code style changes (formatting, no logic change)
102+
* `refactor:`: Code refactoring
103+
* `test:`: Adding or updating tests
104+
* `chore:`: Maintenance tasks, dependency updates
105+
106+
**Examples:**
107+
108+
```none
109+
feat(api): add support for custom headers
110+
fix(parser): handle empty strings correctly
111+
docs(readme): update installation instructions
112+
chore(deps): bump tailwindcss from 4.17.20 to 4.17.21
113+
```
114+
115+
<Aside type="tip">The scope is optional but helpful. Use it to indicate what
116+
part of the project changed (e.g., `api`, `cli`, `docs`, `tests`).</Aside>
117+
118+
## Merging Your Own PRs
119+
120+
As a maintainer, please avoid merging your own PRs when possible. Having another
121+
set of eyes review your work is good practice!
122+
123+
**If you must self-merge** (urgent/security/critical fix):
124+
125+
* Request a quick review if someone is available, OR
126+
* Leave a note in the PR explaining why you're self-merging
127+
128+
## After Merging
129+
130+
### Add contributors to the all-contributors table
131+
132+
When you merge a PR that is not yours, be sure to add the contributor using
133+
our friendly all-contributors bot ✨:
134+
135+
```none
136+
@all-contributors please add <github-username> for <contribution-roles>
137+
```
138+
139+
We ask contributors to do this themselves, but they often forget or are not
140+
comfortable doing so. Please check that they have added themselves, and if not,
141+
add them if needed! If they have added themselves be sure to merge the
142+
associated all-contributors PR!
143+
144+
<Aside type="note">
145+
If the contributor is already listed for that contribution type
146+
(e.g., they're already in the table for `bug`), you don't need to add them again.
147+
</Aside>
148+
149+
## Need Help with Reviews?
150+
151+
If you are waiting on a PR that you submitted and no one has responded or left
152+
you a review:
153+
154+
* Ping maintainers who've been active on related issues
155+
* As a last resort, ping the `@maintainers` team
156+
157+
Remember, this process helps us maintain code quality while keeping things
158+
our friendly bot's documentation and infrastructure moving forward.
159+
When in doubt, ask for a second opinion!
160+
161+
And also, be sure to always follow our [Code of Conduct](/project/code-of-conduct/).

0 commit comments

Comments
 (0)