Welcome Contributors
Thank you for your interest in contributing to Deriverse! This guide will help you get started with contributing to the project.Getting Started
Set up your development environment
Follow the Local Setup Guide to clone the repository and install dependencies.
Find an issue or feature to work on
Browse the GitHub Issues to find something to work on, or propose your own feature.
Make your changes
Implement your changes following our code style guidelines.
Commit and push
Commit using Conventional Commits and push to your fork.
Code Style
Deriverse follows consistent coding standards to maintain code quality and readability.TypeScript Guidelines
File Organization
Follow the established project structure:Component Guidelines
Component structure
Component structure
Styling with Tailwind
Styling with Tailwind
Use Tailwind CSS utility classes consistently:For complex components, use
clsx for conditional classes:Custom hooks
Custom hooks
Extract reusable logic into custom hooks:
Commit Conventions
Deriverse follows the Conventional Commits specification.Commit Message Format
Commit Types
| Type | Description | Example |
|---|---|---|
feat | New feature | feat(journal): add tag filtering |
fix | Bug fix | fix(trades): handle null pnl values |
docs | Documentation changes | docs(readme): update installation steps |
style | Code style changes (formatting, etc.) | style(button): adjust padding |
refactor | Code refactoring | refactor(services): extract common logic |
perf | Performance improvements | perf(trades): optimize filter algorithm |
test | Adding or updating tests | test(utils): add trade calculation tests |
build | Build system changes | build(deps): update next to 16.2.0 |
ci | CI/CD changes | ci(github): add test workflow |
chore | Other changes | chore(gitignore): add .env.local |
Examples
Pull Request Process
Before Submitting
PR Template
When creating a pull request, include:Review Process
- Automated checks: CI/CD runs linting and build checks
- Code review: Maintainers review your code and provide feedback
- Revisions: Address feedback and push updates
- Approval: Once approved, your PR will be merged
Be patient and responsive to feedback. Code reviews help maintain quality and are a learning opportunity.
Testing
Manual Testing
Always test your changes manually:Agentation for Visual Testing
Deriverse uses Agentation for visual feedback:- Run the app with
npm run dev - Use the on-screen overlay to annotate UI issues
- Share feedback with screenshots or recordings
Future: Unit Testing
Unit tests will be added using Jest and React Testing Library. When implemented:Project-Specific Guidelines
Working with Supabase
When modifying database interactions:- Use services: Always use the service layer (
src/services/) instead of direct Supabase calls - Type safety: Define TypeScript interfaces for database tables
- Error handling: Always handle errors gracefully
Working with Solana
When adding blockchain functionality:- Use devnet: Always test with devnet first
- Handle connection errors: Network calls can fail
- Consider rate limits: Especially with public RPC endpoints
UI/UX Guidelines
Deriverse emphasizes premium, vibrant UI:- Animations: Use Framer Motion for smooth transitions
- Colors: Follow the Tailwind config color palette
- Responsive: Test on mobile, tablet, and desktop
- Accessibility: Include ARIA labels and keyboard navigation
Development Workflow
Agentic Development (Recommended)
Deriverse is built using an agentic workflow:- Planning: Create an implementation plan for complex features
- Execution: Break work into small, focused commits
- Verification: Use Agentation for visual feedback
- Documentation: Update relevant docs as you go
Branch Naming
Use descriptive branch names:Resources
Architecture Docs
Understand the system architecture
Trade Types
Browse TypeScript type definitions
Service APIs
Explore service APIs and utilities
GitHub Repository
View source code on GitHub
Getting Help
If you need help or have questions:- Telegram: @yamparalarahul1
- X (Twitter): @yamparalarahul1
- GitHub Issues: Create an issue
Code of Conduct
Be respectful and professional in all interactions. We’re building together:- Be kind: Treat others with respect
- Be constructive: Provide helpful feedback
- Be patient: Everyone is learning
- Be open: Welcome different perspectives
Credits
Deriverse is designed and engineered by Yamparala Rahul for the Superteam Earn bounty.Thank you for contributing to Deriverse! Your contributions help make Solana trading analytics better for everyone.
