Thank you for your interest in contributing to DevPath Web! We are excited to have you here.
DevPath Web is a community-driven project, and every contribution helps improve the platform for developers, learners, and open-source contributors. This guide will help you set up the project locally, follow the contribution workflow, and submit a clean pull request.
- Code of Conduct
- Getting Started
- Environment Setup
- Running the Project
- Branch Naming Conventions
- Making Changes
- Commit Message Guidelines
- Pull Request Guidelines
- Reporting Bugs
- Suggesting Features
- GSSoC Contributor Guidelines
Please read and follow the Code of Conduct. We expect all contributors to help keep DevPath a welcoming, respectful, and inclusive community.
Before you begin, make sure you have the following installed:
- Git
- Node.js, latest LTS version recommended
- npm
- A code editor such as VS Code
You can verify your installations with:
git --version
node --version
npm --version- Go to the DevPath Web repository on GitHub.
- Click the Fork button in the top-right corner.
- This creates a copy of the repository under your GitHub account.
Replace your-username with your GitHub username:
git clone https://github.com/your-username/DevPath-Web.git
cd DevPath-WebAdd the original repository as upstream so you can keep your fork updated:
git remote add upstream https://github.com/devpathindcommunity-india/DevPath-Web.git
git remote -vBefore starting new work, sync your local branch with the latest changes:
git checkout master
git pull upstream master
git push origin masterInstall project dependencies:
npm installCreate a local environment file by copying the example file:
cp .env.example .env.localOn Windows PowerShell, you can use:
Copy-Item .env.example .env.localOpen .env.local and add the required Firebase configuration values.
Never commit .env.local or any secret keys to GitHub.
Start the development server:
npm run devOpen your browser and visit:
http://localhost:3000
Other useful commands:
npm run build
npm run start
npm run lintCreate a new branch for every issue or contribution. Use clear and descriptive branch names.
Recommended formats:
feature/issue-name
fix/issue-name
docs/issue-name
chore/issue-name
Examples:
feature/add-events-section
fix/navbar-mobile-menu
docs/contributing-guide
chore/update-dependencies
Avoid working directly on the master branch.
Follow these steps when working on an issue:
- Make sure the issue is assigned to you before starting.
- Create a new branch from the latest
master. - Keep your changes focused on the assigned issue.
- Follow the existing project structure and coding style.
- Test your changes locally before committing.
- Avoid making unrelated formatting or refactoring changes.
Create and switch to a new branch:
git checkout -b docs/contributing-guideCheck changed files:
git statusUse clear and meaningful commit messages. Conventional commit style is recommended.
Format:
type: short description
Common types:
feat: add a new feature
fix: fix a bug
docs: update documentation
style: update formatting or styling
refactor: restructure code without changing behavior
chore: update config, dependencies, or maintenance files
Examples:
docs: add contributing guide
fix: resolve navbar overflow on mobile
feat: add community events section
Before opening a pull request, make sure:
- Your branch is updated with the latest
master. - The project runs locally without errors.
- You have run linting if your changes include code.
- Your changes are related only to the assigned issue.
- You have reviewed your own changes.
- You have not committed
.env.local,node_modules, or build files.
Push your branch:
git push origin docs/contributing-guideThen open a pull request from your branch to the original repository's master branch.
Use a clear title with a suitable prefix:
docs: add comprehensive contributing guide
Examples:
feat: add user profile page
fix: correct footer links
docs: improve setup instructions
Include the following details in your PR description:
## Summary
Briefly explain what this PR changes.
## Changes Made
- Added setup instructions
- Added branch naming conventions
- Added pull request checklist
## Related Issue
Closes #issue-number
## Checklist
- [ ] I have read the contributing guidelines
- [ ] My changes are focused on the assigned issue
- [ ] I have tested my changes locally
- [ ] I have run linting where applicable
- [ ] I have not committed sensitive filesIf you find a bug, please open an issue and include:
- A clear title
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots or screen recordings, if helpful
- Browser and device details, if relevant
Example title:
Bug: Navbar menu does not close on mobile
Feature suggestions are welcome. When creating a feature request, include:
- A clear description of the feature
- Why it would be useful
- Any possible implementation ideas
- Screenshots, references, or examples if available
Example title:
Feature: Add community events calendar
If you are contributing as part of GSSoC, please follow these guidelines:
- Ask to be assigned before working on an issue.
- Work on one assigned issue at a time unless a maintainer allows otherwise.
- Do not raise a pull request for an issue assigned to someone else.
- Keep communication respectful and professional.
- Ask questions on the issue thread if you are stuck.
- Avoid spam comments such as repeated assignment requests.
- Submit original work and avoid copying from other contributors.
- Be patient while maintainers review your pull request.
Thank you for contributing to DevPath Web. Your time, effort, and ideas help make this project better for the whole community.