# Contributing to this project

First off, thanks for taking the time to contribute! 🎉

When contributing to this repository, please first describe the change you wish to make [via an issue](https://github.com/cardano-foundation/cardano-connect-with-wallet/issues/new) before making a change. For every other form of discussion use the [discussions section](https://github.com/cardano-foundation/cardano-connect-with-wallet/discussions) of this repo.
Please note we have a [code of conduct](https://github.com/cardano-foundation/cardano-connect-with-wallet/blob/main/CODE_OF_CONDUCT.md), please follow it in all your interactions with the project.

## Development

### Testing and playing around

We use [Storybook](https://storybook.js.org/) to test and explore the components. Because of the hot reload feature, storybook is also very useful during the development process.

```zsh
npm i
npm run storybook
```

### Create the bundle

```zsh
npm run rollup
```

## Issues and pull requests

### Bug reports

[Submit an issue](https://github.com/cardano-foundation/cardano-connect-with-wallet/issues/new) using the provided template for bug reports. If the template does not fit your purpose start with a blank issue.

For bug reports, it's very important to fill in the information in the structure provided by the templates to help us analyzing the bug.

### Feature requests and ideas

[Submit an issue](https://github.com/cardano-foundation/cardano-connect-with-wallet/issues/new) using the provided template for feature requests. If the template does not fit your purpose start with a blank issue but make sure the name starts with a "FEATURE" in square brackets.

If you are starting with a very vague idea instead of a concrete feature request post it in the [discussions section](https://github.com/cardano-foundation/cardano-connect-with-wallet/discussions) of the repository where we can refine the idea with you and create a structured feature request from it.

### Creating a pull request

Thank you for contributing your changes by opening a pull requests! To get something merged we usually require:

- ❗ Description of the changes - please follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/#specification) as we use it to automatically generate our CHANGELOG ❗
- Quality of changes is ensured - through new or updated automated tests
- Change is related to an issue (feature request or bug report) - ideally discussed beforehand
- Well-scoped - we prefer multiple PRs, rather than a big one
