From 2da231bedc813d768871dc066364148b882eede5 Mon Sep 17 00:00:00 2001
From: Edward Kirk <ek599@cam.ac.uk>
Date: Thu, 20 Mar 2025 14:00:13 +0000
Subject: [PATCH] wip: add tooling needed for all repos

---
 .../howtos/development/prepare-your-system.md | 25 +++++++++++++------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/docs/howtos/development/prepare-your-system.md b/docs/howtos/development/prepare-your-system.md
index 2f2eca01..305b3b8b 100644
--- a/docs/howtos/development/prepare-your-system.md
+++ b/docs/howtos/development/prepare-your-system.md
@@ -13,34 +13,43 @@ always check the READMEs if you're starting work on a product for the first time
 In order to run and develop our standard web applications, you will need to have the following
 installed on your system:
 
+Required for all repos:
+
 1. **Docker.** On Mac and Windows machines you may find [docker
    desktop](https://www.docker.com/products/docker-desktop/) to be the most useful solution. On
    Linux, follow the [docker install instructions](https://docs.docker.com/engine/install/).
-2. **Docker compose.** This comes installed with Docker desktop although you may need to check that
+1. **Docker compose.** This comes installed with Docker desktop although you may need to check that
    it is enabled in the Docker desktop settings. For Linux machines, you will need to [install the
    docker compose plugin](https://docs.docker.com/compose/install/linux/).
-3. **Git.** GitHub provide a [guide on installing
+1. **Git.** GitHub provide a [guide on installing
    git](https://github.com/git-guides/install-git). You will also need to make sure that you can
    [sign in to GitLab](site:howtos/git-gitlab/sign-in-to-gitlab).
-4. **Python.** (Optional) On Mac machines you can use [homebrew](https://brew.sh/). On
+1. **Python.** On Mac machines you can use [homebrew](https://brew.sh/). On
    both Linux and Mac machines you can use the system Python or use solutions such as
    [pyenv](https://github.com/pyenv/pyenv) to install specific versions. We try to support
    the [versions which are currently supported by the Python
    developers](https://devguide.python.org/versions/) but you'll usually have a better time the
    more up-to-date your system Python install is.
-5. **Node.** (Optional) On Mac machines you can use homebrew for this. For both Linux and Mac you
+1. **pre-commit.**
+1. **poe.**
+1. **pipx.** (to install pre-commit and poe)
+1. **gcloud cli.**
+1. **1Password cli tools.** (Optional) If you need to run scripts using the 'op' tool, follow the
+[official 1Password guide](https://developer.1password.com/docs/cli/get-started/) to install
+(step 1) and enable the desktop app integration (step 2).
+
+Required for some repos:
+
+1. **Node.** (Optional) On Mac machines you can use homebrew for this. For both Linux and Mac you
    can use a toolchain manager such as [volta](https://docs.volta.sh/guide/getting-started). The
    node website has an [installation guide](https://nodejs.org/en/download/package-manager) for
    other systems or if you prefer to install node directly from the source.
-6. **Java.** (Optional) On Mac machines you can use homebrew to install
+1. **Java.** (Optional) On Mac machines you can use homebrew to install
    [OpenJDK](https://formulae.brew.sh/formula/openjdk). Note that **additional commands are required
    on Mac machines for OpenJDK to be found**. See the homebrew page for details. On Linux, OpenJDK
    will usually be available in your distribution's package manager. If your project uses
    the [GitLab package registry](https://docs.gitlab.com/ee/user/packages/maven_repository/), see
    [how-to configure your Maven settings.xml](site:howtos/java/configure-access-to-gitlab-java-repositories).
-7. **1Password cli tools.** (Optional) If you need to run scripts using the 'op' tool, follow the
-[official 1Password guide](https://developer.1password.com/docs/cli/get-started/) to install
-(step 1) and enable the desktop app integration (step 2).
 
 The minimum software you need to have installed to _run_ one of our applications locally is
 **docker** and **docker compose**. The optional dependencies are required if you want to make
-- 
GitLab