Contributing to Core
Help improve Data Pod for everyone
Two Ways to Contribute
1. Core Features
Add fundamental capabilities to Data Pod:
- Database improvements
- API infrastructure
- Performance optimizations
- Security enhancements
Guide: This section
2. Plugins
Extend Data Pod with new features:
- Add specific capabilities
- AI integrations
- Custom workflows
Guide: Extending Synap →
When to Contribute Core vs Plugin
Core contribution when:
- ✅ Benefits all users
- ✅ Infrastructure/foundation
- ✅ Performance/security critical
- ✅ Requires deep integration
Plugin when:
- ✅ Specific use case
- ✅ Optional functionality
- ✅ Can be modular
- ✅ AI/external service
Not sure? Open a discussion on GitHub!
Getting Started
1. Fork & Clone
# Fork on GitHub, then:
git clone https://github.com/YOUR_USERNAME/backend.git
cd backend
2. Install Dependencies
pnpm install
3. Set Up Environment
cp .env.example .env
# Edit .env with your settings
4. Start Services
docker compose up -d # PostgreSQL, MinIO, Kratos, etc.
cd apps/api && pnpm dev
Monorepo Structure
synap-backend/
├── apps/
│ └── api/ # Main API application
├── packages/
│ ├── api/ # tRPC routers
│ ├── database/ # Schema, migrations
│ ├── events/ # Event types
│ ├── client/ # SDK
│ └── core/ # Shared utilities
└── services/
└── intelligence/ # Example service
Key principle: Packages are reusable, apps consume them.
Development Workflow
1. Create Branch
git checkout -b feature/my-improvement
2. Make Changes
Follow these guides:
3. Test
pnpm test
pnpm build # Check for errors
4. Submit PR
git push origin feature/my-improvement
# Open PR on GitHub
Code Standards
- TypeScript: Strict mode enabled
- Style: Prettier + ESLint (auto-format on save)
- Tests: Required for new features
- Commits: Clear, descriptive messages
Common Tasks
Add New API Endpoint
Add Database Table
Add Event Type
Fix Bug
Getting Help
- Questions: Open GitHub discussion
- Bugs: Create GitHub issue
- Ideas: Start a discussion first
Next Steps
- Understand structure → Monorepo Guide
- Pick a task → Check GitHub issues labeled "good first issue"
- Make changes → Follow development guides
- Submit PR → We'll review and help!
Thank you for contributing! 🎉