- Overview
- Features
- Tech Stack
- Getting Started
- Project Structure
- Components
- Usage Guide
- Customization
- Deployment
- Contributing
- License
The GitHub README Generator is a modern, intuitive web application that helps developers create professional and visually appealing GitHub profile READMEs without any coding knowledge. Built with Next.js 13, TypeScript, and Tailwind CSS, it offers a seamless experience with real-time preview and extensive customization options.
- Simplify README creation for developers of all skill levels
- Provide professional templates with modern design aesthetics
- Offer real-time preview to see changes instantly
- Generate clean markdown ready for GitHub profiles
- Save time with pre-built components and sections
- Tabbed Interface: Organized sections for easy navigation
- Real-time Preview: See your README as you build it
- Dark Theme: Modern, eye-friendly interface
- Responsive Design: Works perfectly on all devices
- Header Section: Name, title, subtitle, and typing animations
- About Section: Personal information and current activities
- Contact Section: Social links and contact information
- Skills Section: Technology badges with visual icons
- GitHub Stats: Automated statistics and charts
- Projects Section: Showcase your best work
- Additional Links: Blog, YouTube, Medium, and more
- Skill Database: 50+ pre-configured technology badges
- Typing Animation: Dynamic text effects for headers
- Profile Image Support: Custom profile pictures
- GitHub Integration: Automatic stats and language charts
- Export Options: Copy to clipboard or download as file
- Profile Views Counter: Track README engagement
- Intuitive Interface: Clean, organized layout
- Visual Feedback: Hover effects and smooth transitions
- Error Prevention: Form validation and helpful hints
- Accessibility: Keyboard navigation and screen reader support
- Next.js 13.5.1 - React framework with App Router
- React 18.2.0 - UI library
- TypeScript 5.2.2 - Type safety
- Tailwind CSS 3.3.3 - Utility-first CSS framework
- shadcn/ui - Modern component library
- Radix UI - Accessible primitives
- Lucide React - Beautiful icons
- React Hooks - useState, useEffect, useCallback, useMemo
- Local State - Component-level state management
- ESLint - Code linting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixes
- Netlify - Static site hosting
- Static Export - Optimized for CDN delivery
- Node.js 16.8 or later
- npm or yarn package manager
- Git for version control
-
Clone the repository
git clone https://github.com/niladri-1/README_Generator.git cd README_Generator.git
-
Install dependencies
npm install # or yarn install
-
Start development server
npm run dev # or yarn dev
-
Open in browser
http://localhost:3000
npm run build
# or
yarn build
npm start
# or
yarn start
github-readme-generator/
├── 📁 app/ # Next.js App Router
│ ├── 📄 globals.css # Global styles and CSS variables
│ ├── 📄 layout.tsx # Root layout component
│ └── 📄 page.tsx # Main page component
├── 📁 components/ # React components
│ ├── 📁 sections/ # Form sections
│ │ ├── 📄 HeaderSection.tsx
│ │ ├── 📄 AboutSection.tsx
│ │ ├── 📄 ContactSection.tsx
│ │ ├── 📄 SkillsSection.tsx
│ │ ├── 📄 StatsSection.tsx
│ │ ├── 📄 ProjectsSection.tsx
│ │ └── 📄 AdditionalSection.tsx
│ ├── 📁 ui/ # shadcn/ui components
│ ├── 📄 EditorPanel.tsx # Left panel with form
│ ├── 📄 PreviewPanel.tsx # Right panel with preview
│ ├── 📄 ExportDialog.tsx # Export modal
│ └── 📄 Header.tsx # App header
├── 📁 lib/ # Utility functions
│ ├── 📄 generateReadme.ts # README markdown generator
│ └── 📄 utils.ts # Helper utilities
├── 📄 components.json # shadcn/ui configuration
├── 📄 next.config.js # Next.js configuration
├── 📄 tailwind.config.ts # Tailwind CSS configuration
├── 📄 tsconfig.json # TypeScript configuration
└── 📄 package.json # Dependencies and scripts
- Purpose: Main form interface with tabbed sections
- Features: Tab navigation, scroll area, responsive design
- State: Manages active tab and form data
- Purpose: Real-time markdown preview
- Features: Live updates, copy functionality, syntax highlighting
- Performance: Memoized rendering for optimal performance
- Purpose: Export README as file or clipboard
- Features: Copy to clipboard, download file, toast notifications
- UX: Modal interface with clear actions
- Fields: Name, title, subtitle, profile image, typing texts
- Features: Dynamic typing text management, image preview
- Validation: Required field indicators
- Features: Skill database browser, category filtering, search
- Database: 50+ pre-configured technology badges
- UX: Visual skill selection with instant feedback
- Features: Dynamic project addition, tech stack tags
- Fields: Name, description, technologies, GitHub, demo links
- Management: Add/remove projects with validation
- Purpose: Convert form data to markdown
- Features: Template generation, badge creation, URL encoding
- Output: Clean, formatted markdown ready for GitHub
- Navigate to the Header tab
- Enter your name (required)
- Add your title (e.g., "Full Stack Developer")
- Write a subtitle describing yourself
- Add profile image URL (optional)
- Configure typing animation texts
- Switch to the About tab
- Fill in current work and collaboration interests
- Mention what you're learning
- Add topics people can ask you about
- Include a fun fact and location
- Go to the Contact tab
- Add email, phone, and social media links
- Include portfolio and professional profiles
- Configure messaging platforms (Telegram, WhatsApp)
- Open the Skills tab
- Browse categories: Languages, Frameworks, Databases, Tools, Design
- Search for specific technologies
- Click to add skills (visual badges will appear)
- Remove skills by clicking the X button
- Navigate to Stats tab
- Enter your GitHub username
- Toggle desired statistics:
- GitHub Stats
- Top Languages
- Streak Stats
- Profile Views Counter
- Go to Projects tab
- Add project details:
- Name and description
- Technologies used
- GitHub repository link
- Live demo URL
- Manage multiple projects
- Visit Additional tab
- Add links to:
- Resume/CV
- Blog
- YouTube channel
- Medium profile
- Dev.to profile
- Review your README in the Live Preview
- Click Export README button
- Choose to copy to clipboard or download file
- Paste into your GitHub profile repository
/* app/globals.css */
:root {
--primary: 0 0% 9%;
--secondary: 0 0% 96.1%;
--accent: 0 0% 96.1%;
/* Modify these values for custom colors */
}
// Modify Tailwind classes in components
<Card className="bg-gray-800/50 border-gray-700">
{/* Custom styling */}
</Card>
// components/sections/SkillsSection.tsx
const skillsDatabase = {
languages: [
// Add new language
{
name: 'Dart',
icon: 'https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=white'
},
],
// Add to other categories...
};
// lib/generateReadme.ts
function generateSkillBadge(skill: string): string {
const skillBadges: { [key: string]: string } = {
// Add custom badge mappings
'your-tech': 'https://img.shields.io/badge/YourTech-%23COLOR.svg?style=for-the-badge&logo=yourlogo&logoColor=white',
};
return skillBadges[skill.toLowerCase()] || defaultBadge;
}
-
Create Section Component
// components/sections/NewSection.tsx export function NewSection({ readmeData, setReadmeData }) { // Implementation }
-
Update Data Interface
// app/page.tsx export interface ReadmeData { // Add new section newSection: { field1: string; field2: string; }; }
-
Add to Editor Panel
// components/EditorPanel.tsx const tabs = [ // Add new tab { id: 'new', label: 'New Section', icon: YourIcon }, ];
-
Build the project
npm run build
-
Deploy to Netlify
- Connect your GitHub repository to Netlify
- Set build command:
npm run build
- Set publish directory:
out
- Deploy automatically on push
-
Install Vercel CLI
npm i -g vercel
-
Deploy
vercel --prod
-
Build static files
npm run build
-
Upload
out
folder to any static hosting service
No environment variables required for basic functionality.
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Commit your changes
git commit -m 'Add amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Code Style: Follow existing TypeScript and React patterns
- Components: Use functional components with hooks
- Styling: Use Tailwind CSS classes
- Testing: Ensure components render without errors
- Documentation: Update README for new features
- 🎨 UI/UX Improvements: Better animations, responsive design
- 🛠 New Features: Additional sections, export formats
- 🐛 Bug Fixes: Report and fix issues
- 📚 Documentation: Improve guides and examples
- 🌐 Internationalization: Multi-language support
- ⚡ Performance: Optimization and caching
This project is licensed under the MIT License - see the LICENSE file for details.
- ✅ Commercial use
- ✅ Modification
- ✅ Distribution
- ✅ Private use
- ❌ Liability
- ❌ Warranty
- Next.js - Amazing React framework
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Beautiful component library
- Radix UI - Accessible primitives
- Lucide - Beautiful icon library
- GitHub - For hosting and inspiration
- Shields.io - Badge generation service
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: code.niladri+readme@gmail.com