Thank you for your interest in contributing to KrishiSetu! We welcome contributions from everyone — whether you're fixing bugs, adding features, improving documentation, or suggesting ideas.
Your contributions help make agricultural supply chains more transparent and impactful. 💚
Click the Fork button on GitHub and clone your fork:
git clone https://github.com/YOUR_USERNAME/KrishiSetu.git
cd KrishiSetuAdd upstream remote:
git remote add upstream https://github.com/aditiraj2006/KrishiSetu.git
git remote -vInstall project dependencies:
npm installCreate a .env file in the root directory.
Copy values from .env.example and add your credentials.
Example:
VITE_FIREBASE_API_KEY=your_api_key_here
MONGODB_URI=your_mongodb_connection_string_here
GOOGLE_GEMINI_API_KEY=your_gemini_api_key_here.env files.
Start development server:
npm run devOpen:
http://localhost:5001
Use meaningful branch names:
feature/add-new-feature
bugfix/fix-critical-bug
docs/update-readme
refactor/optimize-code
test/add-unit-tests
Use descriptive commit messages.
Examples:
[feat] Add new QR code feature
[fix] Resolve product search bug
[docs] Update setup instructions
git fetch upstream
git checkout main
git merge upstream/maingit checkout -b feature/amazing-featureWrite clean, well-documented code.
Keep commits focused and atomic.
Commit:
git add .
git commit -m "[feat] Add amazing feature"Before submitting:
- Run the project locally
- Check console errors
- Test functionality
- Verify UI responsiveness
- Ensure no sensitive files are committed
git push origin feature/amazing-featureWhen opening a PR:
Include:
- Clear description of changes
- Why changes are needed
- Steps to test
- Screenshots (for UI changes)
- Related issue reference (
Fixes #123)
Before submitting PR:
- Code follows project style guidelines
- Self-review completed
- Documentation updated
- Tests added/updated if needed
- Related issue linked
- No
.envfiles included
Please follow:
✅ TypeScript best practices
✅ Meaningful variable names
✅ Small reusable functions
✅ Add comments for complex logic
✅ Format code consistently
✅ Update documentation when required
Avoid:
❌ Unnecessary style changes
❌ Large unrelated PRs
❌ Leaving console.log() in production
❌ Committing sensitive credentials
When creating an issue, include:
- Problem description
- Steps to reproduce
- Expected behavior
- Screenshots (if applicable)
- Environment details
If you have questions:
- Open a GitHub Discussion
- Create an Issue
- Contact maintainers through repository channels
Thank you for contributing to KrishiSetu! 🚀