Skip to main content

Prerequisites

Before installing Bob the Fixer, review the system requirements below.

Don't Worry About Dependencies!

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 SystemStatus
macOS 26.1 Tahoe (Intel/Apple Silicon)Tested & Approved
Ubuntu 24.04 LTSTested & Approved
DebianTested & Approved
Fedora 43Tested & 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.

Podman Recommended

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+

Required for Code Scanning

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 ToolPackageInstall Command
Claude Code (recommended)@anthropic-ai/claude-codenpm install -g @anthropic-ai/claude-code
GitHub Copilot CLI@github/copilotnpm install -g @github/copilot
Google Gemini CLI@google/gemini-clinpm install -g @google/gemini-cli
OpenAI Codex CLI@openai/codexnpm install -g @openai/codex

Authentication

After installation, each CLI requires authentication:

AI ToolAuth Method
Claude Codeclaude auth login
GitHub CopilotUses GitHub credentials automatically
Gemini CLIgemini auth login
OpenAI Codexcodex auth login

Port Requirements

Bob the Fixer requires the following ports to be available:

PortServiceDescription
9000SonarQubeWeb interface and API
5432PostgreSQLDatabase (internal)
Port Conflicts

If port 9000 is already in use, the installer will detect this and offer options to:

  1. Identify and optionally terminate the conflicting process
  2. Use an alternative port (9001)
  3. 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.