mirror of
https://github.com/Ukendio/jecs.git
synced 2025-04-24 17:10:03 +00:00
2.3 KiB
2.3 KiB
Contributing to Jecs
Thank you for your interest in contributing to Jecs! This document will help you get started with contributing to the project.
Code of Conduct
We expect all contributors to follow our Code of Conduct. Please be respectful and professional in all interactions.
Ways to Contribute
There are many ways to contribute to Jecs:
- Bug Reports: Report bugs through GitHub Issues
- Feature Requests: Suggest new features or improvements
- Documentation: Help improve or translate documentation
- Code Contributions: Submit pull requests for bug fixes or features
- Examples: Create example projects using Jecs
Development Setup
- Fork and clone the repository:
git clone https://github.com/your-username/jecs.git
cd jecs
- Install dependencies:
# Using Wally (Luau)
wally install
# Using npm (TypeScript)
npm install
- Run tests:
# Luau tests
luau test/tests.luau
Code Style
- Follow existing code style and formatting
- Use clear, descriptive variable and function names
- Add comments for complex logic
- Include type annotations
- Write tests for new features
Commit Messages
- Use clear, descriptive commit messages
- Start with a verb in present tense (e.g., "Add", "Fix", "Update")
- Reference issue numbers when applicable
Example:
Add relationship query caching (#123)
- Implement query result caching for relationship queries
- Add cache invalidation on component changes
- Update documentation with caching examples
Documentation
When adding new features or making changes:
- Update relevant API documentation
- Add examples demonstrating usage
- Update type definitions if necessary
- Consider adding performance benchmarks for significant changes
Testing
- Add tests for new features
- Ensure all tests pass before submitting PR
- Include performance tests for performance-critical code
- Test both Luau and TypeScript implementations
Getting Help
If you need help:
- Join our Discord server
- Ask questions in GitHub Discussions
- Check existing issues and documentation
License
By contributing to Jecs, you agree that your contributions will be licensed under the MIT License.