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.

  1. Open an Issue: Go to our GitLab issue tracker to file a report.
  2. Use the Template: Select the bug report template and fill it out as completely as you can.
  3. Be Descriptive: Clearly describe the problem. Your environment (OS, browser, etc.), screenshots, and videos are extremely helpful.
  4. Tag It: Please select the Awaiting Review milestone and add any necessary labels to the task.
  5. 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.

  1. Open an Issue: Add a new issue on GitLab.
  2. Use the Template: Select the feature request template.
  3. Explain the "Why": Describe what you want the feature to be and, most importantly, why it would be a valuable addition to ArtisanPack UI.
  4. Tag It: Please select the Awaiting Review milestone and add any necessary labels.
  5. 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.

  1. Check First: Before you start, please make sure a merge request for your change doesn't already exist.
  2. Use the Right Template: Add a new merge request and select the proper template:
  3. Bug: For MRs that fix a bug.
  4. Feature: For MRs that merge a new feature into ArtisanPack UI.
  5. Task: For MRs that complete a specific task issue.
    (The Release template is for maintainer use only).
  6. Be Thorough: Fill out all sections of your selected template.
  7. 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.