slint/CONTRIBUTING.md
Tobias Hunger e5ecb9cf6c infra: Test out mise
I found `mise` a tool to help manage development projects.
https://mise.jdx.dev/

It basically can manage ENV vars based on the directory you are in,
manages tools you need (and makes thoser available based on the
directory you are in), and allows to define simple tasks that can
then be shared between developers.

Tools can be found in npm, pipx, aqua, binaries on github, ...
and it tries to verify signatures and all that (if supported by the
repo the data comes from).

I replaces the entire autofix workflow with mise tooling and tasks,
just to give it a try :-)

To reproduce:

```sh
> cargo install mise # to get the tool itself

# Follow the necessary step
# https://mise.jdx.dev/installing-mise.html#shells
# to intergate into your shell

> cd /your/slint/folder

# Mise will now ask whether or not to trust this dir and prints the
# command needed to do so. Run that.

> mise install # Install all the tools defined in .mise/config.toml

# Add a .mise.local.toml with local overrides. Git will ignore this file.
# Or add tasks into .mise/tasks/local ... Git will also ignore those.

> mise run 'ci:autofix:**:all' # To run all the ci:autofix tasks.
```

It is so much fatser to see these checks fail locally than it is to
bother CI with them :-)
2025-03-20 16:33:00 +01:00

1.5 KiB

Contributing

We warmly welcome contributions to the project. Let's discuss ideas or questions in Github discussions. Please feel welcome to open GitHub issues, pull requests, or comment for example on RFC tagged issues.

Issues which we think are suitable for new contributors are tagged with good first issue.

Internal documentation

Contributor License Agreement

All contributions are accepted under the terms of the MIT No Attribution License. Please note that you must have written the contribution 100% yourself and that no rights have been transferred to third parties (e.g. your employer). In any other case, please let us know.

When opening a pull request, you will be asked to sign a Contributor License Agreement (CLA).

Coding Style

For the Rust portion of the code base, the CI enforce the coding style via rustfmt. For the C++ portion of the code base, the CI enforce the coding style via clang-format.