This repository has been archived on 2024-05-03. You can view files and clone it, but cannot push or open issues or pull requests.
treefmt/docs/contributing.md

143 lines
3.4 KiB
Markdown
Raw Normal View History

---
outline: deep
---
# Contribution guidelines
This file contains instructions that will help you make a contribution.
## Licensing
The `treefmt` binaries and this user guide are licensed under the [MIT license](https://numtide.github.io/treefmt/LICENSE.html).
## Before you contribute
Here you can take a look at the [existing issues](https://github.com/numtide/treefmt-go/issues). Feel free to contribute, but make sure you have a
[GitHub account](https://github.com/join) first :slightly_smiling_face:.
If you're new to open source, please read GitHub's guide on [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/). It's a quick read,
and it's a great way to introduce yourself to how things work behind the scenes in open-source projects.
Before sending a pull request, make sure that you've read all the guidelines. If you don't understand something, please
[state your question clearly in an issue](https://github.com/numtide/treefmt-go/issues/new) or ask the community on the [treefmt matrix server](https://matrix.to/#/#treefmt:numtide.com).
## Creating an issue
If you need to create an issue, make sure to clearly describe it, including:
- The steps to reproduce it (if it's a bug)
- The version of `treefmt` used
The cache database is stored in a `.db` file in the `~/.cache/treefmt/eval-cache` directory.
## Making changes
If you want to introduce changes to the project, please follow these steps:
- Fork the repository on GitHub
- Create a branch on your fork. Don't commit directly to main
- Add the necessary tests for your changes
- Run `treefmt` in the source directory before you commit your changes
- Push your changes to the branch in your repository fork
- Submit a pull request to the original repository
Make sure you based your commits on logical and atomic units!
## Examples of git history
<details>
<summary>Git history that we want to have</summary>
```
* e3ed88b (HEAD -> contribution-guide, upstream/main, origin/main, origin/HEAD, main) Merge pull request #470 from zimbatm/fix_lru_cache
|\
| * 1ab7d9f Use rayon for multithreading command
|/
* e9c5bb4 Merge pull request #468 from zimbatm/multithread
|\
| * de2d6cf Add lint property for Formatter struct
| * cd2ed17 Fix impl on Formatter get_command() function
|/
* 028c344 Merge pull request #465 from rayon/0.15.0-release
|\
| * 7b619d6 0.15.0 release
|/
* acdf7df Merge pull request #463 from zimbatm/support-multi-part-namespaces
```
</details>
<details>
<summary>Git history that we are <b>trying</b> to avoid</summary>
```
* 4c8aca8 Merge pull request #120 from zimbatm/add-rayon
|\
| * fc2b449 use rayon for engine now
| * 2304683 add rayon config
| * 5285bd3 bump base image to F30
* | 4d0fbe2 Merge pull request #114 from rizary/create_method_create_release
|\ \
| * | 36a9396 test changed
| * | 22f681d method create release for github created
* | | 2ef4ea1 Merge pull request #119 from rizary/config.rs
|\ \ \
| |/ /
|/| |
| * | 5f1b8f0 unused functions removed
* | | a93c361 Merge pull request #117 from zimbatm/add-getreleases-to-abstract
|\ \ \
| |/ /
|/| |
| * | 0a97236 add get_releses for Cargo
| * | 55e4c57 add get_releases/get_release into engine.rs
|/ /
* | badeddd Merge pull request #101 from zimbatm/extreme-cachin
```
</details>
Additionally, it's always good to work on improving documentation and adding examples.
Thank you for considering contributing to `treefmt`.