Files
DeviceManager/CONTRIBUTING.md

44 lines
1.0 KiB
Markdown

# Contributing
## UX Principles
- **Opinionated.** There should never be two ways to do the same thing.
- **Intuitive.** If a feature needs a description to explain it,
the feature has failed.
- **Simple.** No useless buttons that always need to be pressed.
## UI Design
The UI design is based on Material 3.
## Development Setup
### Nix
[Enable flakes](https://nixos.wiki/wiki/Flakes#Enable_flakes), then start the development shell using
```shell
nix develop
```
You may need to run through some additional setup to get Rust running inside IntelliJ.
### Other platforms
- NodeJS >=18.16
- Python >=3.10
- Rust Stable (For Tauri Development)
I know, python in JS projects is extremely annoying. Unfortunately,
it seems to be the only platform that offers a functional
way to subset variable woff2 fonts with ligatures.
In other words, either have python as a development dependency or
serve a 3.5MB icons font of which 99.5% is completely unused.
To generate the icons use the following command:
```shell
npm run minify-icons
```