Thank you for your interest in contributing to this project! While this is primarily a personal portfolio, contributions that improve code quality, fix bugs, or enhance functionality are welcome.
- Code of Conduct
- How Can I Contribute?
- Getting Started
- Development Guidelines
- Submitting Changes
- Style Guide
- Community
This project adheres to a standard of respectful and inclusive behavior. By participating, you are expected to:
- Use welcoming and inclusive language
- Respect differing viewpoints and experiences
- Accept constructive criticism gracefully
- Focus on what's best for the community
- Show empathy towards other contributors
Before submitting a bug report:
- Check existing issues — Your bug may already be reported
- Test on multiple browsers — Verify it's not browser-specific
- Check the latest version — Ensure you're using the current codebase
When submitting a bug report, include:
- Clear, descriptive title
- Steps to reproduce the issue
- Expected vs. actual behavior
- Screenshots (if applicable)
- Browser and OS information
Example:
**Bug:** Navigation menu doesn't close on mobile
**Steps to Reproduce:**
1. Open site on mobile device
2. Tap hamburger menu
3. Select a link
4. Menu remains open
**Expected:** Menu should close after selection
**Actual:** Menu stays open
**Browser:** Chrome Mobile 120.0
**Device:** iPhone 12, iOS 17Enhancement suggestions are welcome for:
- Accessibility improvements — WCAG compliance, screen reader support
- Performance optimizations — Faster load times, optimized assets
- Responsive design fixes — Better mobile/tablet experience
- Code quality — Refactoring, better practices
- New features — Must align with portfolio purpose
Not Accepted:
- Personal content changes (certificates, skills, bio)
- Major design overhauls without prior discussion
- Framework migrations (e.g., converting to React)
Good pull request candidates:
- ✅ Bug fixes
- ✅ Accessibility improvements
- ✅ Performance optimizations
- ✅ Cross-browser compatibility fixes
- ✅ Code refactoring with clear benefits
- ✅ Documentation improvements
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/portfolio.git cd portfolio -
Add upstream remote:
git remote add upstream https://github.com/ORIGINAL-OWNER/portfolio.git
-
Open the project in your preferred code editor
-
Use a local server for testing:
# Option 1: Python python -m http.server 8000 # Option 2: Node.js npx http-server # Option 3: VS Code Live Server extension
-
Test across browsers:
- Chrome/Edge (Chromium)
- Firefox
- Safari (if on macOS)
Use descriptive branch names:
feature/add-dark-mode
fix/mobile-menu-bug
docs/update-readme
refactor/css-structure
accessibility/aria-labelsFollow conventional commit format:
type(scope): brief description
Detailed explanation (if needed)
Fixes #123
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Formatting, whitespace (no code change)refactor: Code restructuringperf: Performance improvementtest: Adding testschore: Maintenance tasks
Examples:
git commit -m "fix(nav): resolve mobile menu closing issue"
git commit -m "feat(accessibility): add ARIA labels to navigation"
git commit -m "docs(readme): update installation instructions"- ✅ Use semantic HTML5 elements (
<header>,<nav>,<section>,<article>) - ✅ Include proper
altattributes for images - ✅ Use ARIA labels where appropriate
- ✅ Maintain proper heading hierarchy (h1 → h2 → h3)
- ✅ Keep markup clean and indented (2 spaces)
<!-- Good -->
<nav aria-label="Main navigation">
<ul>
<li><a href="#about">About</a></li>
</ul>
</nav>
<!-- Avoid -->
<div class="nav">
<div class="link">About</div>
</div>- ✅ Use consistent naming conventions (BEM or semantic)
- ✅ Group related properties logically
- ✅ Comment complex sections
- ✅ Use CSS custom properties for colors and spacing
- ✅ Maintain mobile-first responsive design
- ✅ Avoid
!importantunless absolutely necessary
/* Good */
:root {
--primary-color: #2c3e50;
--spacing-unit: 1rem;
}
.card {
padding: var(--spacing-unit);
background-color: var(--primary-color);
}
@media (min-width: 768px) {
.card {
padding: calc(var(--spacing-unit) * 2);
}
}
/* Avoid */
.card {
padding: 16px !important;
background: #2c3e50;
}- All images have descriptive
alttext - Color contrast meets WCAG AA standards (4.5:1)
- Interactive elements are keyboard accessible
- Focus indicators are visible
- ARIA labels present where needed
- Form inputs have associated labels
- Heading hierarchy is logical
Before submitting, verify:
- Visual testing across different screen sizes
- Browser compatibility (Chrome, Firefox, Safari, Edge)
- Keyboard navigation works properly
- No console errors in browser DevTools
- HTML validation using W3C Validator
- CSS validation using CSS Validator
-
Sync your fork with upstream:
git fetch upstream git checkout main git merge upstream/main
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes following the guidelines above
-
Test thoroughly across browsers and devices
-
Commit your changes:
git add . git commit -m "feat(scope): description"
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a Pull Request on GitHub
Your PR should include:
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Tested on Chrome
- [ ] Tested on Firefox
- [ ] Tested on Safari
- [ ] Tested on mobile devices
- [ ] No console errors
## Screenshots (if applicable)
Add before/after screenshots
## Checklist
- [ ] Code follows project style guidelines
- [ ] Self-reviewed the code
- [ ] Commented complex sections
- [ ] Updated documentation
- [ ] Changes generate no new warnings- Maintainer will review your PR within 3-5 business days
- Address any requested changes
- Once approved, your PR will be merged
- You'll be added to the contributors list! 🎉
- Use lowercase with hyphens:
style-guide.css,mobile-nav.js - Be descriptive:
contact-form.htmlnotform.html
- HTML/CSS: 2 spaces
- No tabs
/* ==========================================================================
Section Name
========================================================================== */
/* Component: Card
========================================================================== */
.card {
/* Layout */
display: flex;
/* Visual */
background-color: white;
border-radius: 8px;
}- Open a GitHub Discussion
- Email: saihemanth225@gmail.com
All contributors will be recognized in the project README. Thank you for helping improve this portfolio! 🙏