# ToolHive Registry Server Contribution and Maintainership

The ToolHive Registry Server is a community-driven project with maintainers from multiple organizations.
We welcome additional contributors to the ToolHive Registry Server, including maintainers. The ToolHive Registry Server
currently has a two-tier contributor structure:

| Role        | Description                                                      | Privileges                          |
| ----------- | ---------------------------------------------------------------- | ----------------------------------- |
| Contributor | Anyone who participates in the project!                          | Send / update PRs                   |
| Maintainer  | Consistent contributors who have shown commitment to the project | Review and merge PRs, manage issues |

## Contributors

See [CONTRIBUTING.md](./CONTRIBUTING.md) for a description of how to get started
contributing to the ToolHive Registry Server.

## Requirements for Becoming a Maintainer

To become a maintainer, you must meet the following criteria:

1. **Account Security**

- Must have enabled
  [two factor authentication](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication)
  on their GitHub account

2. **Demonstrated Contribution**:

   - Have made multiple significant contributions to the ToolHive Registry Server GitHub
     repository. This can include:
     - PR contributions to the ToolHive Registry Server or related components
     - PR reviews of ToolHive Registry Server code
     - Documentation and issue triage
     - Community engagement and support

3. **Sponsorship**:

   - Sponsored by at least one existing maintainer.

## Responsibilities of a Maintainer

As a maintainer, you will have the following responsibilities:

1. **Code Review and Merging**:

   - Review pull requests for quality, correctness, and alignment with the
     project direction.
     - When in doubt, assign pull requests to subject matter experts in the
       relevant subsystem.
   - Merge reviewed pull requests when satisfactory.

2. **Set Technical Direction**:

   - Where appropriate, participate in authoring and reviewing technical design
     documents and proposals.
   - Contribute to architectural decisions for the ToolHive Registry Server
     and related components.

3. **Community Engagement**:

   - Help maintain a welcoming and inclusive community environment.
   - Participate in discussions on GitHub issues and in the
     [ToolHive Discord](https://discord.gg/stacklok).
   - Assist with triaging issues and providing guidance to new contributors.

## Maintainers List

The current list of ToolHive Registry Server maintainers:

<!-- This section will be updated as maintainers are added -->

* [@stacklok/stackers (Stacklok)](https://github.com/orgs/stacklok/teams/stackers)

## Becoming a Maintainer

If you're interested in becoming a maintainer and meet the requirements above:

1. Reach out to an existing maintainer or the core team
2. Provide examples of your contributions to the ToolHive Registry Server
3. Get sponsorship from an existing maintainer
4. The maintainer team will review your application and make a decision

For questions about maintainership, please reach out in our
[Discord community](https://discord.gg/stacklok) or open an issue in this repository.
