Contributing
Docs / Community / Contributing
Thank you for your interest in contributing to ZenECS! This guide will help you get started.
How to Contribute
Reporting Issues
Found a bug or have a feature request?
- Check existing issues - Search for similar issues first
- Create new issue - Use appropriate template
- Provide details - Include steps to reproduce, environment info
- Be patient - Maintainers will respond when available
Contributing Code
Want to submit code changes?
- Fork the repository
- Create a branch -
feature/my-featureorfix/my-bug - Make changes - Follow coding standards
- Write tests - Ensure your code is tested
- Submit PR - Include description and reference issues
Contributing Documentation
Documentation improvements are always welcome!
- Find documentation issues - Check TODO items
- Improve clarity - Fix typos, add examples
- Add missing docs - Document new features
- Submit PR - Follow documentation guidelines
Development Setup
Prerequisites
- .NET SDK 8.0+ or Unity 2021.3+
- Git for version control
- IDE (Visual Studio, Rider, or VS Code)
Getting Started
Clone repository
git clone https://github.com/Pippapips/ZenECS.git cd ZenECSBuild Core
cd src dotnet build ZenECS.Core.csprojBuild Adapter Unity
dotnet build ZenECS.Adapter.Unity.csprojRun tests (if available)
dotnet test
Coding Standards
C# Style
- C# 10+ features - Use modern C# syntax
- Nullable reference types - Enable nullable context
- XML documentation - Document all public APIs
- Naming conventions - Follow C# conventions
Code Organization
- One class per file - Keep files focused
- Namespace organization - Logical grouping
- Partial classes - For large classes (like World)
- Internal types - Use for implementation details
Documentation
- XML comments - All public APIs
- Examples - Include code examples
- Remarks - Explain behavior and edge cases
- See also - Link to related APIs
Pull Request Process
Before Submitting
- [ ] Code compiles without errors
- [ ] Tests pass (if applicable)
- [ ] Documentation updated
- [ ] Changelog updated (if needed)
- [ ] Code follows style guidelines
PR Description
Include:
- What - What changes were made
- Why - Why these changes are needed
- How - How the changes work
- Testing - How to test the changes
Review Process
- Automated checks - CI/CD runs tests
- Code review - Maintainers review code
- Feedback - Address review comments
- Merge - Once approved, PR is merged
Areas for Contribution
High Priority
- Documentation - Improve existing docs, add examples
- Samples - Create example projects
- Tests - Add unit tests and integration tests
- Performance - Optimize hot paths
Medium Priority
- Features - Implement requested features
- Bug fixes - Fix reported issues
- Tooling - Improve editor tools
- Localization - Translate documentation
Low Priority
- Code cleanup - Refactor and improve code
- Examples - Add more code examples
- Tutorials - Create tutorial content
Code of Conduct
Please read and follow our Code of Conduct.
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Questions?
- GitHub Issues - For bug reports and feature requests
- Discussions - For questions and discussions
- Email - For private inquiries
See Also
- Code of Conduct - Community guidelines
- Documentation Guidelines - Writing docs
- Architecture - Understanding the codebase