Skip to content

Latest commit

 

History

History
95 lines (63 loc) · 3.23 KB

CONTRIBUTING.md

File metadata and controls

95 lines (63 loc) · 3.23 KB

Contributing Guidelines

backstage-plugins is MIT licensed and accepts contributions via GitHub pull requests. This document outlines some of the conventions on development workflow, commit message formatting, contact points, and other resources to make it easier to get your contribution accepted.

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. ❤️

Support Channels

The official support channels, for both users and contributors, are:

How to Contribute

Pull Requests (PRs) are the main and exclusive way to contribute to the project.

Local setup

Create a fork

Fork, then clone the repository:

git clone git@github.com:your_github_username/backstage-plugins.git
cd backstage-plugins
git remote add upstream https://github.com/dweber019/backstage-plugins.git
git fetch upstream

Install dependencies

yarn install

Run the plugins locally

A standalone development version of both the frontend and backend plugins are included in this repository. They can be started as follows:

yarn dev # starts both the frontend
yarn start # starts the frontend only

Making Changes

Start by creating a new branch for your changes:

git checkout main
git fetch upstream
git rebase upstream/main
git checkout -b new-feature

Make your changes, then ensure that yarn lint and yarn test still pass. If you're satisfied with your changes, push them to your fork.

git push origin new-feature

Then use the GitHub UI to open a pull request.

Your changes are much more likely to be approved if you:

Creating Changesets

We use changesets in order to prepare releases. To make the process of generating releases easy, please include changesets with your pull request. This will result in a every package affected by a change getting a proper version number and an entry in its `CHANGELOG.md.

When to use a changeset?

Any time a patch, minor, or major change aligning to Semantic Versioning is made to any published package in plugins/, a changeset should be used. In general, changesets are not needed for the documentation, build utilities or similar.

How to create a changeset

  1. Run yarn changeset
  2. Select which packages you want to include a changeset for
  3. Select impact of change that you're introducing, using minor for breaking changes and patch otherwise.
  4. Explain your changes in the generated changeset. See examples of well written changesets.
  5. Add generated changeset to git
  6. Push the commit with your changeset to the branch associated with your PR

For more information, checkout adding a changeset documentation in the changesets repository.