Development Setup
Prerequisites
If you want to develop on the backend, make sure you have enough RAM. When performing cargo build, we have experienced (on wsl) a usage of ~12GB.
- Python
- Rust
- Javascript
- nvm
- node
Operating Systems
- Windows 11
- macOS 13.1 (Unix)
IDE
- Visual Studio Code for both Frontend and Backend
Visual Studio Code Extensions
Frontend
- Prettier ESLint for JavaScript/TypeScript linting and code formatting
Backend
Rust formatting can be achieved by adding the following to settings.json in VSCode after installing rust-analyzer:
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
"editor.formatOnSave": true
}
Package Managers
Installing Node + Npm
If you are using unix, macOS, and windows WSL, consider using nvm to manage your node environment:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install 20
nvm use 20
Or if you use the default macOS starting with Catalina shell zsh
, try:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh)"
Installing Rust + Cargo
If you’re using Linux or macOS, open a terminal and enter the following command:
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
This installs rust and cargo automatically on your machine. If you get linker errors, proceed by installing a C Compiler, which will typically include a linker.
To install our specific version of Rust, just run the following command:
rustup install 1.74
On Windows, go to https://www.rust-lang.org/tools/install and follow the instructions for installing Rust. At some point in the installation, you’ll receive a message explaining that you’ll also need the MSVC build tools for Visual Studio 2013 or later.
To acquire the build tools, you’ll need to install Visual Studio 2022. When asked which workloads to install, include:
- Desktop Development with C++
- The Windows 10 or 11 SDK
- The English language pack component, along with any other language pack of your choosing
In case you don't prefer any of the previously mentioned installations methods, click here for alternatives.
Browsers
- Chrome 108.0.5359
- Firefox 108.0.2
Dependencies
If you want to install all necessary dependencies for development run following command in /workspaces/PermaplanT
:
make install
Containers
We are also supporting a containerized setup(docker/podman). For more information checkout the README inside .devcontainer.