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
1. Git Setup
Installation
| Bash |
|---|
| # macOS (using Homebrew)
brew install git
# Ubuntu/Debian
sudo apt-get install git
# Windows
# Download from https://git-scm.com/download/win
|
Configuration
| Bash |
|---|
| 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 |
|---|
| # 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
Using Node Version Manager (Recommended)
| Bash |
|---|
| # 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 |
|---|
| 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 |
|---|
| # 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
|
1. ESLint Global Installation
| Bash |
|---|
| npm install -g eslint
npm install -g @typescript-eslint/parser
npm install -g @typescript-eslint/eslint-plugin
|
2. Prettier Global Installation
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 |
|---|
| {
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 80,
"tabWidth": 2
}
|
1. Docker Compose
Usually included with Docker Desktop, verify:
| Bash |
|---|
| # 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
Run these commands to verify installations:
| Bash |
|---|
| git --version
docker --version
node --version
npm --version
code --version
eslint --version
prettier --version
|
2. Test Project Setup
| Bash |
|---|
| # 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
- Restart VS Code
- Check extension compatibility
- Clear extension cache:
Cmd/Ctrl + Shift + P → "Developer: Reload Window"
Getting Help
- Check our standards documentation
- Review troubleshooting guides
- Ask in #engineering-tools channel
- 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