Contributing
ArtisanPack UI is more than just a set of packages; it's a community-driven effort to build the ultimate toolkit for Laravel developers. We're on a mission to help developers create amazing websites, apps, and projects with unparalleled speed and quality.
But we can't do it alone.
As an open-source project, ArtisanPack UI relies on contributions from developers like you. We believe that the best tools are built together. And you don’t need to be a senior developer to make a difference.
Whether you're contributing code, writing documentation, finding bugs, or just spreading the word, there’s a place for you here.
🤝 Our Community Pledge: The Code of Conduct
To build the best tools, we first need to build the best community. We are committed to creating a safe, inclusive, and productive environment for everyone.
To that end, we have a few hard rules that everyone must abide by:
- Be Welcoming: ArtisanPack UI is open to everyone, regardless of your race, ethnicity, gender, who you love, etc..
- Zero Tolerance: We have zero tolerance for any racist, misogynistic, xenophobic, bigoted, Zionist, antisemitic, Islamophobic, or other harassing messages. This policy applies to all project spaces and private messages sent to a fellow contributor.
- Be Respectful: In short, don’t be a jerk. Be respectful when communicating with fellow contributors and respect the decisions made for the project.
- Work Together: Our goal is to collaborate to create the best possible content management system.
Failure to comply with these rules will result in a ban from the project.
💡 Ways to Make an Impact
There are many ways you can help empower other developers, even if you’re not writing code every day.
- Write Code: Help build the ArtisanPack UI core, create powerful new plugins, or design stunning themes.
- Be a Tester: Hunt for and report any bugs you find in the CMS.
- Improve Documentation: Help us write clearer, more helpful docs so others can get started faster.
- Spread the Word: Write tutorials, blog about your experience, or talk about ArtisanPack UI on your social media profiles.
🛠️ How to Contribute: The Process
Ready to jump in? Here’s the most effective way to get your contributions reviewed and included.
🐞 Reporting a Bug
Found something that doesn't look right? You're our first line of defense.
- Open an Issue: Go to our GitLab issue tracker to file a report.
- Use the Template: Select the bug report template and fill it out as completely as you can.
- Be Descriptive: Clearly describe the problem. Your environment (OS, browser, etc.), screenshots, and videos are extremely helpful.
- Tag It: Please select the Awaiting Review milestone and add any necessary labels to the task.
- Stay in Touch: A maintainer will review your report as quickly as possible. Please be responsive to any follow-up questions so we can get it resolved!
✨ Requesting a Feature
Have a game-changing idea? We want to hear it.
- Open an Issue: Add a new issue on GitLab.
- Use the Template: Select the feature request template.
- Explain the "Why": Describe what you want the feature to be and, most importantly, why it would be a valuable addition to ArtisanPack UI.
- Tag It: Please select the Awaiting Review milestone and add any necessary labels.
- Please Note: If your feature request is accepted, your original issue will be closed and transferred to a new feature issue for tracking and development.
⬆️ Submitting a Merge Request (MR)
This is the best way to contribute code, fixes, or documentation.
- Check First: Before you start, please make sure a merge request for your change doesn't already exist.
- Use the Right Template: Add a new merge request and select the proper template:
- Bug: For MRs that fix a bug.
- Feature: For MRs that merge a new feature into ArtisanPack UI.
- Task: For MRs that complete a specific task issue.
(The Release template is for maintainer use only). - Be Thorough: Fill out all sections of your selected template.
- Get Approved: Your request will need to be reviewed and approved by at least one maintainer before it can be merged.
✍️ Our Coding Standards (Naming Conventions)
To keep the codebase consistent, clean, and easy for everyone to read, we follow a few simple naming conventions.
- Class Names: Use Pascal Case (ClassName).
- Functions & Variables: Use Camel Case (functionName or variableName).
- Array Keys: Use Camel Case ($array['arrayKey']).
- Table Columns: Use Snake Case (table_column).
Let's Build Something Amazing.
Thank you for considering contributing to ArtisanPack UI. We're excited to see what we can build together.