diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index a6f167a..ef713c1 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,43 +1,50 @@ --- -name: Bug report -about: Create a report to help us improve -title: '' -labels: bug +name: 🐛 Bug Report +about: Report a bug in GitHub Profile README Generator +title: '[Bug] ' +labels: ['bug'] assignees: '' --- -**Describe the bug** +## 🐛 Bug Description + A clear and concise description of what the bug is. -**To Reproduce** -Steps to reproduce the behavior: +## 🔄 Steps to Reproduce -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' +1. Go to [URL or page] +2. Click on [element] +3. Fill in [specific fields] 4. See error -**Expected behavior** -A clear and concise description of what you expected to happen. +## ✅ Expected Behavior + +A clear description of what you expected to happen. + +## 📸 Screenshots -**Screenshots** If applicable, add screenshots to help explain your problem. -**Desktop (please complete the following information):** +## 🖥️ Environment -- OS: [e.g. iOS] -- Browser [e.g. chrome, safari] -- Version [e.g. 22] +**Desktop:** -**Smartphone (please complete the following information):** +- OS: [e.g. macOS, Windows, Linux] +- Browser: [e.g. Chrome 118, Safari 17, Firefox 119] -- Device: [e.g. iPhone6] -- OS: [e.g. iOS8.1] -- Browser [e.g. stock browser, safari] -- Version [e.g. 22] +**Mobile:** -**Additional context** -Add any other context about the problem here. +- Device: [e.g. iPhone 15, Samsung Galaxy S23] +- OS: [e.g. iOS 17.1, Android 14] +- Browser: [e.g. Safari, Chrome Mobile] + +## 🔧 Additional Context + +- Does this happen in incognito/private mode? [Yes/No] +- Console errors (if any): [Paste console output] +- Network connectivity: [Good/Slow/Offline] + +**Note:** Please test at the current version: https://rahuldkjain.github.io/gh-profile-readme-generator Join the **Discord Server** for further discussions. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..25cf7c7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,67 @@ +--- +name: ✨ Feature Request +about: Suggest a new feature for GitHub Profile README Generator +title: '[Feature] ' +labels: ['enhancement'] +assignees: '' +--- + +## ✨ Feature Description + +A clear and concise description of the feature you'd like to see. + +## 🎯 Problem Statement + +What problem does this feature solve? Is your feature request related to a problem? + +## 💡 Proposed Solution + +Describe the solution you'd like to see implemented. + +## 🔄 User Flow + +Describe how a user would interact with this feature: + +1. User goes to... +2. User clicks/types... +3. System responds with... + +## 🎨 Design Considerations + +- UI/UX requirements +- Accessibility considerations +- Mobile responsiveness needs +- Theme compatibility (dark/light mode) + +## 🔧 Technical Considerations + +- Performance impact +- Browser compatibility requirements +- Dependencies needed +- Potential breaking changes + +## 📋 Alternative Solutions + +Describe alternatives you've considered. + +## 📸 Mockups/Examples + +If applicable, add mockups, sketches, or examples from other tools. + +## 🎯 Priority + +- [ ] Low - Nice to have +- [ ] Medium - Would improve UX significantly +- [ ] High - Critical for user workflow +- [ ] Critical - Blocking current functionality + +## 📱 Target Platforms + +- [ ] Desktop +- [ ] Mobile +- [ ] Tablet +- [ ] All platforms + +--- + +💬 **Join our Discord** for feature discussions: https://discord.gg/HHMs7Eg diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3f28f5e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,82 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [2.0.0] - 2025-10-15 + +### ✨ Features + +- **Complete rewrite**: Migrated to Next.js 15 with App Router and Turbopack +- **React 19**: Updated to latest React with concurrent features +- **TypeScript 5**: Full type safety with strict configuration +- **Modern UI**: Tailwind CSS 4 with design tokens and CSS variables +- **Accessibility**: WCAG 2.1 AA compliance with accessibility menu +- **Privacy**: GDPR-compliant analytics with opt-in consent +- **Performance**: 3x faster builds and 50% smaller bundle size +- **Auto-fill**: GitHub integration for automatic profile data +- **Export/Import**: JSON functionality for profile data +- **Enhanced UX**: Multi-step wizard with real-time validation +- **Responsive**: Mobile-first design with touch optimization + +### 🐛 Bug Fixes + +- Fixed skill selection persistence across sessions +- Resolved theme toggle flickering on page load +- Fixed social media icon alignment issues +- Corrected markdown preview rendering edge cases + +### ⚡ Performance Improvements + +- Implemented code splitting with lazy loading +- Optimized bundle size with Turbopack +- Added image optimization for better loading +- Reduced JavaScript bundle by 50% + +### ♻️ Code Refactoring + +- Migrated from Gatsby to Next.js 15 +- Converted all components to TypeScript +- Implemented modern React patterns (hooks, context) +- Restructured project architecture for scalability + +### 📚 Documentation + +- Added comprehensive TypeScript documentation +- Created accessibility guidelines +- Updated deployment documentation +- Added contributing guidelines for V2 + +### 🏗️ Build System + +- Migrated to Next.js build system +- Added Turbopack for development +- Implemented ESLint + Prettier configuration +- Added Vitest for testing + +### 👷 Continuous Integration + +- Enhanced GitHub Actions workflows +- Added preview deployments with environment tracking +- Implemented automated release management +- Added comprehensive testing pipeline + +--- + +## Previous Versions (V1) + +For changes in V1, see the [V1 Release Archive](https://github.com/rahuldkjain/github-profile-readme-generator/releases?q=v1&expanded=true). + +### Migration from V1 to V2 + +V2 represents a complete rewrite with breaking changes: + +- **Technology Stack**: Gatsby → Next.js 15 +- **Styling**: CSS Modules → Tailwind CSS 4 +- **State Management**: Local state → Zustand + localStorage +- **Build System**: Webpack → Turbopack +- **Type Safety**: JavaScript → TypeScript 5 + +All V1 functionality has been preserved and enhanced in V2. See [MIGRATION_STRATEGY.md](./MIGRATION_STRATEGY.md) for detailed migration information. diff --git a/COMMIT_CONVENTION.md b/COMMIT_CONVENTION.md new file mode 100644 index 0000000..98ab2d1 --- /dev/null +++ b/COMMIT_CONVENTION.md @@ -0,0 +1,152 @@ +# 📝 Commit Message Convention + +This project follows [Conventional Commits](https://www.conventionalcommits.org/) specification for automated changelog generation and semantic versioning. + +## Format + +``` +[optional scope]: + +[optional body] + +[optional footer(s)] +``` + +## Types + +| Type | Description | Version Bump | +| ---------- | ------------------------ | ------------ | +| `feat` | New feature | Minor | +| `fix` | Bug fix | Patch | +| `perf` | Performance improvement | Patch | +| `refactor` | Code refactoring | Patch | +| `docs` | Documentation changes | Patch | +| `style` | Code style changes | Patch | +| `test` | Adding or updating tests | Patch | +| `build` | Build system changes | Patch | +| `ci` | CI/CD changes | Patch | +| `chore` | Maintenance tasks | No bump | + +## Breaking Changes + +Add `BREAKING CHANGE:` in the footer or `!` after type to indicate breaking changes: + +```bash +feat!: remove deprecated API endpoints + +BREAKING CHANGE: The old API endpoints have been removed. Use the new v2 endpoints instead. +``` + +## Examples + +### Features + +```bash +feat: add GitHub auto-fill integration +feat(ui): implement dark mode toggle +feat!: migrate to Next.js 15 App Router +``` + +### Bug Fixes + +```bash +fix: resolve skill selection persistence issue +fix(mobile): correct responsive navigation layout +fix(a11y): improve keyboard navigation for forms +``` + +### Performance + +```bash +perf: optimize image loading with next/image +perf(build): reduce bundle size by 30% +``` + +### Documentation + +```bash +docs: update installation instructions +docs(api): add TypeScript examples +docs(readme): fix broken demo links +``` + +### Refactoring + +```bash +refactor: convert components to TypeScript +refactor(store): migrate to Zustand state management +``` + +## Scopes (Optional) + +Use scopes to indicate the area of change: + +- `ui` - User interface components +- `api` - API related changes +- `build` - Build system +- `ci` - Continuous integration +- `docs` - Documentation +- `test` - Testing +- `a11y` - Accessibility +- `perf` - Performance +- `mobile` - Mobile-specific changes + +## Tools + +### Commitizen (Recommended) + +Install commitizen for interactive commit messages: + +```bash +npm install -g commitizen cz-conventional-changelog +echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc +``` + +Use `git cz` instead of `git commit`: + +```bash +git add . +git cz +``` + +### VS Code Extension + +Install "Conventional Commits" extension for VS Code to get commit message templates. + +## Automated Release Process + +1. **Commit** using conventional format +2. **Push** to master branch +3. **Release Please** analyzes commits +4. **Creates PR** with changelog and version bump +5. **Merge PR** to trigger release and deployment + +## Examples in Practice + +```bash +# Adding new feature +git commit -m "feat(ui): add accessibility menu with font size controls" + +# Fixing bug +git commit -m "fix(mobile): resolve navigation menu overflow on small screens" + +# Breaking change +git commit -m "feat!: migrate to Next.js 15 App Router + +BREAKING CHANGE: Pages directory structure has changed. +See migration guide for updating custom pages." + +# Performance improvement +git commit -m "perf(build): implement code splitting for 50% bundle reduction" + +# Documentation update +git commit -m "docs(contributing): add TypeScript coding standards" +``` + +## Benefits + +- ✅ **Automated changelogs** - No manual changelog maintenance +- ✅ **Semantic versioning** - Automatic version bumps based on commit types +- ✅ **Release notes** - Rich, categorized release notes +- ✅ **Consistency** - Standardized commit history +- ✅ **Tooling integration** - Works with Release Please, semantic-release, etc. diff --git a/src/components/layout/header.tsx b/src/components/layout/header.tsx index bc4ad5f..b9945f4 100644 --- a/src/components/layout/header.tsx +++ b/src/components/layout/header.tsx @@ -1,6 +1,7 @@ 'use client'; import Link from 'next/link'; +import Image from 'next/image'; import { usePathname } from 'next/navigation'; import { ThemeToggle } from '@/components/ui/theme-toggle'; import { AccessibilityMenu } from '@/components/ui/accessibility-menu'; @@ -28,10 +29,13 @@ export function Header({}: HeaderProps = {}) { {/* Logo, Title, and GitHub Stats */}
- GitHub Profile README Generator Logo GitHub Profile README Generator