Prerequisites
Before installing Bob the Fixer, review the system requirements below.
The installer handles everything for you. When you run ./install.sh, it will:
- Automatically detect your operating system
- Check each dependency one by one
- Offer to install any missing dependency with a simple Y/n prompt
- Guide you through the entire setup process
You don't need to install anything manually before running the installer. The list below is just for reference - the smart installer will take care of missing components.
System Requirements
Bob the Fixer supports:
| Operating System | Status |
|---|---|
| macOS 26.1 Tahoe (Intel/Apple Silicon) | Tested & Approved |
| Ubuntu 24.04 LTS | Tested & Approved |
| Debian | Tested & Approved |
| Fedora 43 | Tested & Approved |
| Windows (WSL2) | Supported via WSL |
Minimum Resources:
- 4GB RAM available for SonarQube container
- 2GB disk space for containers and data
- Network access to port 9000 (SonarQube web interface)
Essential Dependencies
These dependencies are required and will be checked during installation. If any are missing, the installer will offer to install them for you.
Node.js 18+
JavaScript runtime for the MCP server.
# Check version
node -v # Should be v18.0.0 or higher
Manual installation (if needed)
# macOS
brew install node@20
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Fedora
sudo dnf module enable nodejs:20 -y
sudo dnf install -y nodejs npm
npm 8+
Node package manager (usually included with Node.js).
# Check version
npm -v # Should be v8.0.0 or higher
Git
Version control for cloning the repository.
# Check if installed
git --version
Container Runtime (Podman or Docker)
Required to run SonarQube and PostgreSQL containers.
We recommend Podman over Docker for its rootless security model and better resource management. The installer will let you choose.
# Check if available
podman --version
# or
docker --version
Compose Tool
Required for orchestrating multi-container setup.
# For Podman users
podman-compose --version
# For Docker users (built-in with modern Docker)
docker compose version
jq
JSON processor for handling SonarQube API responses.
# Check if installed
jq --version
curl
HTTP client for API calls and downloads.
# Usually pre-installed
curl --version
OpenSSL
Cryptography toolkit for generating encryption keys.
# Usually pre-installed
openssl version
tree
Directory visualization tool used for project structure analysis.
# Check if installed
tree --version
Manual installation (if needed)
# macOS
brew install tree
# Ubuntu/Debian
sudo apt-get install -y tree
# Fedora
sudo dnf install -y tree
Java 17+
Java 17+ is required to run sonar-scanner, which performs the actual code analysis. Without Java, Bob the Fixer cannot scan your projects.
# Check version
java -version # Should be 17 or higher
Manual installation (if needed)
# macOS
brew install openjdk@17
# Ubuntu/Debian
sudo apt-get install -y openjdk-17-jdk
# Fedora
sudo dnf install -y java-17-openjdk
AI CLI Tools
At least one AI CLI tool with MCP support is required. The installer will detect installed CLIs and offer to install one if none are found.
| AI Tool | Package | Install Command |
|---|---|---|
| Claude Code (recommended) | @anthropic-ai/claude-code | npm install -g @anthropic-ai/claude-code |
| GitHub Copilot CLI | @github/copilot | npm install -g @github/copilot |
| Google Gemini CLI | @google/gemini-cli | npm install -g @google/gemini-cli |
| OpenAI Codex CLI | @openai/codex | npm install -g @openai/codex |
Authentication
After installation, each CLI requires authentication:
| AI Tool | Auth Method |
|---|---|
| Claude Code | claude auth login |
| GitHub Copilot | Uses GitHub credentials automatically |
| Gemini CLI | gemini auth login |
| OpenAI Codex | codex auth login |
Port Requirements
Bob the Fixer requires the following ports to be available:
| Port | Service | Description |
|---|---|---|
| 9000 | SonarQube | Web interface and API |
| 5432 | PostgreSQL | Database (internal) |
If port 9000 is already in use, the installer will detect this and offer options to:
- Identify and optionally terminate the conflicting process
- Use an alternative port (9001)
- Skip and configure manually later
Quick Dependency Check
Run this command to see what you have installed:
echo "=== Checking Dependencies ===" && \
echo -n "Node.js: " && (node -v 2>/dev/null || echo "Not found") && \
echo -n "npm: " && (npm -v 2>/dev/null || echo "Not found") && \
echo -n "Git: " && (git --version 2>/dev/null || echo "Not found") && \
echo -n "Java: " && (java -version 2>&1 | head -1 || echo "Not found") && \
echo -n "Container: " && (podman --version 2>/dev/null || docker --version 2>/dev/null || echo "Not found") && \
echo -n "jq: " && (jq --version 2>/dev/null || echo "Not found")
Remember: Even if some dependencies are missing, just run ./install.sh and the installer will guide you through installing everything you need.
Next Steps
Ready to install? Proceed to the Installation Guide.