Files
grout/docs/contributing/index.md

91 lines
3.0 KiB
Markdown

# Contributing to Grout
Thank you for considering contributing to Grout! We appreciate your time and effort.
Before implementing major features, please open an issue or discuss it in the
[Grout Development Channel](https://discord.com/channels/1138838206532554853/1456747141518069906) on the
[RomM Discord](https://discord.gg/P5HtHnhUDH) to ensure alignment with the project's direction.
## Code of Conduct
By contributing, you agree to uphold our [Code of Conduct](https://github.com/rommapp/grout/blob/main/.github/CODE_OF_CONDUCT.md).
Be respectful, constructive, and welcoming to all contributors regardless of experience level.
## Ways to Contribute
Not a developer? There are many ways to help improve Grout!
### Translations
Help make Grout accessible to more users by translating it into your language. Translation files are located in `resources/locales/`.
See the [Development Guide](development.md#internationalization-i18n) for details on the i18n workflow.
### Testing & Bug Reports
- Test Grout on your device and CFW combination
- Report bugs with detailed reproduction steps
- Verify fixes in pre-release builds
- Test edge cases (slow networks, large libraries, etc.)
### Documentation
- Fix typos and improve clarity in guides
- Write tutorials for specific use cases
- Add screenshots or animated demos
- Translate documentation
### Platform Mapping Updates
Help keep CFW platform directory mappings current:
- Report incorrect or missing platform mappings for your CFW
- Test new CFW releases and note any directory structure changes
### Community Support
- Help answer questions in the [RomM Discord](https://discord.gg/P5HtHnhUDH)
- Share tips and workflows with other users
- Welcome new community members
## Getting Started (Developers)
1. Read the [Development Guide](development.md) for setup instructions
2. Fork and clone the repository
3. Create a feature branch from `main` with a descriptive name (e.g., `feature/add-search-filter`)
4. Make your changes
5. Test locally on your target CFW if possible
6. Commit with clear, descriptive messages
7. Push and open a pull request against `main`
## Pull Request Standards
- Follow existing code conventions and patterns
- Test your changes locally before submitting
- Update documentation if your changes affect user-facing behavior
- Ensure the build passes (`task build` or `go build ./...`)
- Provide a clear description of what your PR does and why
## Code Style
We use standard Go formatting and conventions:
- Run `go fmt` before committing
- Use `go vet` and `staticcheck` to catch issues
- Follow existing patterns in the codebase for consistency
## Reporting Bugs
Please [create an issue](https://github.com/rommapp/grout/issues/new/choose) with:
- Your CFW and version (muOS, Knulli, Spruce, NextUI)
- Grout version
- Steps to reproduce the issue
- Expected vs actual behavior
- Any relevant logs or screenshots
## License
By contributing, you agree that your contributions will be licensed under the MIT License.