This guide describes the workflow and conventions for tldr-pages maintainers when reviewing and merging pull requests. It is a living standard — meant to describe the project’s maintenance practices, not prescribe them rigidly. As a maintainer, refer to it for clarification on collaborative workflows, and propose changes to it when you feel updates would make it more useful.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tldr-pages/tldr/llms.txt
Use this file to discover all available pages before exploring further.
I. Responding to contributions
Be welcoming and friendly
Keep the project responsive
Know when and how to say no
Always thank contributors
Keep the process web-based when possible
II. Handling PRs
Merge requirements
A PR should be merged once it meets all three of the following conditions:- Passes the automated tests (GitHub Actions, CLA signing, etc.)
- Has all review comments addressed
- Has approved reviews from two maintainers (the second maintainer can merge immediately after approving)
Non-English PRs and CODEOWNERS
If a PR is non-English and there are automatic reviewers added via CODEOWNERS, the PR needs at least one approval from one of the CODEOWNERS.- If the PR fails to get a CODEOWNERS review after a few days, the first maintainer should ping the CODEOWNERS for review.
- If the PR lingers for over 10 days without a CODEOWNERS approval, it can be merged with two approvals from any maintainers.
- If it still only has one approval after that, follow the next guideline about stalled PRs.
Stalled PRs (no second maintainer approval)
If a PR fails to get a second maintainer’s review after a few days, the first maintainer should ping others for review.- If the PR lingers for over a week without a second approval, a maintainer with Owner status can go ahead and merge it. Otherwise, send a message in the chatroom asking other maintainers to review.
Trivial fixes
If the only issues holding up a merge are trivial fixes (typos, syntax errors, etc.) and the author doesn’t respond within a day or two, maintainers can make the necessary changes themselves and proceed with the merge process.Abandoned PRs
If a PR stops getting feedback from the submitter for more than a month, any maintainer can choose to take over the PR and make the necessary changes to get the content ready for merging.Avoiding reviewer fatigue
During the review process, make sure contributors — especially new ones — are not overwhelmed with too many change requests. Be mindful of signs of fatigue (less enthusiastic responses, slower reactions), and relax review standards if necessary. Minor issues can always be fixed later.Large or architectural changes
decision label and discuss the changes with other maintainers in the chatroom.Hacktoberfest
At the last week of October, all applicable PRs that wouldn’t be merged in time can be labelled ashacktoberfest-accepted.
III. Merge strategies and commit messages
Choosing a merge strategy
When merging PRs, use the strategy that produces the cleanest Git history:| Scenario | Strategy |
|---|---|
| PR has a single commit | Squash and merge |
| Multiple commits that are not semantically independent | Squash and merge |
| PR author crafted individual, informative commit messages for each commit | Rebase and merge |
| Mixed “dirty” and “clean” commits — more dirty than clean | Squash and merge |
| Mixed “dirty” and “clean” commits — more clean than dirty | Rebase and merge |
Squash and merge, don’t forget to clean up the body of the squashed commit message.Commit message format
For small, focused changes, use:Co-authored-by line when cleaning up a squashed commit message, unless the change was trivial.Avoid merging your own PRs
Although having push access allows committing directly to all branches (exceptmain), create pull requests for all of your changes. This ensures the full contribution process — which regular contributors go through — is also experienced by maintainers, helping identify and address any bottlenecks. Similarly, avoid merging your own PRs unless they have been approved by other maintainers.
IV. Transparency
- All non-confidential requests or mail made on behalf of the project should be documented as a GitHub issue with the
archivelabel and communicated with other maintainers. - All repository or organization settings changes must be documented as an issue with the
archivelabel.
V. Handling failing actions and CLA checks
- If the CLA check is frozen at “Status waiting to be reported,” close and reopen the pull request to retrigger the check, and notify the contributor.
- To verify whether a contributor has signed the CLA, visit the dashboard at https://cla-assistant.io/.
VI. Creating a client specification release
Pre-requisites
- Ensure client specification changes have been discussed with other maintainers and the community on GitHub and in the chatroom, and that enough time has been provided for review.
- Tag all client spec PRs under a milestone for ease of release.
- Ensure GPG signing is set up for your account.
- Prepare release notes in advance. Release notes should:
- Mention any pending breaking architectural changes from previous client specifications.
- Explain the client specification changes in detail, with examples where applicable.
Release steps
Merge all applicable PRs
Bump the version and notify maintainers
Cross-check the client specification file
Create a signed tag
X.Y.Z with the client specification version.If commits were merged after the version bump commit and before tagging, you can tag an older commit directly:Draft a new release on GitHub
Publish the release and complete post-release steps
- View the
copy-release-assets.ymlworkflow run and after its successful completion ensure assets are copied from the previous release. - Notify the social media managers to post about the release on Mastodon and other platforms.
VII. Periodic maintenance tasks
To maintain the quality and relevance of the tldr-pages project, maintainers are encouraged to regularly perform the following tasks:Monitor software updates
Monitor software updates
Validate external links
Validate external links
Update client status on the wiki
Update client status on the wiki
Track and document new clients
Track and document new clients
Revise CONTRIBUTING.md and the Style Guide
Revise CONTRIBUTING.md and the Style Guide
Maintain collaborators and org members list
Maintain collaborators and org members list
community label.Manage 'Let's document' and translation requests
Manage 'Let's document' and translation requests
let's document or language-specific translation requests. These are often maintained by issue authors, but there is room for improvement through automation — for example, updating issue status based on milestones or completed PRs.Review translated pages
Review translated pages
Related pages
- Governance — the five principles that guide the tldr-pages community
- Community Roles — how collaborator, organization member, and owner roles are earned and managed
- Submitting a PR — a guide for contributors on how to open and manage pull requests