Development#
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.
For consistency and ease of use, this repository provides a
pulumi/pulumi:.mise.toml 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:
Configure your shell to activate Mise. This is typically accomplished by adding an appropriate invocation of
mise activateto your shell’s configuration file (e.g..bashrc,.zshrc, etc.).Restart your shell session so that your configuration changes take effect.
cdinto the root of this repository. Runmise trustto allow the repository to specify the required tools, all of which are listed in the top-level.mise.tomlfile. After this, you should find that the tools you need are now available in your$PATH.Run
mise settings experimental=trueor use theMISE_EXPERIMENTALenvironment variable. This is currently required to enable the Go backend.Run
mise installto ensure all tools are up to date. You may need to re-run this if the tool list changes.
Use of Mise is currently experimental and optional.