This guide helps you get started contributing to Delego. For detailed contribution guidelines, see CONTRIBUTING.md.
Delego/
├── README.md # Main project documentation
├── ARCHITECTURE.md # System architecture overview
├── CONTRIBUTING.md # Detailed contribution guidelines
├── CODE_OF_CONDUCT.md # Code of conduct
├── ROADMAP.md # Project roadmap
├── package.json # Root package configuration
├── pnpm-workspace.yaml # pnpm workspace configuration
├── tsconfig.base.json # Base TypeScript configuration
└── docker-compose.yml # Local development infrastructure
- apps/: Applications (frontend, backend)
- agents/: AI agent runtime and packages
- contracts/: Soroban smart contracts
- database/: Database schema, migrations, seed data
- docs/: Project documentation
- infrastructure/: Infrastructure as code
- packages/: Shared libraries
- tests/: Test suites
- README.md - Project overview and quick start
- ARCHITECTURE.md - System architecture
- CONTRIBUTING.md - Contribution guidelines
- ROADMAP.md - Project roadmap
- Service-specific READMEs for areas of interest
- Node.js: >= 20.0.0
- pnpm: >= 9.0.0
- Docker: >= 24.0.0
- Docker Compose: >= 2.20.0
- Rust: >= 1.70.0 (for contract development)
# 1. Clone the repository
git clone https://github.com/your-org/delego.git
cd delego
# 2. Install dependencies
pnpm install
# 3. Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# 4. Start infrastructure services
pnpm docker:up
# 5. Run database migrations
pnpm db:migrate
# 6. Seed database (optional, for development)
pnpm db:seed
# 7. Build all packages
pnpm build
# 8. Start development servers
pnpm dev# Check TypeScript compilation
pnpm typecheck
# Run tests
pnpm test
# Check service health
curl http://localhost:3000/health
curl http://localhost:3010/health
curl http://localhost:3011/health
curl http://localhost:3012/health
curl http://localhost:3014/health
curl http://localhost:3015/healthLook for issues labeled good first issue in GitHub Issues. These are ideal for new contributors.
Check ROADMAP.md for planned features and milestones. Pick an unchecked item that interests you.
Search for TODO: comments in the codebase:
grep -r "TODO:" --include="*.ts" --include="*.tsx" --include="*.rs"Based on your interests:
- apps/frontend/: Customer web application
- packages/ui/: Shared UI components
- packages/sdk/: API client SDK
- apps/backend/gateway/: API gateway
- apps/backend/orchestrator/: Workflow orchestration
- apps/backend/wallet/: Wallet service
- contracts/escrow/: Escrow contract
- contracts/permissions/: Permissions contract
- agents/: AI agent runtime and packages
# Create a new branch from main
git checkout -b feature/your-feature-name
# Or for a fix
git checkout -b fix/your-fix-name- Write code following the project's code standards
- Add tests for your changes
- Update documentation as needed
- Commit frequently with clear messages
# Run type checking
pnpm typecheck
# Run tests
pnpm test
# Run specific test suite
pnpm test:unit
pnpm test:integration
pnpm test:contracts
pnpm test:e2e
# Build the project
pnpm build# Stage your changes
git add .
# Commit with a clear message
git commit -m "feat: add user profile page"
# Use conventional commit format:
# feat: new feature
# fix: bug fix
# docs: documentation changes
# style: formatting changes
# refactor: code refactoring
# test: test changes
# chore: maintenance tasks# Push your branch
git push origin feature/your-feature-name
# Create a pull request on GitHub
# Link to relevant issues
# Request review from maintainers- Respond to review comments
- Make requested changes
- Push updates to your branch
- Request re-review when ready
Before submitting a PR, ensure:
- Code follows project style guidelines
- Code is properly formatted (use
pnpm format) - TypeScript compilation passes (
pnpm typecheck) - No console.log statements in production code
- No commented-out code
- Tests added for new functionality
- All tests pass (
pnpm test) - Test coverage is maintained or improved
- Tests are well-documented and readable
- README updated if adding new service/package
- API documentation updated for API changes
- Inline code comments where necessary
- Changelog updated for significant changes
- No secrets or API keys committed
- No hardcoded credentials
- Environment variables used for sensitive data
- Security best practices followed
- No performance regressions introduced
- Database queries optimized
- N+1 query issues avoided
- Efficient algorithms used
- README.md - Main project documentation
- ARCHITECTURE.md - System architecture
- CONTRIBUTING.md - Contribution guidelines
- docs/ - Additional documentation
- GitHub Issues: Report bugs and request features
- GitHub Discussions: Ask questions and discuss ideas
- Discord/Slack: Real-time chat (link coming soon)
- Email: conduct@delego.dev (for conduct issues)
- GitHub: @your-org/delego (for general inquiries)
- Create service directory in
apps/backend/ - Add package.json with service configuration
- Implement service with health check endpoint
- Add service to docker-compose.yml
- Update apps/backend/README.md
- Add tests for the service
- Update CI/CD configuration
- Create package directory in
packages/ - Add package.json with package configuration
- Implement package functionality
- Add tests for the package
- Update packages/README.md
- Export from package index
- Create contract directory in
contracts/ - Add Cargo.toml with contract configuration
- Implement contract with Soroban SDK
- Add tests for the contract
- Update contracts/README.md
- Document contract functions
- Create migration file in
database/migrations/ - Write SQL for schema changes
- Test migration locally
- Update database/README.md
- Document schema changes
Dependencies won't install
# Clear pnpm cache
pnpm store prune
# Reinstall dependencies
rm -rf node_modules
pnpm installDocker containers won't start
# Check Docker is running
docker ps
# Restart Docker
# (platform-specific)
# Rebuild containers
docker-compose down
docker-compose up -d --buildTests failing locally
# Check test environment
echo $NODE_ENV
# Reset database
pnpm db:reset
# Run tests with verbose output
pnpm test --verboseTypeScript errors
# Check TypeScript version
pnpm list typescript
# Rebuild TypeScript
pnpm clean
pnpm build- TypeScript Documentation
- Node.js Documentation
- React Documentation
- Stellar Documentation
- Soroban Documentation
- Docker Documentation
Last Updated: June 2026