Developer Environment Setup
Documentation on this page pertains mostly to those looking to contribute to Fluster directly. If you are looking to build a plugin, you likely won't be required to setup your environment in this manner. A simple vite setup using the template package will do.
Developer Environment Setup
Requirements
The Fluster development and build cycle has grown to be quite complex, with tools in multiple languages playing a part in the build. While you may not run into issues without every single one of these requirements checked, having all of these in place will make it more likely that the development and building of Fluster will be successful on your machine as well.
- Golang installed and available on the
Path
. - Rust installed and with all available cargo commands available on the
Path
. - dotenvx installed. Available through Homebrew and a simple curl command.
- The dart package
test_cov_console
is used in some scripts as a globally available package to create a decent cli output while running tests. - Tsx is used during part of the build script to execute typescript files. It needs to be available on your path, as any globally installed npm package likely already is.
- Use pnpm as your node package manager. This isn't really a strict requriement, but pnpm is referenced explictly in a few shebangs and package.json files, so it'll likely save you a headache.
- The typeshare cli is used to generate cross-language types from rust during the build process. That will need to be installed and available locally.
- gomarkdoc is used to generate go documentation in markdown. Some build scripts will fail if this isnot installed globally.
- To work with tests in the monorepo, you'll need to have
maturin
installed.
Environment Variables
- Create an environment variable,
FLUSTER_NATIVE_ROOT
and point it to the root of your workspace. This is used throughout the build utilities.