Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add maintainer workflow #123

Merged
merged 7 commits into from
Jan 21, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions docs/maintainer-workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Maintainer guide

Welcome to the maintainer guide for our project!
As a project maintainer, you play a crucial role in ensuring the success and health of the project.
Below are key responsibilities and guidelines to help you manage the project effectively.

## Key responsibilities

### Manage Issues
1. Issue Triage
- Establish a regular schedule for reviewing and triaging open issues.
- Close irrelevant issues, and categorize and prioritize others using milestones.

1. Acknowledging an Issue
- Review new issues promptly to address major blockers.
- Leave a comment on the issue to show appreciation for the creator's time and efforts.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

@mugdha-adhav mugdha-adhav Jan 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This action is just for first time contributors. We could add a link to contributor workflow doc in this action steps and request the contributors to take a look at it.

This could be added in #96, or we could create a separate issue for this.

- Request additional details if the issue description is unclear.

1. Labelling Issues
- Add appropriate labels to convey the status of each issue.
- Stalebot ignores issues labeled `awaiting-inputs`, `work-in-progress`, and `help-wanted`.
- Guidelines for specific labels:
- [ help-wanted ]: Use for issues that we want to work on but haven't been picked up.
- [ work-in-progress ]: Indicate ongoing work without a corresponding pull request.
- [ wontfix ] [ invalid ]: Always add with a clear explanation.

1. Assigning an Issue
- Assign issues to contributors who show interest or agree to work on them.
- If someone has started working on an issue, assign it to them for visibility.

### Manage Pull Requests (PRs)
1. PR review
- Hold off on reviewing until the contributor indicates readiness, unless explicitly asked otherwise.
- Label PRs with `awaiting-inputs` if help is needed to understand the changes.
- Ensure that new features or changes are properly documented.
- Ensure that adequate tests are added (or already exists), create a separate issue if required.

1. PR approval and merge
- Contributors cannot merge PRs, assist them in the merging process.
- Ensure Continuous Integration (CI) passes before merging, except for non-code/test changes.

1. Labeling PRs
- Stalebot ignores PRs labeled `awaiting-inputs`, `work-in-progress`, and `help-wanted`.
- It's a good practice to add appropriate labels on PRs.

### Manage Releases
- Choose the correct tag based on major, minor, or patch fixes using [semver versioning](https://semver.org/).
- Aim to create releases promptly to minimize user wait times.
- If possible, update releases with informative release notes highlighting breaking changes, major features, and bug fixes.

### Arrange and Drive Community Meetings
- Attend community meetings to engage with contributors and users.
- Promptly address action items from meeting notes.
- Foster a welcoming, open-minded, respectful, and friendly environment.

### Ensure Code of Conduct Compliance
- Familiarize yourself with the [CNCF code of conduct](https://www.cncf.io/conduct/).
- Enforce the code of conduct among contributors and maintainers, taking necessary actions when required.

### Keeping the Repository Up to Date
- Periodically review documentation and create issues for any missing pieces.
- Implement automation to reduce inconsistencies and enhance productivity.

## Reading materials
For further insights, refer to these valuable resources:
- [Best practices for maintainers](https://opensource.guide/best-practices)
- [Practical skills for maintainers](https://www.freecodecamp.org/news/practical-skills-for-open-source-maintainers)
- [Becoming an open source maintainer](https://kentcdodds.com/blog/becoming-an-open-source-project-maintainer)

**Thank you for your dedication to maintaining our project!**