Ways to Contribute
Report Bugs
Found an issue? Report it on GitHub Issues
Suggest Features
Have an idea? Open a feature request issue
Improve Documentation
Help others by improving guides and documentation
Submit Code
Fix bugs, add features, or improve performance
Getting Started
Fork the repository
Fork Dependify2.0 to your GitHub account.
Set up development environment
Follow the Local Development Setup guide to configure your environment.
Code Style Guidelines
Python (Backend)
We follow PEP 8 with some modifications:- Use type hints for function parameters and return values
- Write docstrings for all public functions
- Maximum line length: 100 characters
- Use 4 spaces for indentation
- Import order: standard library, third-party, local imports
TypeScript/JavaScript (Frontend)
We follow the Next.js and React best practices:- Use TypeScript for all new code
- Define interfaces for component props
- Use functional components with hooks
- Follow React naming conventions (PascalCase for components)
- Use meaningful variable names
- Handle loading and error states properly
Commit Message Guidelines
Write clear, descriptive commit messages:feat: New featurefix: Bug fixdocs: Documentation changesrefactor: Code refactoring without functional changestest: Adding or updating testschore: Maintenance tasks, dependencies
Testing Requirements
While Dependify is currently in active development and doesn’t have comprehensive tests yet, we encourage contributors to:Manual Testing Checklist
Before submitting a PR, test the following:Backend API
-
/healthendpoint returns 200 -
/updateendpoint processes repositories - GitHub OAuth flow completes successfully
- Rate limiting works as expected
Frontend
- GitHub login redirects correctly
- Repository input validates URLs
- Real-time updates display via Supabase
- PR link opens correctly after processing
Modal Containers
-
containers.pyanalyzes files correctly -
modal_write.pyrefactors code as expected - Secrets load properly in containers
- Parallel processing handles 10+ files
Future Testing Goals
We welcome contributions that add:- Unit tests for backend modules (pytest)
- Integration tests for API endpoints
- Frontend component tests (Jest, React Testing Library)
- E2E tests (Playwright or Cypress)
Pull Request Process
Ensure code quality
- Code follows style guidelines
- All functions have docstrings/comments
- No console.log statements in production code
- Type hints added for Python code
- TypeScript types defined for React components
Update documentation
If your changes affect usage:
- Update relevant documentation pages
- Add examples for new features
- Update environment variables guide if needed
Test your changes
- Test locally with the development setup
- Verify changes work with production-like configuration
- Test edge cases and error scenarios
Create pull request
- Go to your fork on GitHub
- Click “Compare & pull request”
- Fill out the PR template:
- Title: Clear, descriptive summary
- Description: What, why, and how
- Testing: How you tested the changes
- Screenshots: For UI changes
Code review
- Respond to review comments promptly
- Make requested changes
- Push updates to the same branch
- Request re-review when ready
PR Template
Use this template for your pull requests:Areas Needing Help
We especially welcome contributions in these areas:Multi-Language Support
Add support for Python, Go, Rust, Java modernization beyond JavaScript/TypeScript
Testing Infrastructure
Help build comprehensive unit and integration tests
UI/UX Improvements
Enhance the dashboard, add animations, improve accessibility
Performance Optimization
Optimize Modal container performance, reduce processing time
Documentation
Add guides, tutorials, and API documentation
Error Handling
Improve error messages and recovery mechanisms
Communication
GitHub Issues
Report bugs and request features
GitHub Discussions
Ask questions and share ideas
Pull Request Comments
Discuss specific code changes
Contact @kshitizz36 for sensitive matters
Code of Conduct
We follow these principles:License
By contributing to Dependify, you agree that your contributions will be licensed under the MIT License.Recognition
All contributors will be:- Listed in the project’s contributors page
- Mentioned in release notes for significant contributions
- Thanked in the README
We appreciate every contribution, no matter how small. Thank you for helping improve Dependify!
Resources
Setup Guide
Set up your development environment
Code Structure
Understand the codebase organization
Environment Variables
Configure your local environment
GitHub Issues
View open issues