Supporting UserFrosting
- Contributing time
- Contributing code and content
- Contributing to Documentation
- Financial support
- Code of Conduct
- Questions?
Contributing time
Our chat room welcomes users from all over the world seeking help 24/7. The core development team appreciates community members who help answer questions and support fellow users.
If you feel comfortable with UserFrosting, consider keeping a browser tab open to our chat room and helping other users when you have time. Your assistance is invaluable to the community!
Contributing code and content
We welcome pull requests! Based on your skills and interests, you might contribute:
- Documentation improvements - Fix typos, clarify explanations, add examples
- Language translations - Help internationalize UserFrosting
- Bug fixes - Resolve issues and improve stability
- Feature enhancements - Implement requested features (after discussion)
- Testing - Write or improve unit/integration tests
Note
Before starting work on a new feature, discuss it with the dev team in our chat room or GitHub Discussions. This ensures your contribution aligns with the project's vision and technical requirements.
UserFrosting is fully modular - additional features might be better implemented as a custom Sprinkle rather than added to the core framework. Join us in chat to discuss the best approach for your feature.
Style and Coding Standards
All contributions should follow these standards:
- PHP: Follow PSR-12 coding style standard
- TypeScript/JavaScript: Follow project conventions (check existing code)
- Vue Components: Use Vue 3 Composition API patterns
- CSS: Follow the project's existing styling patterns
- Documentation: Use clear, concise language with proper Markdown formatting
Consider using automated tools:
- PHP: PHP CS Fixer and PHPStan
- Frontend: ESLint and Prettier (configured in the project)
Contributing to the Monorepo
UserFrosting uses a centralized monorepo for core development. This repository contains the framework and core sprinkles.
Pull request guidelines:
- Fork the repository and create a feature branch from
main - Write clear commit messages describing your changes
- Test your changes - add or update tests as needed
- Update documentation if you're changing public APIs
- Submit a pull request against the
mainbranch - Update CHANGELOG.md with your changes
Branch naming conventions:
feature/description- New featuresfix/description- Bug fixesdocs/description- Documentation updatesrefactor/description- Code refactoring
Tip
Before submitting your pull request, make sure all tests pass and there are no linting errors. Run composer test and npm run lint to verify.
Contributing to Documentation
Documentation lives in the learn repository. To contribute:
- Fork the repository
- Edit Markdown files in
app/pages/{version}/ - Follow the documentation style guide
- Test locally by running the documentation site
- Submit a pull request
Documentation best practices:
- Use clear, educational language aimed at varying skill levels
- Include practical code examples
- Add images where they clarify concepts (store in
app/pages/{version}/images/) - Cross-reference related pages
- Test all code snippets to ensure accuracy
Financial support
UserFrosting is completely free and open source, and licensed under the MIT License.
That being said, yes, we'll take your money!
Your financial contribution will help keep our chat and demo servers going. And, who knows? Maybe enough people will donate and we can make UserFrosting our full-time job ;-)
The easiest way to contribute financially is through Open Collective or Ko-fi.
You can also help pay for our web and chat server costs by signing up with DigitalOcean using our referral link. Once you've spent $25 with them, we'll earn $25 towards our own DigitalOcean account.
Code of Conduct
UserFrosting follows a Code of Conduct to ensure a welcoming, inclusive community. By participating, you agree to uphold these standards.
Questions?
If you have questions about contributing:
- Join our chat room
- Start a GitHub Discussion
- Check the contributing guidelines in the repository
Thank you for helping make UserFrosting better! 🙏