Files
docs/ONBOARDING_GUIDE.md
2026-02-09 21:51:46 -08:00

233 lines
4.0 KiB
Markdown

# Developer Onboarding Guide
**Date**: 2025-01-27
**Purpose**: Comprehensive guide for new developers joining the workspace
**Status**: Complete
---
## Welcome!
This guide will help you get started with the workspace projects and understand the development workflow.
---
## Prerequisites
### Required Software
- **Node.js**: >= 18.0.0
- **pnpm**: >= 8.0.0
- **Git**: Latest version
- **Docker**: (for containerized projects)
- **VS Code**: (recommended IDE)
### Recommended Extensions
- ESLint
- Prettier
- TypeScript
- GitLens
---
## Workspace Overview
### Project Structure
- **40+ projects** across 8 categories
- **6 monorepos** with 18 submodules
- **Shared packages** in `workspace-shared/`
- **Infrastructure** in `infrastructure/`
### Key Directories
- `workspace-shared/` - Shared packages and libraries
- `infrastructure/` - Infrastructure as Code
- `docs/` - Documentation hub
- `scripts/` - Workspace utility scripts
---
## Getting Started
### 1. Clone Repository
```bash
# Clone with submodules
git clone --recurse-submodules <repository-url>
cd projects
```
### 2. Install Dependencies
```bash
# Install workspace dependencies
pnpm install
# Install dependencies for specific project
cd project-name
pnpm install
```
### 3. Set Up Environment
```bash
# Copy environment template
cp .env.example .env
# Edit environment variables
nano .env
```
### 4. Verify Setup
```bash
# Run workspace verification
pnpm verify
# Test specific project
cd project-name
pnpm test
```
---
## Development Workflow
### Working with Shared Packages
```bash
# Use shared package in your project
cd your-project
pnpm add @workspace/shared-types@workspace:*
pnpm add @workspace/shared-auth@workspace:*
```
### Running Projects
```bash
# Development mode
pnpm dev
# Production build
pnpm build
# Run tests
pnpm test
# Lint code
pnpm lint
```
### Making Changes
1. **Create branch**: `git checkout -b feature/your-feature`
2. **Make changes**: Edit code, add tests
3. **Test locally**: `pnpm test && pnpm lint`
4. **Commit**: `git commit -m "feat: your feature"`
5. **Push**: `git push origin feature/your-feature`
6. **Create PR**: Open pull request on GitHub
---
## Project Categories
### Blockchain & DeFi
- **Defi-Mix-Tooling**: Monorepo with 6 DeFi projects
- **smom-dbis-138**: DBIS blockchain infrastructure
- **27-combi, 237-combo**: DeFi tools
### Banking & Financial
- **dbis_core**: Core banking system
- **the_order**: Identity platform
- **dbis_docs**: Documentation
### Infrastructure
- **loc_az_hci**: Proxmox infrastructure
- **Sankofa**: Blockchain orchestration
---
## Code Standards
### TypeScript
- Use TypeScript for all new code
- Enable strict mode
- Use shared types from `@workspace/shared-types`
### Testing
- Write tests for all new features
- Aim for 80%+ coverage
- Use Vitest or Jest
### Documentation
- Update README for significant changes
- Document public APIs
- Add JSDoc comments
---
## Common Tasks
### Adding a New Shared Package
1. Create package in `workspace-shared/packages/`
2. Add to `pnpm-workspace.yaml`
3. Build: `pnpm build`
4. Publish: `pnpm publish`
### Updating Dependencies
```bash
# Check for updates
pnpm outdated
# Update dependencies
pnpm update
# Audit security
pnpm audit
```
### Running CI/CD Locally
```bash
# Install act (GitHub Actions local runner)
brew install act
# Run workflow
act -W .github/workflows/ci.yml
```
---
## Resources
### Documentation
- [Integration Plan](../INTEGRATION_STREAMLINING_PLAN.md)
- [Project Review](../COMPREHENSIVE_PROJECT_REVIEW.md)
- [Monorepo Structure](../MONOREPO_STRUCTURE.md)
### Tools
- [Dependency Audit](./DEPENDENCY_AUDIT.md)
- [CI/CD Guide](./CI_CD_MIGRATION_GUIDE.md)
- [Terraform Modules](./TERRAFORM_MODULES_CONSOLIDATION.md)
---
## Getting Help
### Questions?
- Check project README
- Review documentation in `docs/`
- Ask team on Slack/Discord
- Open GitHub issue
### Reporting Issues
- Use GitHub Issues
- Include reproduction steps
- Add relevant logs
- Tag with appropriate labels
---
**Last Updated**: 2025-01-27