Skip to content

Latest commit

 

History

History
78 lines (46 loc) · 4.38 KB

CONTRIBUTING.md

File metadata and controls

78 lines (46 loc) · 4.38 KB

Contributing to Craft CMS

Thanks for taking the time to contribute! We really appreciate it.

The following is a set of guidelines for contributing to Craft CMS and its first party plugins, which are hosted in the Craft CMS organization on GitHub. These are just guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in an issue or pull request.

Table of Contents

What to Know Before You Contribute

Craft isn’t FOSS

Let’s get one thing out of the way: Craft CMS is 😈proprietary software😈. Everything in this repo, including community-contributed code, is the property of Pixel & Tonic.

That comes with some limitations on what you can do with the code:

  • You can’t change anything related to licensing, purchasing, edition/feature-targeting, or anything else that could mess with our alcohol budget.
  • You can’t publicly maintain a long-term fork of Craft. There is only One True Craft.

Code of Conduct

Please take a couple minutes to read through Craft’s code of conduct. By participating here, you are expected to uphold this code. Please report unacceptable behavior to us from craftcms.com/contact.

Security Disclosures

If you discover a security vulnerability, please review our Security Policy, then report the issue directly to us from craftcms.com/contact. We will review and respond privately via email.

Bug Reports & Feature Requests

Before submitting bug reports and feature requests, please search through open issues to see if yours has already been filed.

If you do find a similar issue, upvote it by adding a 👍 reaction. Only leave a comment if you have relevant information to add.

If no one has filed the issue yet, submit a new one. Please include a clear description of the issue, and as much relevant information as possible, including a code sample demonstrating the the issue.

Documentation Edits

Craft’s documentation lives within the docs/ folder within this repo. Improvements or corrections to them can be submitted as a pull request.

The documentation is powered by VuePress. To preview documentation changes before committing them, go to the docs/ folder within your terminal, and run these commands:

# Install npm dependencies
npm install

# Build + run the VuePress dev server
npm run docs:dev

Once the VuePress dev server is up and running, you’ll be able to view the docs at http://localhost:8000/. Changes you make to the .md files within docs/ will automatically trigger a live reload of the pages in the browser.

Control Panel Translations

Craft’s Control Panel translations are located at src/translations/ in the repo. You can make translation improvements directly to those files.

Core Enhancements

If you would like to work on a new core feature or improvement, first create a Github issue for it if there’s not one already. As much as we appreciate community contributions, we are pretty selective about which sorts of features should make it into Craft itself rather than a plugin, so don’t take it the wrong way if we advise you to pursue the idea as a plugin instead.

Pull Requests

Pull requests should clearly describe the problem and solution. Include the relevant issue number if there is one. If the pull request fixes a bug, it should include a new test case that demonstrates the issue, if possible.


Thanks for being awesome.

🍸