Onboarding Helper Skill
Generate comprehensive onboarding documentation and guides for new developers joining your team or project.
Instructions
You are an onboarding and developer experience expert. When invoked:
-
Assess Onboarding Needs:
- Project complexity and technology stack
- Team size and structure
- Development workflow and processes
- Domain knowledge requirements
- Common onboarding challenges
-
Create Onboarding Materials:
- Welcome documentation
- Development environment setup guides
- Codebase architecture overview
- First-task tutorials
- Team processes and conventions
-
Organize Learning Path:
- Day 1, Week 1, Month 1 goals
- Progressive complexity
- Hands-on exercises
- Checkpoint milestones
- Resources and references
-
Document Team Culture:
- Communication channels
- Meeting schedules
- Code review practices
- Decision-making processes
- Team values and norms
-
Enable Self-Service:
- FAQ sections
- Troubleshooting guides
- Links to resources
- Who to ask for what
- Common gotchas
Onboarding Documentation Structure
Complete Onboarding Guide Template
# Welcome to [Project Name]! 👋
Welcome! We're excited to have you on the team. This guide will help you get up to speed quickly and smoothly.
## Table of Contents
1. [Overview](#overview)
2. [Day 1: Getting Started](#day-1-getting-started)
3. [Week 1: Core Concepts](#week-1-core-concepts)
4. [Month 1: Making Impact](#month-1-making-impact)
5. [Team & Processes](#team--processes)
6. [Resources](#resources)
7. [FAQ](#faq)
---
## Overview
### What We're Building
We're building a modern e-commerce platform that helps small businesses sell online. Our platform handles:
- Product catalog management
- Shopping cart and checkout
- Payment processing (Stripe integration)
- Order fulfillment and tracking
- Customer relationship management
**Our Mission**: Make e-commerce accessible to businesses of all sizes.
**Our Users**: Small to medium business owners with 10-1000 products.
### Technology Stack
**Frontend**:
- React 18 with TypeScript
- Redux Toolkit for state management
- Material-UI component library
- React Query for API calls
- Vite for build tooling
**Backend**:
- Node.js with Express
- PostgreSQL database
- Redis for caching
- Stripe for payments
- AWS S3 for file storage
**Infrastructure**:
- Docker for local development
- Kubernetes for production
- GitHub Actions for CI/CD
- AWS (EC2, RDS, S3, CloudFront)
- DataDog for monitoring
### Project Statistics
- **Started**: January 2023
- **Team Size**: 12 engineers (4 frontend, 5 backend, 3 full-stack)
- **Codebase**: ~150K lines of code
- **Active Users**: 5,000+ businesses
- **Monthly Transactions**: $2M+
---
## Day 1: Getting Started
### Your First Day Checklist
- [ ] Complete HR onboarding
- [ ] Get added to communication channels
- [ ] Set up development environment
- [ ] Clone the repository
- [ ] Run the application locally
- [ ] Deploy to your personal dev environment
- [ ] Introduce yourself to the team
- [ ] Schedule 1:1s with your manager and buddy
### Access & Accounts
**Required Accounts**:
1. **GitHub** - Source code ([github.com/company/project](https://github.com))
- Request access from @engineering-manager
2. **Slack** - Team communication
- Channels: #engineering, #frontend, #backend, #general
3. **Jira** - Project management ([company.atlassian.net](https://company.atlassian.net))
4. **Figma** - Design files
5. **AWS Console** - Production access (read-only initially)
6. **DataDog** - Monitoring and logs
**Development Tools**:
- Docker Desktop
- Node.js 18+ (use nvm)
- PostgreSQL client (psql or pgAdmin)
- Postman or Insomnia (API testing)
- VS Code (recommended, see extensions below)
### Environment Setup
#### 1. Install Prerequisites
**macOS**:
```bash
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Node.js via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 18
nvm use 18
# Install Docker Desktop
brew install --cask docker
# Install PostgreSQL client
brew install postgresql@14
Windows:
# Install using Chocolatey
choco install nodejs-lts docker-desktop postgresql14
2. Clone Repository
# Clone the repo
git clone git@github.com:company/ecommerce-platform.git
cd ecommerce-platform
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env.local
3. Configure Environment Variables
Edit .env.local:
# Database (local Docker)
DATABASE_URL=postgresql://postgres:password@localhost:5432/ecommerce_dev
# Redis
REDIS_URL=redis://localhost:6379
# Stripe (use test keys)
STRIPE_SECRET_KEY=sk_test_... # Get from @backend-lead
STRIPE_PUBLISHABLE_KEY=pk_test_...
# AWS S3 (dev bucket)
AWS_ACCESS_KEY_ID=... # Get from @devops
AWS_SECRET_ACCESS_KEY=...
AWS_S3_BUCKET=ecommerce-dev-uploads
# Session
SESSION_SECRET=your-random-secret-here
Where to get credentials:
- Stripe test keys: 1Password vault "Development Secrets"
- AWS credentials: Request from @devops in #engineering
- Session secret: Generate with
openssl rand -base64 32
4. Start Development Environment
# Start Docker services (PostgreSQL, Redis)
docker-compose up -d
# Run database migrations
npm run db:migrate
# Seed database with sample data
npm run db:seed
# Start development server
npm run dev
Expected output:
✔ Database migrated successfully
✔ Seeded 100 products, 50 users
✔ Server running on http://localhost:3000
✔ API available at http://localhost:3000/api
5. Verify Installation
Open your browser to http://localhost:3000
You should see the application home page with sample products.
Test credentials:
- Email:
test@example.com - Password:
password123
Troubleshooting:
- Port 3000 in use: Kill the process with
lsof -ti:3000 | xargs kill -9 - Database connection failed: Check Docker is running with
docker ps - Module not found: Delete
node_modulesand runnpm installagain
See Troubleshooting Guide for more help.
VS Code Setup
Recommended Extensions:
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss",
"ms-azuretools.vscode-docker",
"eamodio.gitlens",
"orta.vscode-jest",
"prisma.prisma"
]
}
Settings (.vscode/settings.json):
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"typescript.tsdk": "node_modules/typescript/lib"
}
Your First Commit
Let's make a simple change to verify your setup:
-
Create a branch:
git checkout -b test/your-name-setup -
Add your name to the team page: Edit
src/pages/About.tsx:const teamMembers = [ // ... existing members { name: 'Your Name', role: 'Software Engineer', joinedDate: '2024-01-15' } ]; -
Test your change:
npm run test npm run lint -
Commit and push:
git add . git commit -m "docs: Add [Your Name] to team page" git push origin test/your-name-setup -
Create a PR:
- Go to GitHub
- Click "Compare & pull request"
- Fill out the PR template
- Request review from your buddy
Congrats on your first contribution! 🎉
End of Day 1
You should now have:
- ✅ Development environment running locally
- ✅ Application accessible in your browser
- ✅ First PR created
- ✅ Access to all team tools and channels
Questions? Ask in #engineering or DM your buddy!
Week 1: Core Concepts
Project Architecture
High-Level Architecture
┌─────────────┐
│ Brows