pulumi/docs/contributing/development.md

2.0 KiB

(dev)=

Development

(devenv)=

Tools and environment

This repository makes use of a number of tools. At a minimum, you'll want to install the following on your machine:

  • Go, for building and running the code in this repository, including the Go SDK.
  • NodeJS, for working with the NodeJS SDK.
  • Python, for working with the Python SDK.
  • .NET, for working with the .Net SDK.
  • Golangci-lint, for linting Go code.
  • gofumpt for formatting Go code. See installation for editor setup instructions.
  • Yarn, for building and working with the NodeJS SDK.
  • Pulumictl
  • jq

For consistency and ease of use, this repository provides a file for configuring Mise, a tool for managing development environments (similar in nature to direnv or asdf). To use it, you only need to install Mise and activate the environment, which you can do as follows:

  1. Install Mise.
  2. Configure your shell to activate Mise. This is typically accomplished by adding an appropriate invocation of mise activate to your shell's configuration file (e.g. .bashrc, .zshrc, etc.).
  3. Restart your shell session so that your configuration changes take effect.
  4. cd into the root of this repository. Run mise trust to allow the repository to specify the required tools, all of which are listed in the top-level .mise.toml file. After this, you should find that the tools you need are now available in your PATH. If not, running mise install should sort things out.

Use of Mise is currently experimental and optional.