Developer
Everything that applies across the projects rather than to one of them: how they are built, how they are installed, what changed recently, and the house rules that keep seven repositories from drifting apart.
Every project builds from a clean checkout with the toolchain for its language and nothing else. If a build needs a step that is not here, that is a bug in the repository, not in your setup.
Step 1
Get the toolchain
Flutter projects need a matching Flutter 3.x. The Python and Node projects pin their versions in the repository rather than assuming what you have.
$ flutter --version # Vixeo, Mint, Musillow, Viewr client
$ python3 --version # Coin Vault, Viewr backend
$ node --version # EthaMail, Musillow serverStep 2
Install dependencies
No project vendors its dependencies. Each has one command that fetches everything it needs.
$ flutter pub get
$ pip install -r requirements.txt
$ npm installStep 3
Build
Release builds are the default target. Debug builds are for development and are not what gets published.
$ flutter build apk --release
$ flutter build linux --release
$ ./gradlew assembleRelease # DocsStep 4
Check before you ship
The same three commands work in every repository that has them. If one fails, the build is not finished.
$ make fmt
$ make test
$ make lint