waveterm/CONTRIBUTING.md

56 lines
3.0 KiB
Markdown

# Contributing to Wave Terminal
We welcome and value contributions to Wave Terminal! Wave is an open source project, always open for contributors. There are several ways you can contribute:
- Submit issues related to bugs or new feature requests
- Fix outstanding [issues](https://github.com/wavetermdev/waveterm/issues) with the existing code
- Contribute to [documentation](./docs)
- Spread the word on social media (tag us on [LinkedIn](https://www.linkedin.com/company/wavetermdev), [Twitter/X](https://x.com/wavetermdev))
- Or simply ⭐️ the repository to show your appreciation
However you choose to contribute, please be mindful and respect our [code of conduct](./CODE_OF_CONDUCT.md).
> All contributions are highly appreciated! 🥰
## Before You Start
We accept patches in the form of github pull requests. If you are new to github, please review this [github pull request guide](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
### Contributor License Agreement
Contributions to this project must be accompanied by a Contributor License Agreement (CLA). You (or your employer) retain the copyright to your contribution, this simply gives us permission to use and redistribute your contributions as part of the project.
> On submission of your first pull request you will be prompted to sign the CLA confirming your original code contribution and that you own the intellectual property.
### Style guide
The project uses American English.
We have a set of recommended Visual Studio Code extensions to enforce our style and quality standards. Please ensure you use these, especially [Prettier](https://prettier.io) and [EditorConfig](https://editorconfig.org), when contributing to our code.
## How to contribute
- For minor changes, you are welcome to [open a pull request](https://github.com/wavetermdev/waveterm/pulls).
- For major changes, please [create an issue](https://github.com/wavetermdev/waveterm/issues/new) first.
- If you are looking for a place to start take a look at [open issues](https://github.com/wavetermdev/waveterm/issues).
- Join the [Discord channel](https://discord.gg/XfvZ334gwU) to collaborate with the community on your contribution.
### Development Environment
To build and run Wave locally, see instructions at [Building Wave Terminal](./BUILD.md).
### UI Component Library
We are working to document all our UI components in [Storybook](https://storybook.js.org/docs) for easy reference and testing. If you would like to help us with this, we would be very grateful!
Our Storybook site is hosted [docs.waveterm.dev/storybook](https://docs.waveterm.dev/storybook).
### Create a Pull Request
Guidelines:
- Before writing any code, please look through existing PRs or issues to make sure nobody is already working on the same thing.
- Develop features on a branch - do not work on the main branch
- For anything but minor fixes, please submit tests and documentation
- Please reference the issue in the pull request