Skip to content

Tooling Setup Guide

This guide walks you through setting up the essential development tools for our engineering environment.

Prerequisites

Before starting, ensure you have: - Administrative access to your machine - Stable internet connection - Basic command line knowledge

Core Tools Installation

1. Git Setup

Installation

Bash
1
2
3
4
5
6
7
8
# macOS (using Homebrew)
brew install git

# Ubuntu/Debian
sudo apt-get install git

# Windows
# Download from https://git-scm.com/download/win

Configuration

Bash
1
2
3
git config --global user.name "Your Name"
git config --global user.email "your.email@company.com"
git config --global init.defaultBranch main

2. Docker Installation

macOS

Bash
# Install Docker Desktop
brew install --cask docker

Linux

Bash
1
2
3
4
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

Windows

Download Docker Desktop from docker.com

3. Node.js Setup

Bash
1
2
3
4
5
6
7
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# Install latest LTS Node.js
nvm install --lts
nvm use --lts
nvm alias default node

Verify Installation

Bash
node --version
npm --version

4. VS Code Installation

Download and Install

Required Extensions

JSON
{
  "recommendations": [
    "dbaeumer.vscode-eslint",
    "esbenp.prettier-vscode",
    "eamodio.gitlens",
    "ms-azuretools.vscode-docker",
    "ms-vscode.vscode-typescript-next",
    "bradlc.vscode-tailwindcss",
    "ms-python.python"
  ]
}

Development Environment Setup

1. Project Structure

Create a standardized workspace:

Bash
1
2
3
mkdir -p ~/workspace/projects
mkdir -p ~/workspace/tools
mkdir -p ~/workspace/scripts

2. Shell Configuration

Bash/Zsh Setup

Add to your ~/.bashrc or ~/.zshrc:

Bash
# Development aliases
alias ll='ls -la'
alias gs='git status'
alias gp='git pull'
alias dc='docker-compose'
alias k='kubectl'

# Environment variables
export EDITOR=code
export WORKSPACE=~/workspace
export PATH=$PATH:~/workspace/tools/bin

3. SSH Key Setup

Bash
1
2
3
4
5
6
7
8
9
# Generate SSH key
ssh-keygen -t ed25519 -C "your.email@company.com"

# Add to SSH agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

# Copy public key (add to GitLab/GitHub)
cat ~/.ssh/id_ed25519.pub

Code Quality Tools

1. ESLint Global Installation

Bash
1
2
3
npm install -g eslint
npm install -g @typescript-eslint/parser
npm install -g @typescript-eslint/eslint-plugin

2. Prettier Global Installation

Bash
npm install -g prettier

3. Global Configuration Files

~/.eslintrc.json

JSON
{
  "extends": [
    "eslint:recommended",
    "@typescript-eslint/recommended"
  ],
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "rules": {
    "no-console": "warn",
    "no-unused-vars": "error",
    "@typescript-eslint/no-unused-vars": "error"
  }
}

~/.prettierrc

JSON
1
2
3
4
5
6
7
{
  "semi": true,
  "trailingComma": "es5",
  "singleQuote": true,
  "printWidth": 80,
  "tabWidth": 2
}

Container Tools

1. Docker Compose

Usually included with Docker Desktop, verify:

Bash
docker-compose --version

2. Kubernetes Tools (Optional)

Bash
1
2
3
4
5
6
# kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

# Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Verification

1. Tool Versions

Run these commands to verify installations:

Bash
1
2
3
4
5
6
7
git --version
docker --version
node --version
npm --version
code --version
eslint --version
prettier --version

2. Test Project Setup

Bash
1
2
3
4
5
6
7
8
9
# Create test project
mkdir test-project && cd test-project
npm init -y
npm install --save-dev eslint prettier

# Test linting
echo "console.log('Hello World')" > test.js
npx eslint test.js
npx prettier --write test.js

Troubleshooting

Common Issues

Permission Errors

Bash
# Fix npm permissions
sudo chown -R $(whoami) ~/.npm

Docker Permission Issues (Linux)

Bash
sudo usermod -aG docker $USER
# Log out and back in

VS Code Extensions Not Working

  1. Restart VS Code
  2. Check extension compatibility
  3. Clear extension cache: Cmd/Ctrl + Shift + P → "Developer: Reload Window"

Getting Help

  1. Check our standards documentation
  2. Review troubleshooting guides
  3. Ask in #engineering-tools channel
  4. Create a support ticket

Next Steps

After completing the setup: 1. Clone your first project 2. Review our coding standards 3. Set up project-specific tools 4. Join the engineering onboarding session

Maintenance

Regular Updates

Bash
# Update Node.js
nvm install node --reinstall-packages-from=node

# Update global packages
npm update -g

# Update Docker
# Use Docker Desktop updater or package manager

# Update VS Code extensions
# Use VS Code extension manager

Monthly Checklist

  • Update all development tools
  • Review and update global configurations
  • Clean up unused Docker images: docker system prune
  • Update project dependencies
  • Review security advisories