init: set up a new Go project

melody init Generates a Melody.toml file into the current working directory. It will examine your project when trying to deduce its name and dependencies. Melody assumes that your project is in a standard $GOPATH/src location.

update: download & lock project dependencies

melody update Install the latest versions of packages specified in Melody.toml. You will use this command when initializing a new project to fetch all the necessary metadata about the dependency tree, and install them into your project’s vendor subdirectory. Once this command succeeds, you will be able to run all standard go commands without modifying your environment. melody update <package1> <package2> … Once you have your dependencies locked in Melody.

install: restore locked dependencies

melody install Uses the Melody.lock to install the specified versions of all dependencies into the vendor subdirectory of your project. You will use this command to recreate a consistent snapshot of your project’s dependencies.

get: download, build, and install a Go package

melody get PACKAGE Similar to go get, this command will download, build, and install a specified Go package. The package will be placed into $GOPATH/src directory, however, unlike go get, its dependencies will be placed into the repo’s vendor subdirectory. This way, we can keep the global $GOPATH/src clean. It is a convenience method for the following procedure: git clone https://PACKAGE $GOPATH/src/PACKAGE cd $GOPATH/src/PACKAGE melody init melody update go install .

lint: validate project configuration

melody lint Performs an ever-growing suite of checks on your project’s Melody.toml, Melody.lock, and vendor subdirectory to ensure correctness and consistency.

outdated: find outdated dependencies for a project

melody outdated Lists all the dependencies of your project that offer newer versions than the ones locked in Melody.lock.