In this document you will find more information on what GPM or Games Package Manager is, what is its purpose and how could you use it effectively.
First comes the section bout unique keywords used to describe GPM and its environment.
Explanation on what is GPM and its purpose.
What GPM offers through its set of commands.
Project: a project is the foundation of GPM, it is a directory on the user's disk where dependencies can be added to form a modpack. The project can be composed only of dependencies, source code for a new mod or both.
Package: a package is what a project becomes once it is stored in the store. A package is an archive with its own folder architecture and metadata files
Dependency: a dependency is essentially a
package that a
project depends on.
Remote or a
Store: is a server on the internet storing the
Packages and exposes them to the users in an organised way.
Local package cache:*
Game Package Manager is a CLI tool that will enable:
Download of mod packages from stores.
Installation of mod packages from stores or locally to a game.
Uninstall mod packages.
Upload package mods for stores.
Required dependencies will be handled by GPM.
For downloading dependency from a repository or by providing a path locally.
Removes locally installed dependency.
Lists available dependencies.
Initializes a project for creating a dependency.
Starts the currently active project's game with selected dependencies installed.
Builds a project with metadata into a package.
Builds a project with metadata into a package then publishes to a store.
Enables a locally installed dependency.
Disables a currently enabled dependency locally.
Lists stores that are already installed.
Adds a store to
Removes a previously installed store specified by URL.
Queries packages from added remotes.
Lists packages in the local package cache.
Download and add a package to the local package cache
Deletes a package from the local package cache.
TOML --> JSON.
License will have a SPDX Expression
Basic metadata should be made through CLI when triggered by
Contains title and small description up to 250 chars.
Specified game listed in metadata?
There will be a default source
Adding insecure remote connections could prove a security concern.
allowlists and denylists will be implemented.
Mods will be encrypted.
Identifiers or priority for stores to address duplicate mods across repositories.
VFS 3 Categories.