# 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](https://github.com/wavetermdev/waveterm-docs)
   * Spread the word on social media (tag us on [LinkedIn](https://www.linkedin.com/company/commandlinedev), [Twitter/X](https://twitter.com/commandlinedev))
   * 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. 

Coding style and formatting is automated for each pull request. We use [Prettier](https://prettier.io/).

## 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 term locally see instructions below:
   * [MacOS build instructions](./BUILD.md)
   * [Linux build instructions](./build-linux.md)

### 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