Thank you for your interest in contributing to SLOP! 🎉
- 🐛 Report Bugs - Found an issue? Open a bug report
- 💡 Request Features - Have an idea? Suggest a feature
- 📖 Improve Docs - Documentation can always be better
- 🔧 Submit Code - Fix bugs or implement features
- 💬 Join Discussions - Share your experience and help others
- Go 1.21 or higher
- Git
- Node.js 18+ (for documentation site)
-
Fork the repository
-
Clone your fork
git clone https://github.com/YOUR_USERNAME/slop.git cd slop -
Create a branch
git checkout -b feature/your-feature-name
-
Install dependencies
go mod download
-
Run tests
go test ./...
- Follow standard Go conventions (
gofmt,golint) - Write tests for new features
- Keep functions focused and small
- Document exported functions and types
- All tests must pass before submitting PR
- Use clear, descriptive variable names
- Add comments for complex logic
- Follow the examples in
examples/
- Use clear, concise language
- Include code examples
- Update relevant docs when changing features
- Test documentation locally before submitting
Run the full test suite:
# All tests
go test ./...
# Specific package
go test ./internal/parser/...
# With coverage
go test -cover ./...
# Verbose mode
go test -v ./...-
Ensure all tests pass
go test ./... -
Format your code
gofmt -w . -
Commit your changes
git add . git commit -m "Brief description of changes"
-
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your branch
- Fill out the PR template
- Link any related issues
- ✅ Clear description of changes
- ✅ All tests passing
- ✅ Documentation updated
- ✅ Small, focused changes
- ✅ Follows existing code style
## Description
Brief description of what this PR does
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Performance improvement
- [ ] Code refactoring
## Testing
- [ ] All existing tests pass
- [ ] Added tests for new functionality
- [ ] Manually tested changes
## Checklist
- [ ] Code follows project style guidelines
- [ ] Documentation updated
- [ ] No breaking changes (or documented if unavoidable)The documentation site uses Docusaurus.
cd website
npm install
npm startVisit http://localhost:3000
cd website
npm run buildPlease be respectful and constructive in all interactions. We're here to build something great together!
Thank you for contributing! 🚀