* feat: parallel apply command
fix: show general help for --help flag
fix: don't append channel if it doesn't exist
chore: build against windows and linux
* chore: lint
* feat: use mod version targets
* chore: lint
* chore: remove unused
* chore: target dev on ci
* fix: rename WindowsNoEditor target to Windows
fix: close file reader
* fix: ensure closure of downloaded mod
* fix: ensure all important events are sent
* fix: lock adding files to cache
---------
Co-authored-by: mircearoata <mircearoatapalade@gmail.com>
* chore: move mod downloading to cli/cache
* feat: data providers, ficsit and local
* feat: keep cache in memory, load on init
* feat: log invalid cache files instead of returning error
* chore: make linter happy
* feat: fill cached mod Authors field from CreatedBy
* chore: make linter happy again
* feat: add icon and size to cached mods
* feat: cache the cached file hashes
* fix: change to new provider access style
---------
Co-authored-by: Vilsol <me@vil.so>
* feat: vanilla toggle per install
* fix: update set-vanilla cmd description
* fix: use viper for the set-vanilla off flag
* fix: writing lockfile when the directory didn't exist
* fix: check for nil selected install in header vanilla message
---------
Co-authored-by: Vilsol <me@vil.so>
* refactor: separate resolving tests
* feat: use pubgrub to resolve dependencies
* feat: show friendly mod name in error message
* feat: show single version in error message when only one matches
* ci: update go version to match go.mod
* feat: format FactoryGame incompatibility and term
* chore: fetch all necessary data of the version at once
* chore: upgrade pubgrub
* chore: upgrade pubgrub
* ci: update golangci-lint version for go 1.21
* chore: lint
* chore: update go version in readme