# Project Governance
This document describes the governance model for {{projectName}}.
## Overview
{{projectName}} is committed to transparent and inclusive decision-making. This document outlines how decisions are made and who has authority over different aspects of the project.
## Roles
### Contributors
Anyone who contributes to the project through code, documentation, issues, or discussions.
### Maintainers
Maintainers have write access to the repository and are responsible for:
- Reviewing and merging pull requests
- Triaging issues
- Making technical decisions
- Ensuring code quality
- Releasing new versions
See [MAINTAINERS.md](MAINTAINERS.md) for the current list of maintainers.
{{#if hasCommitters}}
### Committers
Committers have demonstrated expertise and commitment to the project. They can approve pull requests and participate in technical decisions.
{{/if}}
{{#if hasSteeringCommittee}}
### Steering Committee
The Steering Committee provides strategic direction and makes decisions on project scope, governance changes, and maintainer appointments.
{{/if}}
## Decision-Making Process
### Routine Decisions
Day-to-day technical decisions are made by maintainers through:
- Pull request reviews
- Issue discussions
- Direct commits for minor changes
{{#if requiresConsensus}}
### Major Decisions
Significant changes require consensus among maintainers:
- Architecture changes
- Breaking changes
- New feature additions
- Governance changes
**Consensus Process:**
1. Proposal is documented in an issue or discussion
2. Maintainers discuss and provide feedback
3. If no objections within 7 days, consensus is reached
4. If objections exist, continue discussion or call for a vote
{{/if}}
{{#if hasVoting}}
### Voting
When consensus cannot be reached, decisions are made by vote:
- Each maintainer has one vote
- Decisions require {{votingThreshold}} of maintainers to pass
- Votes are recorded in the relevant issue or pull request
{{/if}}
## Becoming a Maintainer
Contributors can become maintainers by:
1. **Sustained Contributions** - Regular, high-quality contributions over {{maintainerPeriod}}
2. **Technical Expertise** - Demonstrated understanding of the codebase
3. **Community Engagement** - Helpful reviews and issue triage
4. **Nomination** - Existing maintainer nominates the contributor
5. **Approval** - {{#if hasVoting}}Majority vote{{else}}Consensus{{/if}} from current maintainers
## Removing Maintainers
Maintainers may step down voluntarily or be removed if:
- Inactive for more than {{inactivityPeriod}}
- Violation of Code of Conduct
- Consistent disregard for project processes
{{#if hasVoting}}
Removal requires {{votingThreshold}} of remaining maintainers.
{{else}}
Removal requires consensus of remaining maintainers.
{{/if}}
## Changes to Governance
Changes to this governance document require:
{{#if hasVoting}}
- Proposal in a GitHub issue
- Discussion period of at least 14 days
- {{votingThreshold}} approval from maintainers
{{else}}
- Proposal in a GitHub issue
- Discussion period of at least 14 days
- Consensus from all active maintainers
{{/if}}
## Questions or Concerns
If you have questions about governance, please:
1. Open a GitHub Discussion
2. Contact the maintainers at {{maintainerEmail}}
3. Attend a community meeting (if applicable)
---
*This governance model may evolve as the project grows. All changes will be documented in this file's history.*