233 lines
4.0 KiB
Markdown
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
|
|
|