# Contributing to gpu-curtains Whether it is for a bug fix, a new feature or a typo in the documentation, any help is more than welcome! If you think you found a bug, please check in the past [issues](https://github.com/martinlaxenaire/gpu-curtains/issues) if it has not been already reported before filing a new one. ## Installation First you can clone the project, then install all the dependencies: `npm install` or `yarn install`. You can now start working by running `npm run dev` or `yarn dev`. The project is using [Vite](https://vitejs.dev/) as a local server. ## Contributing to the codebase The code is written in [Typescript](https://www.typescriptlang.org/) and is using [eslint](https://eslint.org/) and [prettier](https://prettier.io/). The [documentation](https://martinlaxenaire.github.io/gpu-curtains/docs/) is automatically generated by [Typedoc](https://typedoc.org/) when building the project. If you need to add a new class, method or property, please add the corresponding typedoc comments, so it can be included in the doc as well. Before submitting any PR, you must ensure the project is building without throwing any error by running `npm run build` or `yarn build`. Please add a detailed description of your PR. If your PR includes a new feature, it would be highly appreciated that you'd add at least a test case to the `/tests/` directory: - [Tests repository directory](https://github.com/martinlaxenaire/gpu-curtains/tests/) - [Tests online directory](https://martinlaxenaire.github.io/gpu-curtains/tests/) ## Past and future evolutions If you have any question about how the code is structured, or any suggestion on a refactoring, new feature, or anything else, feel free to open a new [discussion](https://github.com/martinlaxenaire/gpu-curtains/discussions) on the topic.