Required tools and version requirements for module development
All tools and versions listed below are MANDATORY for module development. Module creation/updates will FAIL without proper tool versions.
node --versionnpm --versiongit --versiongit config --global user.name "Your Name"
git config --global user.email "[email protected]"
yo --versionnpm install -g yo@auditmation/generator-hub-modulenpm ls -g @auditmation/generator-hub-modulenpm install -g @auditmation/generator-hub-modulejava -versionnpm install -g @openapitools/openapi-generator-clinpx tsc --versionnpx lerna --versionnpx swagger-cli --versionnpm install -g @apidevtools/swagger-cliyq --versionbrew install yqsnap install yq or download from GitHubjq --versionbrew install jqapt-get install jq or yum install jqNone required globally, but modules may need:
.env filesmodule/ # Repository root
├── package/ # All modules live here
│ ├── {vendor}/
│ │ ├── {service}/ # Individual module
│ │ └── {suite}/
│ │ └── {service}/ # Module with suite
├── .claude/ # Agent workspace (active system)
├── types/ # Optional type definitions
└── lerna.json # Monorepo configuration
Ensure access to required registries:
# Check current registry
npm config get registry
# May need to configure for private packages
npm config set @zerobias-org:registry https://npm.pkg.github.com/
npm config set @auditmation:registry https://npm.pkg.github.com/
npm config set @auditlogic:registry https://npm.pkg.github.com/
Create check-prerequisites.sh:
#!/bin/bash
echo "Checking prerequisites..."
# Node.js
NODE_VERSION=$(node --version 2>/dev/null | sed 's/v//')
if [ -z "$NODE_VERSION" ]; then
echo "❌ Node.js not installed"
else
MAJOR=$(echo $NODE_VERSION | cut -d. -f1)
if [ "$MAJOR" -ge 16 ]; then
echo "✅ Node.js $NODE_VERSION"
else
echo "❌ Node.js $NODE_VERSION (need >= 16.0.0)"
fi
fi
# npm
NPM_VERSION=$(npm --version 2>/dev/null)
if [ -z "$NPM_VERSION" ]; then
echo "❌ npm not installed"
else
MAJOR=$(echo $NPM_VERSION | cut -d. -f1)
if [ "$MAJOR" -ge 8 ]; then
echo "✅ npm $NPM_VERSION"
else
echo "❌ npm $NPM_VERSION (need >= 8.0.0)"
fi
fi
# Yeoman
YO_VERSION=$(yo --version 2>/dev/null)
if [ -z "$YO_VERSION" ]; then
echo "❌ Yeoman not installed"
else
MAJOR=$(echo $YO_VERSION | cut -d. -f1)
if [ "$MAJOR" -ge 4 ]; then
echo "✅ Yeoman $YO_VERSION"
else
echo "❌ Yeoman $YO_VERSION (need >= 4.0.0)"
fi
fi
# Java
JAVA_VERSION=$(java -version 2>&1 | head -n 1 | cut -d'"' -f2 | cut -d'.' -f1)
if [ -z "$JAVA_VERSION" ]; then
echo "❌ Java not installed"
else
if [ "$JAVA_VERSION" -ge 11 ]; then
echo "✅ Java $JAVA_VERSION"
else
echo "❌ Java $JAVA_VERSION (need >= 11)"
fi
fi
# Git
GIT_VERSION=$(git --version 2>/dev/null | sed 's/git version //')
if [ -z "$GIT_VERSION" ]; then
echo "❌ Git not installed"
else
echo "✅ Git $GIT_VERSION"
fi
# yq
YQ_VERSION=$(yq --version 2>/dev/null)
if [ -z "$YQ_VERSION" ]; then
echo "⚠️ yq not installed (required for some operations)"
else
echo "✅ yq installed"
fi
# jq
JQ_VERSION=$(jq --version 2>/dev/null)
if [ -z "$JQ_VERSION" ]; then
echo "⚠️ jq not installed (optional but recommended)"
else
echo "✅ jq installed"
fi
echo ""
echo "Generator check:"
npm ls -g @auditmation/generator-hub-module 2>/dev/null || echo "❌ Module generator not installed"
# Install Homebrew if needed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install tools
brew install node@18
brew install yq jq
npm install -g yo @auditmation/generator-hub-module
# Node.js via NodeSource
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# Other tools
sudo apt-get install -y git openjdk-17-jdk
sudo snap install yq
sudo apt-get install -y jq
# npm tools
npm install -g yo @auditmation/generator-hub-module
npm install -g yo @auditmation/generator-hub-module
Solution:
# Configure npm to use a different directory
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Solution:
# Clear npm cache
npm cache clean --force
# Reinstall
npm install -g @auditmation/generator-hub-module
Solution:
Solution:
# Login to GitHub packages
npm login --scope=@zerobias-org --registry=https://npm.pkg.github.com
# Enter GitHub username and personal access token
Before starting module development:
For automated builds, ensure CI environment has:
xcode-select --installKeep tools updated:
# Update npm
npm install -g npm@latest
# Update global packages
npm update -g
# Update Yeoman generator
npm install -g @auditmation/generator-hub-module@latest
# Check for outdated packages
npm outdated -g
If prerequisites check fails: