Contributing guide
🤝 Contribution Guide
Thank you for your interest in contributing to ProFresh — we're thrilled to have your support! Whether it’s fixing a typo or building a new feature, every contribution counts.
🧠 General Guidelines
Be patient: We aim to review community pull requests as soon as possible, but please understand that it may take a few days (or longer) depending on the complexity.
No contribution is too small: Typos, documentation improvements, small bug fixes — all are welcome and valuable.
Keep things simple: ProFresh aims to stay lightweight and maintainable. Avoid over-complicating code or introducing unnecessary dependencies.
Done is better than perfect: We prefer shipping small, useful features quickly over polishing indefinitely.
🧱 Project Philosophy
ProFresh is built using Laravel on the backend and Vue.js on the frontend. Our goal is to keep the codebase clean, modular, and easy to maintain.
Avoid adding new technologies unless necessary.
Stick to the conventions and tools already in use.
If your PR adds significant complexity or introduces a third-party service (e.g., Redis), open an issue first to discuss it.
🌿 Git Workflow
We follow GitHub Flow. Please:
Fork the repository.
Create a new feature branch.
Make your changes.
Submit a pull request (PR) with a clear title and description.
🔤 Commit Message Convention
We use conventional commit message for clear, consistent commit history.
Examples:
✅ feat(tasks): add ability to assign task to user
✅ fix(auth): handle 2FA fallback correctly
Supported types:
feat
: New featurefix
: Bug fixdocs
: Documentation changesstyle
: Formatting only (no code change)refactor
: Code improvement (no bug or feature)test
: Adding or fixing testschore
: Other changes (e.g. build or tooling)ci
: Continuous integration updates
🧪 Backend Code Standards
Keep services and controllers small and single-purpose.
Prefer service classes over bloated controllers.
Follow object calisthenics where possible (e.g., one level of indentation per method).
Write unit tests for new backend logic.
Keep each PHP class under 100 lines where feasible.
🎨 Frontend Contribution
If your change affects the UI, please:
Open an issue first with mockups or a description.
Stick to the current design language (spacing, typography, modals, colors).
Use Vue.js with clean, reactive patterns.
Avoid custom CSS unless absolutely necessary.
Don't introduce jQuery or extra frontend libraries unless discussed.
⚙️ Tech Stack Reminders
We use Vite for frontend tooling.
Vue components communicate with Laravel via API endpoints.
Stick to Bootstrap for styling wherever possible.
🧩 Summary
We love seeing contributions of all kinds. ProFresh is a community-driven effort, and your help makes it better for everyone. Keep it clean, simple, and collaborative — and let's build something great together.
Last updated