We're thrilled that you're considering contributing and we appreciate your interest. To create a positive and productive experience for all contributors, we've outlined a few guidelines for you to follow. Please familiarize yourself with these rules before you begin, to ensure a smooth and effective contribution process.
Before you dive into making any significant changes, please start a discussion with us. This is a crucial first step in avoiding misunderstandings or unnecessary work. To do this, you can:
Open an issue in the project repository discussing your proposed feature or bug fix.
Mention the scope and the nature of the changes you plan to implement.
This dialogue allows us to provide feedback, suggest adjustments, or coordinate with other ongoing tasks that could intersect with your proposed changes. It also gives us the chance to clarify any queries you might have about the contribution process, our tech stack, or the project in general.
This pre-discussion isn't just about us understanding your ideas; it's also about ensuring that you have a clear path forward and feel supported in your efforts. We want your time with us to be valuable, inspiring, and frustration-free.
Now, let's delve into how you can contribute to our projects.
If you wish to contribute a new feature or bug fix that adheres to our existing tech stack or framework, we encourage you to contribute directly to our main repository. Here are some key guidelines to keep in mind:
-
Fork and clone the repository: Start by forking the project repository and then clone it to your local machine. This will give you a local copy of the project to work with.
-
Create a new branch: Make a new branch for your feature or bug fix. The branch name should be descriptive and reflect the nature of the change you're making. Please follow Conventional Commit guidelines listed here
-
Implement your changes: Ensure that your changes are clear, concise, and adequately tested.
-
Commit and push your changes: Regularly commit your changes with clear, detailed messages describing what was changed and why. Push these changes to your forked repository on GitHub.
-
Open a pull request: Back on the main project repository on GitHub, open a new pull request from the branch of your forked repository where you made your changes. Provide a detailed description of your changes and why they are necessary.
-
Code review: Once your pull request has been opened, it will be reviewed by our team. They may suggest changes or improvements, which you should implement and push to your branch.
If you are interested in creating a similar project using a different tech stack or framework, this initiative is very welcome. However, the contribution will have to go to a separate organization, this could be your own organization or vuestorefront-community
. Please contact us if you’d like to have your project in the vuestorefront-community.
We're thrilled to feature your contribution to our platform, whether 3rd party or community! While we'll be spotlighting your fantastic work as a Vue Storefront implementation, the exciting task of maintaining and honing it will be yours to embrace. This is your opportunity to be the superhero of your very own project.
You'll be happy to hear that we're more than willing to shine a spotlight on your project, amplifying its reach within our community. All we ask is for your project to stay true to the high-quality standards and conditions that our Vue Storefront community values. By doing so, you will secure your space in our carefully curated showcase of top-tier implementations. Come, join us on this exciting journey!
a. Minimum agreed scope: Your project must have a clearly defined scope that aligns with our general goals. It should be agreed upon before you start your work. This will ensure that the project serves a clear purpose and meets the necessary requirements.
b. Similar docs structure: We encourage you to follow a similar documentation structure to ours. This will make it easier for other contributors to understand and work with your project. In the best-case scenario, you should use our template to ensure consistency and ease of use.
c. Quality standards: It is important that your project meets certain quality standards. This means writing clean, efficient code, following best practices, and thoroughly testing your project. This will help ensure that your project is robust, reliable, and easy to maintain.
In both cases, we encourage open and regular communication. Please feel free to reach out to us if you have any questions, suggestions, or concerns. We look forward to seeing your contributions!