Solid is a living framework for all basic BuzzFeed styling and we want every BuzzFeed developer to feel comfortable pitching in!
You must have an account with Github and git must be installed on your computer.
note: BuzzFeed contributors can ignore this step and clone the repo directly
Visit https://github.com/buzzfeed/solid and click the fork button.
Next, clone this fork down to your local PC. Now that you have a local fork of the repo you'll want to keep it in sync. For a deeper dive into repo forks check out github's forking documentation.
Create a fresh branch off master with a short, descriptive name.
$ git checkout -b my-feature-or-bug-branch
BuzzFeed employees are encouraged to create a branch with a name that matches the prefix of their corresponding Jira card. For example:
$ git checkout -b SOLID-300-change-fill-red-variable
Do your best to follow the SCSS patterns and examples laid out in the Solid docs.
Release notes can be found in release-notes/. Release notes must
be named year
-month
-day
-release number
.html and are written in Yaml front matter. Name your release concisely and consider the changes it includes. Jokes, on occasion, are OK. Please see existing release notes for examples.
Release numbers follow a semantic versioning scheme of major
.minor
.patch
. This allows users to safely update Solid versions without breaking their app.
Major Version: Includes serious breaking/architectural changes.
Minor Version: Adds new functionality.
Patch: Reserved for bug fixes and small changes. Users should feel safe staying up to the most recent patch version.
Example: if the current Solid version is 2.1.0
and I am drafting a new release which adds a new button color, the new version would be 2.2.0
.
$ git add .
$ git commit -m "fixes bug xxx"
This will commit your changes to your local copy of the repo, (distinct from your fork on Github).
Up until now, you've been working locally. When you're ready to share your branch, you will need to push it up to buzzfeed/solid
on Github. (Your local branches aren't automatically synchronized to the remotes you write to – you have to explicitly push the branches you want to share.)
$ git push origin my-feature-or-bug-branch
Once you're ready to submit your feature or bug, go to your fork on the web (https://github.com/YOUR_GITHUB_USERNAME/solid), and click the Pull Requests nav item at the top right.
Next, click the green New pull request button and select the following from the dropdowns:
- base fork: buzzfeed/solid
- base: master
- head fork: YOUR_GITHUB_USERNAME/solid
- compare: my-feature-or-bug-branch
If all looks good, click the green Create pull request button.
You should add a concise descriptive comment about what is in this merge, and then submit. From github's open source contribution documentation:
Make sure to be clear about what problem is occurring and how someone can recreate that problem or why your feature will help. Then be equally as clear about the steps you took to make your changes.
Someone from the team will review your request, and work with you to ensure there will be no problems on merge. Once everything is good someone from the team will merge your change in!
11. Run NPM Publish
to publish the latest version with your newly added changes. (BuzzFeed employees only)
You'll need access to Solid on NPM in order to complete this step. If you don't have access, someone in #solid on Slack will be able to grant you access.
Make sure to communicate any changes you make to library to maintain transparency and awareness for those developing with Solid.
If you want to test these changes or deploy this release to https://solid.buzzfeed.com, as well as make any changes to the documentation, see the solid_docs in mono.