Setup

This will walk you through all the prerequisites needed to develop software at FSH.

This guide assumes you’re running Mac OS X.

Note

All code snippets are assumed to be run from a terminal (e.g. the default terminal.app)

Development environment setup

First, install homebrew.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then, install a set of packages via homebrew.

brew upgrade
brew install uv postgresql@16 opa regal

This installs:

Next, we need to install node, via nvm:

brew install nvm
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc
echo '[ -s "$(brew --prefix nvm)/nvm.sh" ] && \. "$(brew --prefix nvm)/nvm.sh"' >> ~/.bashrc
echo '[ -s "$(brew --prefix nvm)/etc/bash_completion.d/nvm" ] && \. "$(brew --prefix nvm)/etc/bash_completion.d/nvm"' >> ~/.bashrc
source ~/.bashrc

If you use zsh instead of bash, you should replace .bashrc with .zshrc.

Finally, we need to install yarn.

npm install -g corepack

Github

You should be a member of the FSHTech GitHub organization.

You can test this by visiting a private repository.

Once that is setup, you will need to authenticate your machine against GitHhub.

This is a good tutorial. In short, you’ll need to add a public key from your local machine to Github. This allows requests you make of Github to be authenticated.

FSH CLI

Many FSH development workflows are automated through the use of the fsh CLI.

Installation instructions.

Once you have fsh, attempt running fsh packages login – this will confirm that you can access the private FSH package registries.

just-pm

FSH uses a piece of sofftware called just as a declarative command runner.

just ships with no native package manager. So, we built one.

To install it, please follow these instructions.

Running just-pm post installation should give you something that looks like this:

╭─rodda@pop-os ~
╰─$ just-pm version
just-pm 0.6.0