Skip to main content
info

Documentation is currently for moon v2 and latest proto. Documentation for moon v1 has been frozen and can be found here.

.moon/toolchains

The .moon/toolchains.* file configures the toolchain and the workspace development environment. This file is optional.

Managing tool version's within the toolchain ensures a deterministic environment across any machine (whether a developer, CI, or production machine).

extends

Defines one or many external .moon/toolchains.*'s to extend and inherit settings from. Perfect for reusability and sharing configuration across repositories and projects. When defined, this setting must be an HTTPS URL or relative file system path that points to a valid YAML document!

.moon/toolchains.yml
extends: 'https://raw.githubusercontent.com/organization/repository/master/.moon/toolchains.yml'
caution

Settings will be merged recursively for blocks, with values defined in the local configuration taking precedence over those defined in the extended configuration.

moonv1.29.0

Configures how moon will receive information about latest releases and download locations.

manifestUrl

Defines an HTTPS URL in which to fetch the current version information from.

.moon/toolchains.yml
moon:
manifestUrl: 'https://proxy.corp.net/moon/version'

downloadUrl

Defines an HTTPS URL in which the moon binary can be downloaded from. The download file name is hard-coded and will be appended to the provided URL.

Defaults to downloading from GitHub: https://github.com/moonrepo/moon/releases

.moon/toolchains.yml
moon:
downloadUrl: 'https://github.com/moonrepo/moon/releases/latest/download'

protov1.39.0

Configures how moon integrates with and utilizes proto.

version

The version of proto to install and run toolchains with. If proto or this version of proto has not been installed yet, it will be installed automatically when running a task.

.moon/toolchains.yml
proto:
version: '0.51.0'

Go

go

Run moon toolchain info go for all available settings.

JavaScript

javascript

Run moon toolchain info javascript for all available settings.

bun

Run moon toolchain info bun for all available settings.

info

This toolchain requires the javascript toolchain to also be enabled.

deno

Run moon toolchain info deno for all available settings.

info

This toolchain requires the javascript toolchain to also be enabled.

node

Run moon toolchain info node for all available settings.

info

This toolchain requires the javascript toolchain to also be enabled.

npm

Run moon toolchain info npm for all available settings.

info

This toolchain requires the node toolchain to also be enabled.

pnpm

Run moon toolchain info pnpm for all available settings.

info

This toolchain requires the node toolchain to also be enabled.

yarn

Run moon toolchain info yarn for all available settings.

info

This toolchain requires the node toolchain to also be enabled.

typescript

Run moon toolchain info typescript for all available settings.

Python

unstable_python

Run moon toolchain info unstable_python for all available settings.

unstable_pip

Run moon toolchain info unstable_pip for all available settings.

info

This toolchain requires the unstable_python toolchain to also be enabled.

unstable_uv

Run moon toolchain info unstable_uv for all available settings.

info

This toolchain requires the unstable_python toolchain to also be enabled.

Rust

rust

Run moon toolchain info rust for all available settings.