Contributing¶
Thank you for your interest in contributing to sheets.
Contributions of all kinds are welcome.
This includes:
- Bug reports
- Feature requests
- Performance improvements
- Documentation improvements
- Test coverage improvements
- Code contributions
Development Setup¶
Clone the repository:
1 2 | |
Build the native module:
1 | |
Project Structure¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Running Tests¶
Run the test suite:
1 | |
All tests should pass before submitting changes.
Coding Guidelines¶
Lua Code¶
- Use clear and readable code
- Prefer small focused functions
- Follow existing module style
- Add comments for non-obvious logic
Example style:
1 2 3 4 | |
C Code¶
Performance-critical logic lives in:
1 | |
Guidelines:
- Keep C code minimal
- Prioritize performance
- Avoid unnecessary allocations
- Document complex logic
Contribution Workflow¶
- Fork repository
- Create feature branch
- Make changes
- Add/update tests
- Run tests
- Submit pull request
Example:
1 | |
Reporting Bugs¶
When reporting issues, please include:
- Lua version
- Operating system
- Error message
- Reproduction steps
- Example CSV input (if relevant)
Example:
1 2 3 | |
Feature Requests¶
Feature requests are welcome.
Examples:
- Streaming parser
- Type inference
- Schema validation
- Async reader
- Performance improvements
Areas for Contribution¶
Some high-impact contribution areas:
- Performance optimization
- Streaming parser support
- Improved dialect detection
- Documentation improvements
- Additional tests
Code of Conduct¶
Please be respectful and constructive.
We aim to maintain a welcoming and collaborative environment.
Questions?¶
Open an issue or start a discussion on GitHub.
Thank you for helping improve sheets.