Skip to content

Commit 39b812a

Browse files
committed
docs(community): add comprehensive community support and governance documentation
- Create CODE_OF_CONDUCT.md based on Contributor Covenant v2.1 - Add clear community standards and enforcement procedures - Create GOVERNANCE.md defining project decision-making processes - Document RFC process for major changes - Add release management and version strategy - Create SUPPORT.md with troubleshooting and help resources - Include bug reporting templates and best practices - Add FAQ section with common questions - Update README with links to community documents - Organize community resources section with all support docs Signed-off-by: leocavalcante <leo@cavalcante.dev>
1 parent c698b03 commit 39b812a

File tree

4 files changed

+754
-10
lines changed

4 files changed

+754
-10
lines changed

CODE_OF_CONDUCT.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Commitment
4+
5+
We are committed to providing a welcoming and inspiring community for all people. We pledge that all interactions and contributions to the OpenCoder project will be free from harassment and discrimination.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
- **Being respectful** - Valuing different viewpoints and experiences
12+
- **Being inclusive** - Welcoming people of all backgrounds and identities
13+
- **Being constructive** - Offering helpful feedback and suggestions
14+
- **Being professional** - Using clear, kind language in all communications
15+
- **Taking responsibility** - Acknowledging mistakes and learning from them
16+
- **Showing empathy** - Understanding and respecting others' perspectives
17+
- **Celebrating diversity** - Recognizing that diverse perspectives improve the project
18+
19+
Examples of unacceptable behavior include:
20+
21+
- Harassment, discrimination, or bullying of any kind
22+
- Offensive comments related to gender, gender identity, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, or other protected characteristics
23+
- Unwelcome sexual attention or advances
24+
- Threats, intimidation, or violent language
25+
- Publishing private information without consent
26+
- Insults, derogatory comments, or personal attacks
27+
- Spamming, trolling, or disruptive behavior
28+
- Any form of discrimination or exclusion
29+
30+
## Scope
31+
32+
This Code of Conduct applies to all OpenCoder community spaces including:
33+
34+
- GitHub repository (issues, pull requests, discussions)
35+
- Project documentation and wikis
36+
- Official chat channels and forums
37+
- Conference events and meetups
38+
- Any official OpenCoder community channel
39+
40+
This Code of Conduct also applies when representing the project in public spaces.
41+
42+
## Enforcement
43+
44+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior. They will take appropriate and fair corrective action in response to any behavior that violates this Code of Conduct.
45+
46+
Community leaders have the right and responsibility to:
47+
48+
- Remove, edit, or reject contributions that don't align with this Code of Conduct
49+
- Temporarily or permanently ban individuals for unacceptable behavior
50+
- Explain decisions transparently to the community when appropriate
51+
52+
## Reporting Violations
53+
54+
Instances of abusive, harassing, or otherwise unacceptable behavior should be reported by contacting the project maintainers at [opencoder-maintainers@example.com](mailto:opencoder-maintainers@example.com).
55+
56+
All reports will be:
57+
58+
- **Reviewed promptly** - Within 3 business days
59+
- **Kept confidential** - Details shared only with those who need to know
60+
- **Taken seriously** - All allegations will be investigated
61+
- **Handled fairly** - Both parties will have opportunity to respond
62+
63+
## Attribution
64+
65+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.
66+
67+
For answers to common questions about this code of conduct, see the [Contributor Covenant FAQ](https://www.contributor-covenant.org/faq).
68+
69+
## Community Values
70+
71+
We believe that:
72+
73+
- **Respect is fundamental** - We treat all community members with respect
74+
- **Diversity strengthens us** - Different backgrounds and perspectives make us better
75+
- **Everyone belongs** - We actively work to be inclusive and welcoming
76+
- **Growth matters** - We encourage learning and professional development
77+
- **Communication is key** - We resolve conflicts through respectful dialogue
78+
- **Accountability counts** - We take responsibility for our impact on others
79+
80+
## Questions?
81+
82+
If you have questions about this Code of Conduct, please reach out to the project maintainers. We're here to help create a positive community environment for everyone.
83+
84+
---
85+
86+
**Last Updated**: January 2026
87+
**Version**: 2.1

GOVERNANCE.md

Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
# Project Governance
2+
3+
## Overview
4+
5+
This document outlines how decisions are made in the OpenCoder project and how the community can participate in shaping its future.
6+
7+
## Project Leadership
8+
9+
### Maintainers
10+
11+
The OpenCoder project is maintained by a small team dedicated to its quality and vision. Maintainers are responsible for:
12+
13+
- **Reviewing pull requests** - Ensuring code quality and alignment with project goals
14+
- **Managing issues** - Triaging, discussing, and prioritizing work
15+
- **Making release decisions** - Determining when features are ready to ship
16+
- **Setting direction** - Guiding the project's long-term vision
17+
- **Community management** - Fostering a healthy, inclusive community
18+
19+
Current maintainers can be found in the [CONTRIBUTING.md](CONTRIBUTING.md).
20+
21+
### Becoming a Maintainer
22+
23+
Contributors who consistently demonstrate:
24+
25+
- High-quality contributions
26+
- Strong understanding of the codebase
27+
- Commitment to community values
28+
- Excellent communication skills
29+
30+
...may be invited to join the maintainer team. This is not based on quantity of contributions but on quality and judgment.
31+
32+
## Decision-Making Process
33+
34+
### Types of Decisions
35+
36+
**1. Small Changes (Bug Fixes, Documentation)**
37+
- Require: One maintainer review and approval
38+
- Process: Standard pull request review
39+
- Timeline: Can be merged quickly
40+
41+
**2. Medium Changes (New Features, Significant Refactoring)**
42+
- Require: Two maintainer reviews and approval
43+
- Process: Standard pull request review with discussion
44+
- Timeline: 3-5 day discussion period
45+
- Community input welcome but not required
46+
47+
**3. Major Changes (API Changes, Breaking Changes, New Direction)**
48+
- Require: RFC (Request For Comments) issue
49+
- Process: Community discussion, consensus building
50+
- Timeline: 1-2 week discussion period
51+
- Community input strongly encouraged
52+
- Requires majority maintainer approval
53+
54+
**4. Project Direction (Long-term Goals, Major Features)**
55+
- Require: RFC issue and community discussion
56+
- Process: Open discussion with all stakeholders
57+
- Timeline: 2-4 week discussion period
58+
- Community input critical
59+
- Requires consensus among maintainers
60+
61+
### RFC (Request For Comments) Process
62+
63+
Major decisions follow an RFC process:
64+
65+
1. **Create Issue** - Open an issue with `[RFC]` prefix describing the proposal
66+
2. **Discussion** - Community comments and feedback (1-2 weeks)
67+
3. **Revision** - Proposer updates based on feedback
68+
4. **Decision** - Maintainers make final decision
69+
5. **Implementation** - Approved proposals are implemented
70+
71+
RFC topics might include:
72+
73+
- Major architectural changes
74+
- Breaking changes to APIs
75+
- New commands or significant features
76+
- Project scope changes
77+
78+
## Issue and PR Management
79+
80+
### Issue Categories
81+
82+
Issues are labeled to help organize work:
83+
84+
- **bug** - Something isn't working
85+
- **enhancement** - New feature or improvement request
86+
- **documentation** - Documentation updates
87+
- **good first issue** - Good for newcomers
88+
- **help wanted** - Extra attention needed
89+
- **discussion** - Community discussion topics
90+
- **question** - Questions about usage
91+
92+
### PR Review Guidelines
93+
94+
When submitting a pull request:
95+
96+
1. **Describe your changes clearly** - Link to related issues
97+
2. **Follow coding standards** - Run `bun test` and `bunx biome check`
98+
3. **Add tests** - Maintain or improve coverage
99+
4. **Write commit messages** - Follow Conventional Commits
100+
5. **Be patient** - Reviews take time
101+
102+
Maintainers will:
103+
104+
1. **Review promptly** - Aim for response within 3 days
105+
2. **Provide constructive feedback** - Explain reasoning
106+
3. **Request changes clearly** - Be specific about what needs adjusting
107+
4. **Merge thoughtfully** - Ensure quality and consistency
108+
109+
## Release Management
110+
111+
### Version Strategy
112+
113+
OpenCoder follows [Semantic Versioning](https://semver.org/):
114+
115+
- **MAJOR** - Breaking changes
116+
- **MINOR** - New features (backward compatible)
117+
- **PATCH** - Bug fixes (backward compatible)
118+
119+
### Release Process
120+
121+
1. **Planning** - Decide what goes into release
122+
2. **Development** - Implement features and fixes
123+
3. **Testing** - Comprehensive testing on multiple platforms
124+
4. **Release Candidate** - Tag and test pre-release
125+
5. **Release** - Publish to all platforms
126+
6. **Announcement** - Document changes in release notes
127+
128+
### Support Timeline
129+
130+
- **Latest version** - Full support
131+
- **Previous major version** - Bug fixes and critical issues
132+
- **Older versions** - Security fixes only
133+
- **End of life** - No support
134+
135+
## Community Participation
136+
137+
### How to Get Involved
138+
139+
1. **Report bugs** - Open an issue with reproduction steps
140+
2. **Suggest features** - Start a discussion or RFC issue
141+
3. **Contribute code** - Submit a pull request
142+
4. **Improve documentation** - Help others understand the project
143+
5. **Help others** - Answer questions in discussions
144+
6. **Share feedback** - Tell us what you think
145+
146+
### Recognition
147+
148+
We recognize contributions in multiple ways:
149+
150+
- **Contributor list** - Listed in README and releases
151+
- **Commit history** - Your commits are preserved in git
152+
- **Maintainer status** - Top contributors may become maintainers
153+
- **Community mention** - Highlighted in release notes
154+
155+
## Conflict Resolution
156+
157+
### Disagreements
158+
159+
Disagreements are normal and healthy. When they occur:
160+
161+
1. **Discuss respectfully** - Focus on ideas, not people
162+
2. **Listen actively** - Try to understand other perspectives
163+
3. **Find common ground** - Look for compromise
164+
4. **Involve maintainers** - If needed, escalate for guidance
165+
5. **Respect decisions** - Once decided, move forward
166+
167+
### Code Review Conflicts
168+
169+
If there's disagreement during code review:
170+
171+
1. **Explain reasoning** - Both sides articulate their position
172+
2. **Consider tradeoffs** - Discuss pros and cons
173+
3. **Seek maintainer input** - Ask for guidance if stuck
174+
4. **Document decisions** - Record the rationale
175+
176+
### Escalation
177+
178+
If conflicts can't be resolved:
179+
180+
1. Contact the project maintainers
181+
2. Describe the situation clearly
182+
3. Request guidance from leadership
183+
4. Respect the final decision
184+
185+
## Amendment Process
186+
187+
This governance document may be updated as the project evolves:
188+
189+
1. **Propose change** - Open an issue or discussion
190+
2. **Community feedback** - Get input from contributors
191+
3. **Maintainer approval** - Requires consensus
192+
4. **Update document** - Apply approved changes
193+
5. **Announce change** - Notify the community
194+
195+
## Values and Principles
196+
197+
The OpenCoder project is guided by:
198+
199+
### Technical Excellence
200+
- Code quality matters
201+
- Testing is essential
202+
- Documentation is important
203+
- Performance is considered
204+
205+
### Community First
206+
- Contributors are valued
207+
- Diverse perspectives are welcome
208+
- Respectful communication is expected
209+
- Everyone's time is respected
210+
211+
### Transparency
212+
- Decisions are explained
213+
- Processes are documented
214+
- Community input is considered
215+
- Outcomes are communicated
216+
217+
### Sustainability
218+
- Projects should be maintainable
219+
- Dependencies are managed carefully
220+
- Breaking changes are minimized
221+
- Long-term viability is prioritized
222+
223+
## Questions?
224+
225+
If you have questions about governance, project direction, or how decisions are made:
226+
227+
1. **Check this document** - May answer your question
228+
2. **Open an issue** - Tag with `[governance]` or `[question]`
229+
3. **Start a discussion** - For broader topics
230+
4. **Contact maintainers** - For confidential matters
231+
232+
We're here to help and want to make sure you feel heard.
233+
234+
---
235+
236+
**Last Updated**: January 2026
237+
**Version**: 1.0

README.md

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -464,12 +464,31 @@ OpenCoder maintains high test coverage with 443+ unit tests across all modules.
464464

465465
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or suggesting improvements, your help is appreciated.
466466

467-
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on:
468-
- Getting started with development
469-
- Code style and conventions
470-
- Testing requirements
471-
- Git workflow and commit messages
472-
- Creating pull requests
467+
**Community Resources:**
468+
469+
- **[CONTRIBUTING.md](CONTRIBUTING.md)** - Detailed guidelines for developers
470+
- Getting started with development
471+
- Code style and conventions
472+
- Testing requirements
473+
- Git workflow and commit messages
474+
- Creating pull requests
475+
476+
- **[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)** - Our community standards
477+
- Respectful and inclusive environment
478+
- Expected behavior
479+
- Reporting violations
480+
481+
- **[GOVERNANCE.md](GOVERNANCE.md)** - How decisions are made
482+
- Decision-making processes
483+
- Project leadership
484+
- Release management
485+
- Community participation
486+
487+
- **[SUPPORT.md](SUPPORT.md)** - Getting help
488+
- Troubleshooting common issues
489+
- Reporting bugs
490+
- Asking questions
491+
- Finding documentation
473492

474493
## License
475494

@@ -483,7 +502,13 @@ MIT License - See [LICENSE](LICENSE) file.
483502

484503
- [OpenCode](https://opencode.ai)
485504
- [OpenCode SDK](https://www.npmjs.com/package/@opencode-ai/sdk)
486-
- [Examples](examples/) - Configuration guides and use case examples
487-
- [Changelog](CHANGELOG.md) - Version history and release notes
488-
- [Contributing Guide](CONTRIBUTING.md) - How to contribute to the project
489-
- [Report Issues](https://github.com/opencodeco/opencoder/issues)
505+
- **Documentation**
506+
- [Examples](examples/) - Configuration guides and use case examples
507+
- [Coverage Guide](docs/COVERAGE.md) - Test coverage and quality assurance
508+
- [Changelog](CHANGELOG.md) - Version history and release notes
509+
- **Community**
510+
- [Contributing Guide](CONTRIBUTING.md) - How to contribute
511+
- [Code of Conduct](CODE_OF_CONDUCT.md) - Community standards
512+
- [Governance](GOVERNANCE.md) - Project decisions
513+
- [Support](SUPPORT.md) - Getting help
514+
- [Report Issues](https://github.com/opencodeco/opencoder/issues) - Bug reports and feature requests

0 commit comments

Comments
 (0)