Install and configure the Gravitee APIM development environment — Homebrew, Java, Maven, Node, Docker, and dev tools
You are running the /gravitee-dev-workflow:install-tools skill. Follow these instructions to perform a guided, fail-safe installation of the Gravitee APIM development environment.
Resource files referenced below are located relative to this SKILL.md:
resources/
├── settings.xml.template # Maven settings for Gravitee repos
├── gravitee_aliases.sh # Shell aliases for APIM dev
└── nvm-auto.sh # NVM auto-switching script
To locate these files, Glob for **/gravitee-dev-workflow/skills/install-tools/resources/ to find the absolute path, then Read each file from there.
Confirm the Dev is running macOS by checking uname -s. If not macOS, warn:
This skill is designed for macOS. Some steps may not work on your OS. Continue anyway?
If the Dev says no, stop here.
brew --version
If missing, install via the official script:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install via brew if not already present:
brew install wget fzf shellcheck
shellcheck provides static analysis for bash scripts — used by test-hooks.sh to verify hook quality.
Check if ~/.oh-my-zsh exists. If missing:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
Install Powerlevel10k theme:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Install plugins:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/djui/alias-tips ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/alias-tips
Tell the Dev to set ZSH_THEME="powerlevel10k/powerlevel10k" in ~/.zshrc and add zsh-autosuggestions and alias-tips to the plugins list.
brew install nvm
Ensure ~/.zshrc contains the NVM initialization block:
export NVM_DIR="$HOME/.nvm"
[ -s "$(brew --prefix nvm)/nvm.sh" ] && \. "$(brew --prefix nvm)/nvm.sh"
[ -s "$(brew --prefix nvm)/etc/bash_completion.d/nvm" ] && \. "$(brew --prefix nvm)/etc/bash_completion.d/nvm"
Read resources/nvm-auto.sh and append its contents to ~/.zshrc if not already present (check for the load-nvmrc function).
brew install yarn
Check if SDKMAN is installed (~/.sdkman/bin/sdkman-init.sh exists). If missing:
curl -s "https://get.sdkman.io" | bash
Then source SDKMAN and install Java and Maven:
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install maven
For Java, run sdk list java | grep -i tem to find the latest Temurin 21.x identifier, then install it:
sdk install java <latest-21.x-tem-identifier>
If a Temurin 21.x version is already installed, skip it.
brew install angular-cli
brew install docker
brew install --cask rancher
Check if ~/.m2/settings.xml exists. If it does, ask the Dev before overwriting.
If proceeding:
mkdir -p ~/.m2
Read resources/settings.xml.template and write it to ~/.m2/settings.xml.
Remind the Dev:
Action required: Edit
~/.m2/settings.xmland replaceYOUR_JFROG_USERNAMEandYOUR_JFROG_ENCRYPTED_PASSWORDwith your Gravitee Artifactory credentials. Ask your team lead if you don't have them yet.
Read resources/gravitee_aliases.sh and write it to ~/.gravitee_aliases.
Check if ~/.zshrc already sources this file. If not, append:
# Gravitee APIM dev aliases
source ~/.gravitee_aliases
mkdir -p ~/workspace/Gravitee
yarn global add prettier prettier-plugin-java
Create ~/.config/prettier/prettier.config.js if it doesn't exist:
module.exports = {
printWidth: 140,
tabWidth: 4,
};
Ask the Dev which IDEs they want to install:
brew install --cask intellij-ideabrew install --cask visual-studio-codeOnly install what the Dev selects.
Ask the Dev which apps they want to install:
brew install --cask iterm2brew install --cask postmanbrew install --cask google-chromebrew install --cask slackbrew install --cask mongodb-compassbrew install azure-cliOnly install what the Dev selects.
Check if running on Apple Silicon (uname -m returns arm64). If so:
softwareupdate --install-rosetta --agree-to-license
Print a checklist of all steps with their outcomes:
## Installation Summary
- [x] Homebrew — already present (v4.x.x)
- [x] Shell Tools (wget, fzf, shellcheck) — installed
- [ ] Oh My Zsh — skipped (already installed)
- [x] NVM + Node — installed
...
Then list post-install actions:
Post-Install Actions
- Restart your terminal (or run
source ~/.zshrc) for all changes to take effect- Configure Maven credentials in
~/.m2/settings.xml— replace the placeholder values- Run
p10k configureto set up your Powerlevel10k prompt theme
Then suggest the next step in the journey:
Next step: Run
/gravitee-dev-workflow:install-pluginsto add Claude Code plugins for code intelligence, code review, and testing.
sudo without asking the Dev first$HOMEbrew doctor and retry