# Wiki.js Python SDK - Community Governance **Project**: wikijs-python-sdk **Stage**: MVP Development **Version**: 1.0 **Last Updated**: July 2025 --- ## 🎯 Mission Statement Create a high-quality Python SDK for Wiki.js that serves developers' needs while fostering an inclusive, collaborative community. **Core Values:** - **Quality**: Prioritize working code and user experience - **Simplicity**: Keep processes lightweight and focused - **Community**: Welcome contributors of all experience levels - **Transparency**: Open development with clear communication --- ## 👥 Project Roles ### **Maintainer** **Current**: Project Lead **Responsibilities:** - Project direction and roadmap decisions - Code review and merge approval - Release management - Community support and issue triage **Authority:** - Final decision on feature additions - Merge rights to main branch - Create releases and manage PyPI publishing ### **Contributors** **Anyone participating in the project** **How to Contribute:** - Report bugs with clear reproduction steps - Suggest features with use cases - Submit pull requests following our standards - Help answer questions in discussions - Improve documentation and examples **Recognition:** - All contributors listed in CONTRIBUTORS.md - Significant contributors highlighted in releases - Path to maintainer role for consistent contributors --- ## 🚀 Development Process ### **Issue Management** 1. **Bug Reports**: Use issue templates with reproduction steps 2. **Feature Requests**: Describe use case and expected behavior 3. **Questions**: Use GitHub Discussions for general help 4. **Priority**: Focus on MVP completion, then community feedback ### **Pull Request Process** 1. **Fork & Branch**: Create feature branch from `main` 2. **Develop**: Follow coding standards and write tests 3. **Test**: Ensure all tests pass and coverage maintained 4. **Review**: Maintainer reviews and provides feedback 5. **Merge**: Approved changes merged to main ### **Release Process** - **Version**: Semantic versioning (MAJOR.MINOR.PATCH) - **Frequency**: Regular releases based on feature completion - **Testing**: All quality gates must pass before release - **Communication**: Release notes published with each version --- ## 📋 Quality Standards ### **Code Requirements** - **Tests**: All new features must include tests - **Coverage**: Maintain >85% test coverage - **Types**: Type hints required for public APIs - **Style**: Follow black, isort, flake8 formatting - **Documentation**: Docstrings for all public methods ### **Review Criteria** - [ ] Code follows established patterns - [ ] Tests cover new functionality - [ ] Documentation updated if needed - [ ] No breaking changes without discussion - [ ] Performance impact considered --- ## 🤝 Community Guidelines ### **Expected Behavior** - Be respectful and constructive in all interactions - Focus on the code and ideas, not the person - Welcome newcomers and help them get started - Share knowledge and learn from others - Assume good intentions in communications ### **Unacceptable Behavior** - Personal attacks or harassment - Discriminatory language or behavior - Trolling or intentionally disruptive behavior - Sharing private information without consent ### **Enforcement** - **Level 1**: Private discussion with maintainer - **Level 2**: Public warning and guidance - **Level 3**: Temporary restriction from participation - **Level 4**: Permanent ban (only for severe violations) Report issues to: [Maintainer Contact] - all reports handled confidentially. --- ## 📞 Communication Channels ### **GitHub Issues** - Bug reports and feature requests - Project planning and roadmap discussions - Technical questions about implementation ### **GitHub Discussions** *(Coming Soon)* - General help and usage questions - Community showcase and success stories - Brainstorming new ideas and improvements ### **Response Expectations** - **Issues**: Response within 48-72 hours - **Pull Requests**: Initial review within 1 week - **Discussions**: Community-driven with maintainer backup --- ## 🔄 Decision Making ### **For MVP Development** - **Maintainer Authority**: Final decisions on scope and implementation - **Community Input**: Gathered through issues and discussions - **Focus**: Complete MVP first, then expand based on feedback ### **Post-MVP Development** - **Feature Requests**: Community voting and discussion - **Breaking Changes**: Require community discussion period - **Major Decisions**: Seek consensus among active contributors --- ## 📈 Growth & Evolution ### **Path to Contributor Recognition** 1. **First-time Contributors**: Welcomed and guided through process 2. **Regular Contributors**: Recognized in releases and documentation 3. **Core Contributors**: Trusted with triage and review responsibilities 4. **Maintainers**: Full project authority for proven long-term contributors ### **Governance Evolution** This lightweight governance will evolve as the community grows: - **10+ Contributors**: Add formal contributor guidelines - **Community Growth**: Implement more structured decision processes - **Multiple Maintainers**: Establish maintainer team processes --- ## 🚀 Getting Started ### **New Contributors** 1. **Read** this governance and project README 2. **Browse** open issues labeled `good first issue` 3. **Ask Questions** in GitHub Discussions 4. **Start Small** with documentation or test improvements 5. **Follow** the pull request process ### **Quick Links** - **[Development Plan](wikijs_sdk_release_plan.md)**: Current roadmap and priorities - **[Architecture](wikijs_sdk_architecture.md)**: Technical design overview - **[CLAUDE.md](../CLAUDE.md)**: AI-assisted development workflow - **[Contributing Guide](../CONTRIBUTING.md)**: Detailed contribution process *(Coming Soon)* --- **Questions about governance?** Start a discussion or reach out to the maintainer directly. We're here to help and always open to improving our processes! **Ready to contribute?** Check out our [current development priorities](wikijs_sdk_release_plan.md) and jump in!