Type RootSchema
File match monospace.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/monospace-yml/latest.json
Source https://raw.githubusercontent.com/software-t-rex/monospace/main/apps/monospace/schemas/monospace.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: RootSchema

Definitions

RootSchema object
projects object required
$schema string
Default: "https://raw.githubusercontent.com/software-t-rex/monospace/main/apps/monospace/schemas/monospace.schema.json"
js_package_manager string

specify the package manager to use in js/ts projects. It use the same syntax as package.json package_manager

Default: "[email protected]"
go_mod_prefix string

Default namespace to use for your go modules

Default: "example.com"
preferred_output_mode string

Default output mode to use for run and exec commands.

  • none: no output from tasks
  • interleaved: print prefixed output from tasks as they arrive
  • grouped: print combined output of tasks as they complete.
  • status-only: display running status summary
  • errors-only: is like interleaved output but displaying only what comes on stderr

Defaults:

  • preferred_output_mode: grouped
  • pipeline[task].output_mode: inherits from preferred_output_mode
Default: "grouped"
Values: "grouped" "interleaved" "errors-only" "status-only" "none"
projects_aliases object

Aliases for projects, it allows you to define shorter names to use in commands that point to projects. (can't be 'root' as it is a reserved alias)

pipeline Record<string, object>

An object representing the task dependency graph of your monospace

Default:
{}
ProjectSchema object
TaskSchema object
cmd string[]

By default task will be looked up in the package.json script properties. You can override this behavior by providing the command to execute. It must be an array of string ie: [ls, -l]. This can also be useful for projects that don't have a package.json at all.

ℹ: This is not a shell command, so you can't use shell features like pipes, redirections, etc... Either use an external script for this or something like [/bin/sh, -c, "command1 && command2"] Additionally .monospace/bin will be added to your path and can be used to store utility commands to ship with your monospace.

Default:
[]
dependsOn string[]

The list of tasks that this task depends on. Dependencies should be listed in the form 'projectName#taskName', if prefix 'projectName#' is ommited then it is considered to point to a task of the same project.

For example given the following pipeline: myproject#test: dependsOn: [build, myotherProject#test] myproject#build:{} myotherProject#test:{}

the test task of myproject will depend on the build task of myproject and the test task of myotherProject

Default:
[]
description string

An optional description of the task.

Default: ""
persistent boolean

Persistent tasks are long-running process such as server, or watchers that will not exit unless manually stopped. It is important to mark such tasks as persistent, doing so monospace will prevent other tasks to depend on them and will inform you of configuration problem when running in check mode

Default: false
output_mode string

Default output mode to use for run and exec commands.

  • none: no output from tasks
  • interleaved: print prefixed output from tasks as they arrive
  • grouped: print combined output of tasks as they complete.
  • status-only: display running status summary
  • errors-only: is like interleaved output but displaying only what comes on stderr

Defaults:

  • preferred_output_mode: grouped
  • pipeline[task].output_mode: inherits from preferred_output_mode
Default: "grouped"
Values: "grouped" "interleaved" "errors-only" "status-only" "none"
output_mode string

Default output mode to use for run and exec commands.

  • none: no output from tasks
  • interleaved: print prefixed output from tasks as they arrive
  • grouped: print combined output of tasks as they complete.
  • status-only: display running status summary
  • errors-only: is like interleaved output but displaying only what comes on stderr

Defaults:

  • preferred_output_mode: grouped
  • pipeline[task].output_mode: inherits from preferred_output_mode