Files
2025-11-30 08:46:50 +08:00

287 lines
5.2 KiB
Markdown

# Developer Onboarding Guide
Welcome to {Project Name}! This guide will help you get up to speed quickly.
## 📋 Checklist
### Day 1
- [ ] Set up development environment
- [ ] Clone repository and install dependencies
- [ ] Run the project locally
- [ ] Read architecture documentation
- [ ] Join team communication channels
### Week 1
- [ ] Complete first small task/bug fix
- [ ] Understand the codebase structure
- [ ] Review coding standards and patterns
- [ ] Set up IDE/tools properly
- [ ] Meet the team
### Month 1
- [ ] Contribute to a feature
- [ ] Understand the deployment process
- [ ] Review Oracle knowledge base
- [ ] Understand testing strategy
## 🚀 Getting Started
### 1. Environment Setup
**Required Tools:**
- Node.js 18+ / Python 3.9+ / etc.
- Git
- IDE (VS Code recommended)
- Docker (optional)
**Installation:**
\`\`\`bash
# Clone repository
git clone https://github.com/{org}/{repo}.git
cd {repo}
# Install dependencies
npm install
# Set up environment
cp .env.example .env
# Edit .env with your configuration
# Run development server
npm run dev
\`\`\`
### 2. Project Structure
\`\`\`
project/
├── src/ # Source code
│ ├── components/ # UI components
│ ├── services/ # Business logic
│ └── utils/ # Utilities
├── tests/ # Test files
├── docs/ # Documentation
└── scripts/ # Build/deployment scripts
\`\`\`
### 3. Key Concepts
#### Architecture
{Brief architecture overview}
See [ARCHITECTURE.md](./ARCHITECTURE.md) for details.
#### Design Patterns
*From Oracle knowledge base:*
- **{Pattern 1}**: {Description}
- **{Pattern 2}**: {Description}
- **{Pattern 3}**: {Description}
## 📚 Essential Reading
1. **README.md** - Project overview
2. **ARCHITECTURE.md** - System architecture
3. **CONTRIBUTING.md** - Contribution guidelines
4. **docs/adr/** - Architecture decisions
5. **Oracle Knowledge** - Project-specific patterns and gotchas
## 🎯 Common Tasks
### Running Tests
\`\`\`bash
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run specific test file
npm test path/to/test.spec.ts
\`\`\`
### Building
\`\`\`bash
# Development build
npm run build:dev
# Production build
npm run build:prod
\`\`\`
### Debugging
{Project-specific debugging tips}
## ⚠️ Common Gotchas
*From Oracle knowledge base:*
### {Gotcha 1}
{Description and how to avoid}
### {Gotcha 2}
{Description and how to avoid}
### {Gotcha 3}
{Description and how to avoid}
## 🔧 Development Workflow
### 1. Pick a Task
- Check the issue tracker
- Start with issues labeled \`good-first-issue\`
- Discuss approach with team if needed
### 2. Create a Branch
\`\`\`bash
git checkout -b feature/your-feature-name
# or
git checkout -b fix/bug-description
\`\`\`
### 3. Make Changes
- Follow coding standards
- Write tests
- Update documentation
### 4. Commit
\`\`\`bash
git add .
git commit -m "feat: add amazing feature"
\`\`\`
We use [Conventional Commits](https://www.conventionalcommits.org/):
- \`feat:\` New feature
- \`fix:\` Bug fix
- \`docs:\` Documentation
- \`refactor:\` Code refactoring
- \`test:\` Tests
- \`chore:\` Maintenance
### 5. Push and Create PR
\`\`\`bash
git push origin feature/your-feature-name
\`\`\`
Then create a Pull Request on GitHub.
## 🎨 Coding Standards
### Style Guide
{Link to style guide or summary}
### Best Practices
*From Oracle knowledge base:*
1. **{Practice 1}**: {Description}
2. **{Practice 2}**: {Description}
3. **{Practice 3}**: {Description}
### Code Review
- All code must be reviewed
- Address all comments
- Ensure tests pass
- Update documentation
## 🧪 Testing Strategy
### Unit Tests
\`\`\`typescript
describe('MyComponent', () => {
it('should render correctly', () => {
// Test code
});
});
\`\`\`
### Integration Tests
{Integration testing approach}
### End-to-End Tests
{E2E testing approach}
## 📖 Learning Resources
### Internal
- **Oracle Knowledge Base**: Project-specific learnings
- **ADRs**: Why we made certain decisions
- **Team Wiki**: {Link}
### External
- {Relevant external resource 1}
- {Relevant external resource 2}
- {Relevant external resource 3}
## 🤝 Team
### Communication Channels
- Slack: #{channel}
- Email: {team-email}
- Standups: {When/Where}
### Key Contacts
- **Tech Lead**: {Name}
- **Product Owner**: {Name}
- **DevOps**: {Name}
## ❓ FAQ
### Q: How do I {common question}?
A: {Answer}
### Q: Where can I find {common need}?
A: {Answer}
### Q: What should I do if {common scenario}?
A: {Answer}
## 🎓 Your First Week
### Suggested Learning Path
**Day 1-2:**
- Complete environment setup
- Read all documentation
- Run the project locally
- Explore the codebase
**Day 3-4:**
- Pick a "good first issue"
- Make your first contribution
- Go through code review
- Merge your first PR
**Day 5:**
- Retrospective on first week
- Questions and clarifications
- Plan for next week
## 🎉 Welcome Aboard!
You're now part of the team! Don't hesitate to ask questions - everyone was new once.
Remember:
- 💬 Ask questions in {channel}
- 📖 Check Oracle knowledge base first
- 🤝 Pair programming is encouraged
- 🎯 Focus on learning, not perfection
---
*Generated by Documentation Wizard • Last updated: {date}*