Thank you for your interest in contributing to DevTrack! Whether you are a GSSoC participant or a general open-source contributor, we are thrilled to have you.
Following these guidelines helps ensure a smooth, efficient, and consistent development process for everyone.
- Onboarding & Claiming Issues
- Local Development Setup
- Branching and Workflow
- Commit Guidelines
- Code Style & Standards
- Pull Request (PR) Checklist
To keep the development queue clean and organized:
- Claim Before You Build: Comment on the open issue you want to work on. Wait for a maintainer to assign it to you before writing code.
- Avoid Duplicates: Check the active Pull Requests and assigned issues first to ensure someone else is not already working on the same task.
- Ask Questions: If an issue's requirements are unclear, comment directly on the issue to seek clarification.
To run DevTrack on your machine, follow these steps:
Make sure you have Node.js (v18 or higher recommended) and npm installed.
- Fork the Repository: Click the "Fork" button at the top-right of the DevTrack repository to create your own copy.
- Clone Your Fork:
git clone https://github.com/<your-username>/devtrack.git cd devtrack
- Configure Upstream Remote:
git remote add upstream https://github.com/Priyanshu-byte-coder/devtrack.git
- Install Dependencies:
npm install
- Environment Configuration:
- Copy the example environment file:
cp .env.example .env.local
- Open
.env.localand populate any required configuration values (e.g., Supabase, NextAuth credentials).
- Copy the example environment file:
- Start the Dev Server:
Open http://localhost:3000 in your browser to view the application.
npm run dev
Always create a descriptive branch for your changes rather than committing directly to main.
Choose a prefix matching the nature of your task:
- Features:
feat/<short-description>(e.g.,feat/add-404-page) - Bug Fixes:
fix/<short-description>(e.g.,fix/streak-at-risk-mobile) - Documentation:
docs/<short-description>(e.g.,docs/add-contributing-guidelines) - Tests:
test/<short-description>(e.g.,test/timezone-parsing) - Refactoring:
refactor/<short-description>(e.g.,refactor/webhooks-signature)
We use Conventional Commits to keep our repository history structured, descriptive, and clean.
<type>(<scope>): <short description>
feat: A new featurefix: A bug fixdocs: Documentation changesstyle: Code style changes (white-space, formatting, missing semi-colons, etc.)refactor: A code change that neither fixes a bug nor adds a featuretest: Adding missing tests or correcting existing oneschore: Updating build tasks, package manager configs, etc.
feat(landing): add custom 404 page for better brandingfix(dashboard): resolve mobile layout stats card overflowdocs(readme): update setup prerequisites in README
To maintain a professional codebase:
- Automated Formatting: We use ESLint and Prettier. Ensure your files are clean before committing:
npm run lint
- No Unused Code: Remove any unused imports, commented-out dead code blocks, or active
console.logstatements prior to opening a PR. - Accessibility (a11y): Build with semantic HTML elements and include proper ARIA roles and labels for interactive components.
Before submitting your PR to the upstream repository, verify the following:
- Tests Pass: All unit/integration tests run and pass without errors (
npx vitest run). - No Build Errors: The application builds correctly (
npm run build). - No Console Errors: Verify in the browser console that there are no warnings or runtime exceptions.
- Descriptive PR Details: Fill out the PR template completely. Link the issue being closed (e.g.,
Closes #123). - Screenshots Included: If your change modifies any UI or styling, attach clear mobile and desktop screenshots or a short demo GIF in the PR description.
- Clean Git History: Rebase your branch against the latest upstream
mainto resolve conflicts cleanly.
We warmly welcome contributors participating in GSSoC 2026 🎉
- Level 1 (Beginner): 20 points
- Level 2 (Intermediate): 35 points
- Level 3 (Advanced): 55 points
gssoc26→ Issue is part of GSSoC 2026gssoc:assigned→ Issue already assignedneeds-triage→ Maintainers are reviewing the issue
- Work only on issues assigned to you.
- Stay active after assignment to avoid unassignment.
- Always link your PR to the issue number.
- Follow the repository guidelines carefully before submitting PRs.
- Verify all Supabase keys inside
.env.local - Restart the development server after updating environment variables
- Ensure your Supabase project is active and accessible
- Ensure callback URLs match exactly in GitHub OAuth settings
- Verify
NEXTAUTH_URLis configured correctly - Check GitHub Client ID and Secret values
- Ensure
.env.localexists in the project root - Avoid extra spaces or quotes in environment values
- Restart the server after modifying environment variables
Before submitting your Pull Request, run the following commands:
npm run lint
npm run build
npx vitest run- Application runs without crashes
- No console warnings or runtime errors
- UI works correctly on mobile and desktop
- Existing functionality remains unaffected
If your PR introduces UI or styling changes, please include screenshots or demo GIFs.
- Windows: Snipping Tool, ShareX
- macOS: Built-in Screenshot Tool
- GIF Recording: ScreenToGif, LiceCap
- Before vs After screenshots
- Mobile responsiveness preview
- Short demo GIF for interactive features
Thank you for contributing to DevTrack! 🚀