Help us make Swift code generation more accessible! SyntaxKit is a community-driven project that thrives on contributions from developers like you.
🎯 High-Impact Areas:
- Examples & Tutorials: Show real-world SyntaxKit usage
- Documentation: Improve clarity and add missing explanations
- Bug Fixes: Help us squash issues and improve reliability
- New Features: Extend SyntaxKit's capabilities
💡 Perfect First Contributions:
- Add a new example to
/Examples/Completed/ - Fix a typo or improve documentation clarity
- Add tests for existing functionality
- Improve error messages or user experience
# Clone and set up
git clone https://github.com/brightdigit/SyntaxKit.git
cd SyntaxKit
# Verify everything works
swift build && swift test- Find an Issue: Check GitHub Issues for "good first issue" labels
- Fork & Branch: Create a feature branch from
main - Make Changes: Keep changes focused and testable
- Test: Run
swift build && swift testto ensure nothing breaks - Submit PR: Include a clear description of what you changed and why
We especially need help with:
- Tutorials: Step-by-step guides for common use cases
- Examples: Real-world code generation scenarios
- API Docs: Clear explanations with working examples
Quality Standards (Simple):
- ✅ Code examples compile and run
- ✅ Clear, helpful explanations
- ✅ Test your changes locally
Automated Validation:
- Run
./Scripts/validate-docs.shto validate all documentation - Use
./Scripts/validate-docs.sh --file path/to/file.mdfor specific files - All documentation changes are automatically tested in CI/CD
Add a New Example:
# Create a new example directory
mkdir Examples/Completed/your_example
cd Examples/Completed/your_example
# Add your example files
touch code.swift dsl.swift syntax.jsonExample Structure:
code.swift: The generated Swift codedsl.swift: The SyntaxKit code that generates itsyntax.json: Optional metadata
- Be Respectful: We're all here to learn and help
- Ask Questions: Use GitHub Discussions for help
- Share Ideas: Propose new features or improvements
- Help Others: Answer questions and review PRs
Contributors are recognized in:
- Release notes for significant contributions
- README acknowledgments
- GitHub contributor graphs
- Community showcases
- Questions: GitHub Discussions
- Bugs: GitHub Issues
- Ideas: Open a discussion or issue
Ready to contribute? Pick an issue, make a small change, and submit your first PR! Every contribution, no matter how small, makes SyntaxKit better for everyone. 🎉