Welcome to the WDI Development Stack setup guide! This repository contains everything you need to get started with WDI development infrastructure and request access to our projects.
- Prerequisites
- Environment Setup
- GitHub Setup
- Requesting Project Access
- Development Workflow
- Troubleshooting
Before you begin, ensure you have the following installed:
- Node.js (v20.11.1 or later) - Download
- pnpm (v8.15.4 or later) - Install via npm:
npm install -g pnpm@8.15.4 - Docker Desktop - Download
- Git (v2.30 or later) - Download
# Install Volta
curl https://get.volta.sh | bash
# Install Node.js and pnpm
volta install node@20.11.1
volta install pnpm@8.15.4
# Verify installations
node --version # Should show v20.11.1
pnpm --version # Should show 8.15.4# Install Node.js from nodejs.org, then:
npm install -g pnpm@8.15.4- Download Docker Desktop from docker.com
- Install and start Docker Desktop
- Verify installation:
docker --version docker-compose --version
Run these commands to verify everything is installed correctly:
node --version # Should be >= 20.11.1
pnpm --version # Should be >= 8.15.4
docker --version # Should show Docker version
git --version # Should be >= 2.30If you don't have one, create an account at github.com
SSH keys allow you to securely connect to GitHub without entering your password each time.
# Generate a new SSH key (replace with your email)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Press Enter to accept default file location
# Optionally set a passphrase for extra security-
Copy your public key:
cat ~/.ssh/id_ed25519.pub -
Go to GitHub Settings:
- Visit https://github.com/settings/keys
- Click "New SSH key"
- Paste your key
- Give it a descriptive title (e.g., "MacBook Pro")
- Click "Add SSH key"
ssh -T git@github.com
# You should see: "Hi [username]! You've successfully authenticated..."Set up your Git identity:
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"The GitHub CLI (gh) makes managing repositories easier:
# macOS
brew install gh
# Or download from: https://cli.github.com/
# Authenticate
gh auth loginOnce your environment is set up, you can request access to WDI projects.
-
Contact the Project Administrator
- Send an email to the project lead or administrator
- Include your GitHub username
- Specify which project(s) you need access to
-
Wait for Invitation
- You'll receive a GitHub invitation via email
- Accept the invitation from the email or GitHub notifications
-
Clone the Repository
# Once invited, clone the repository git clone git@github.com:WDIMcKenzie/[project-name].git cd [project-name]
Access to specific projects is granted by invitation. Contact your project administrator for details.
Once you have access to a project repository:
# Clone the repository
git clone git@github.com:WDIMcKenzie/[project-name].git
cd [project-name]
# Install dependencies
pnpm install
# Start development server
pnpm dev-
Create a Feature Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
- Write code
- Test locally
- Commit changes
-
Push and Create Pull Request
git push origin feature/your-feature-name # Then create PR on GitHub
- Always work in feature branches, never directly on
mainordevelop - Write clear, descriptive commit messages
- Keep branches focused on a single feature or fix
- Test your changes before submitting PRs
See Development Workflow Guide for detailed guidelines.
When you clone a WDI project, you'll typically see:
project-name/
├── apps/ # Frontend applications
├── services/ # Backend services/APIs
├── packages/ # Shared packages
├── docker-compose.yml # Docker configuration
├── package.json # Root package.json
└── README.md # Project-specific documentation
Problem: Node.js or pnpm not found in PATH
Solution:
# Verify installations
which node
which pnpm
# If missing, reinstall or add to PATH
export PATH="$PATH:$(pnpm bin)"Problem: Docker Desktop not running or permissions issue
Solution:
- Ensure Docker Desktop is running
- On macOS/Linux, you may need to add your user to the docker group:
sudo usermod -aG docker $USER # Log out and back in
Problem: "Permission denied (publickey)" when cloning
Solution:
# Test SSH connection
ssh -T git@github.com
# If it fails, verify your SSH key is added to GitHub
cat ~/.ssh/id_ed25519.pub
# Copy and add to GitHub Settings > SSH KeysProblem: Dependency installation errors
Solution:
# Clear pnpm cache
pnpm store prune
# Try installing again
rm -rf node_modules pnpm-lock.yaml
pnpm installIf you encounter issues not covered here:
- Check the project-specific README
- Review the Detailed Guides
- Contact your project administrator
- Check GitHub Issues in the project repository
- Environment Setup Guide - Detailed environment setup
- GitHub Setup Guide - Comprehensive GitHub configuration
- SSH Keys Guide - SSH key management
- Development Workflow - Development best practices
- Requesting Access - How to get project access
This setup guide is provided as-is for developers working with WDI projects.
Questions? Contact your project administrator or refer to the detailed guides in the docs/ directory.