Whether you're a new developer setting up your first machine or a team lead onboarding someone new, this checklist covers everything needed to go from zero to productive. Follow it in order — each step builds on the previous.
1. SSH Keys
# Generate Ed25519 key pair
ssh-keygen -t ed25519 -C "[email protected]"
# Accept default location (~/.ssh/id_ed25519)
# Set a passphrase (recommended)
# Add to GitHub: github.com → Settings → SSH and GPG keys → New SSH key
cat ~/.ssh/id_ed25519.pub # Copy this
# Test
ssh -T [email protected] # "Hi username! You've successfully authenticated"2. Git Configuration
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global core.editor "code --wait" # VS Code
git config --global init.defaultBranch main
git config --global pull.rebase false # Use merge for pulls
# Useful aliases
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.lg "log --oneline --graph --all"3. Clone the Repository
# Always clone via SSH (not HTTPS) for developer machines
git clone [email protected]:company/repo.git
cd repo
ls -la # Look for .env.example, README.md, package.json4. Environment Variables
# Copy the example env file
cp .env.example .env
# Fill in values from team password manager / documentation
# NEVER commit .env — verify it's in .gitignore
cat .gitignore | grep .env # Should appear
# Common variables to ask the team about:
# DATABASE_URL, JWT_SECRET, API keys (Stripe, SendGrid, etc.)5. Install Dependencies
# Node.js projects
npm install # or
yarn install # or
pnpm install
# Python projects
python3 -m venv venv
source venv/bin/activate # Mac/Linux
pip install -r requirements.txt
# Check if there's a Docker option (often faster)
docker compose up # Spins up everything6. Run the Project
# Check package.json / Makefile / README for the start command
npm run dev # Most Node.js projects
python manage.py runserver # Django
# Verify it works at localhost:3000 (or whatever port)
# Run the tests
npm test
pytest7. Editor Setup (VS Code)
# Install from the command line
code --install-extension dbaeumer.vscode-eslint
code --install-extension esbenp.prettier-vscode
code --install-extension eamodio.gitlens
code --install-extension bradlc.vscode-tailwindcss
code --install-extension ms-python.python # If Python project
# Check if the repo has .vscode/settings.json for team config
ls .vscode/8. Team Conventions to Learn
- Branch naming:
feature/description,fix/bug-name,chore/task - Commit message format (conventional commits or team standard)
- PR review process: how many approvals, who reviews what
- Deployment process: how does code get to staging/production?
- On-call rotation: who gets paged when production breaks?
- Where is documentation: Notion, Confluence, GitHub Wiki?
- How to get help: Slack channel, pairing sessions, office hours?
9. First Week Goals
- Get the project running locally ✅
- Make a small, safe change and open a PR
- Have your first PR reviewed and merged
- Attend one team standup / meeting
- Read the last 3 postmortems (understand what broke and why)
- Ask about the most confusing part of the codebase