# Ways to contribute

## Financial

Financial contributions are welcomed and are accepted using [Open Collective](https://opencollective.com/stashapp).

## Development-related

The Stash backend is written in Go, using a SQLite database. The UI is written in Typescript, using React. Bug fixes, improvements and new features are welcomed. Please see the [DEVELOPMENT.md](https://github.com/stashapp/stash/blob/develop/docs/DEVELOPMENT.md) file for details on how to get started. Assistance is available via our [Discord](https://discord.gg/2TsNFKt).

## Documentation

Efforts to improve documentation in Stash helps new users and reduces the number of questions we have to field in Discord. Contributions to documentation are welcomed. While submitting documentation changes via GitHub pull requests is ideal, we will gladly accept submissions via [GitHub issues](https://github.com/stashapp/stash/issues) or on [Discord](https://discord.gg/2TsNFKt).

For those with web page experience, we also welcome contributions to our [website](https://stashapp.cc/) (which as of writing is very undeveloped).

## Testing features, improvements and bug fixes

Testing is currently covered by a very small group, so new testers are welcomed. Being able to build Stash locally is ideal, but binaries for pull requests are also available.

First, you will need to be signed in to GitHub. Find and open the relevant pull request, and then click on the `Checks` tab. On the right, there should be a button titled `Artifacts` - click that, and you should get a dropdown with links to download binaries built from that pull request for Linux, Windows and macOS.

## Submitting and contributing to bug reports, improvements and new features

We welcome ideas for future improvements and features, and bug reports help everyone. These can all be found on [GitHub](https://github.com/stashapp/stash/issues).

## Providing support

Offering support for new users on [Discord](https://discord.gg/2TsNFKt) is also welcomed.
