Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration

Monoverse reads configuration from monoverse.{yaml,json,toml} at the repository root.

Project settings

Each project is defined in the projects map. The project key is the project name used in CLI commands.

KeyDescriptionNotes
typeThe type of the project.rust, node, helm, toml, versionfile, yaml
pathThe path to the project.Defaults to repository root if omitted.
manifest_pathThe path to the manifest file of the project.Overrides the default manifest path.
tag_prefixPrefix for tag creation.Defaults to <project-name>-.
selectorSelector for the version field.Required for toml and yaml project types.
dependentsDependent files to update on release.See Dependents.

Project types

  • rust: A Rust project with a Cargo.toml manifest file.
  • node: A Node.js project with a package.json manifest file.
  • helm: A Helm chart with a Chart.yaml manifest file. Uses version for release detection, updates version to the next CalVer, and updates appVersion if present.
  • toml: Any generic project with a TOML manifest file. Requires manifest_path and selector.
  • versionfile: Any generic project with a version file that only contains the version number. Requires manifest_path.
  • yaml: Any generic project with a YAML manifest file. Requires manifest_path and selector.

Examples

YAML:

projects:
  server:
    type: rust
    path: server
  client:
    type: node
    path: client

TOML:

[projects.server]
type = "rust"
path = "server"

[projects.client]
type = "node"
path = "client"