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**:
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_modules` and run `npm install` again
See [Troubleshooting Guide](docs/TROUBLESHOOTING.md) 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:
1. **Create a branch**:
```bash
git checkout -b test/your-name-setup
```
2. **Add your name to the team page**:
Edit `src/pages/About.tsx`:
```typescript
const teamMembers = [
// ... existing members
{ name: 'Your Name', role: 'Software Engineer', joinedDate: '2024-01-15' }
];
```
3. **Test your change**:
```bash
npm run test
npm run lint
```
4. **Commit and push**:
```bash
git add .
git commit -m "docs: Add [Your Name] to team page"
git push origin test/your-name-setup
```
5. **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