Part of #65, and the first pull request against #64.
Commands
Everything here has a Core operation on main or in an open pull request.
| Command |
Operation |
borea settings show |
IBoreaSettingsRepository.GetAsync |
borea settings set game <dir> |
IBoreaSettingsRepository.SaveAsync |
borea settings set loader <id> <dir> |
the loader map from #58 |
borea game version |
the installed build from #57, and the master server's build from LatestVersionPing |
borea index refresh |
IContentIndexFetcher.FetchAsync from #60, reporting downloaded or not modified |
borea instance list |
IInstanceRepository.GetAllAsync, marking the active one |
borea instance create <name> |
CreateAsync with InstanceSource.Custom |
borea instance rename, delete, activate |
RenameAsync, DeleteAsync, SetActiveInstanceAsync |
borea instance mods <instance> |
the manifest entries in load order, GetEntriesAsync from #62 |
borea enable <id> --instance <name>, borea disable |
IModStateRepository.SetActiveAsync and SetInactiveAsync |
settings set comes first, because without it nothing can point the CLI at a game.
An instance is named on the command line by its display name, and by id when two names differ only in case.
Tests
One test per command, plus: no settings file, an instance name that is taken, an unknown instance, a disabled mod that stays disabled through enable of another mod.
Not in scope
Anything from the index beyond fetching it, and anything that writes a mod folder.
Depends on
#64, #57, #58, #60, #62.
Part of #65, and the first pull request against #64.
Commands
Everything here has a Core operation on
mainor in an open pull request.borea settings showIBoreaSettingsRepository.GetAsyncborea settings set game <dir>IBoreaSettingsRepository.SaveAsyncborea settings set loader <id> <dir>borea game versionLatestVersionPingborea index refreshIContentIndexFetcher.FetchAsyncfrom #60, reporting downloaded or not modifiedborea instance listIInstanceRepository.GetAllAsync, marking the active oneborea instance create <name>CreateAsyncwithInstanceSource.Customborea instance rename,delete,activateRenameAsync,DeleteAsync,SetActiveInstanceAsyncborea instance mods <instance>GetEntriesAsyncfrom #62borea enable <id> --instance <name>,borea disableIModStateRepository.SetActiveAsyncandSetInactiveAsyncsettings setcomes first, because without it nothing can point the CLI at a game.An instance is named on the command line by its display name, and by id when two names differ only in case.
Tests
One test per command, plus: no settings file, an instance name that is taken, an unknown instance, a disabled mod that stays disabled through
enableof another mod.Not in scope
Anything from the index beyond fetching it, and anything that writes a mod folder.
Depends on
#64, #57, #58, #60, #62.