Smart README Generator is an AI-powered tool to help developers create professional, interactive, and visually appealing README.md files for their GitHub repositories.
It fetches GitHub user data and project repositories, then uses AI to suggest content for sections like Bio, Skills, Projects, and Badges, allowing users to generate a complete README with minimal effort.
This project is open-source, supports dynamic templates, dark/light themes, and allows real-time preview and AI suggestions.
The goal is to make contributing to GitHub easier, saving developers time while ensuring READMEs are consistent, attractive, and informative.
- Fetch GitHub profile and repositories automatically
- Generate full README using AI (OpenAI GPT integration)
- AI-assisted suggestions per section (Bio, Skills, Projects)
- Multiple pre-defined and customizable templates
- Live Markdown preview
- Copy to clipboard and download as
.md - Dark/Light theme support with auto-detection and toggle
- Undo/Redo editing functionality
- Loading and error states for smooth UX
- Rate-limit handling for GitHub and AI APIs
- Mobile-friendly, responsive UI
Frontend:
- Next.js (CSR-focused for dynamic interaction)
- React.js
- Tailwind CSS
- react-markdown for live preview
Backend:
- Node.js / Express (MVP server for README generation)
- GitHub API integration
- AI integration (OpenAI GPT or similar)
- Caching for API responses
DevOps & Quality:
- GitHub Actions (CI/CD)
- Husky & lint-staged (pre-commit hooks)
- ESLint & Prettier (code quality & formatting)
The following folder structure is an example of how the Smart README Generator project can be organized.
It separates the frontend, backend, templates, and documentation to make the project easy to navigate, maintain, and contribute to.
- backend/ β Contains the Node.js/Express server, API routes, services, and backend tests.
- frontend/ β Contains the Next.js frontend with Redux state management, reusable components, templates, and styles.
- templates/ β Stores Markdown README templates that users can select when generating a README.
- docs/ β Project documentation and additional guides.
- scripts/ β Utility scripts for build, deployment, or other automation tasks.
β οΈ Note: This folder structure is an example. You can adjust it depending on your needs and scale of the project.
smart-readme-generator/
backend/
βββ src/
β βββ config/ # Environment & DB setup
β β βββ env.ts
β βββ controllers/ # Request handling (req, res)
β β βββ githubController.ts
β β βββ aiController.ts
β βββ services/ # Business logic & API calls (Octokit, OpenAI)
β β βββ githubService.ts
β β βββ aiService.ts
β βββ routes/ # Route definitions
β β βββ index.ts
β βββ utils/ # Pure helper functions
β β βββ logger.ts
β β βββ validator.ts
β βββ app.ts # Express setup & Middleware
β βββ index.ts # Entry point (Server listener)
βββ tests/ # Unit and Integration tests
βββ .env
βββ .env.example
βββ package.json
βββ tsconfig.json
β
β
ββ frontend/ # Next.js frontend (CSR)
β ββ app/
β β ββ components/ # Reusable UI components
β β β ββ Button.tsx
β β β ββ Editor.tsx
β β β ββ TemplateCard.tsx
β β ββ pages/ # Next.js pages
β β β ββ index.tsx
β β β ββ _app.tsx
β β ββ hooks/ # Custom React hooks
β β β ββ useAI.ts
β β β ββ useGitHub.ts
β β ββ services/ # API clients
β β β ββ githubClient.ts
β β β ββ aiClient.ts
β β ββ store/ # Redux store & slices
β β β ββ index.ts # Configure store
β β β ββ themeSlice.ts
β β β ββ editorSlice.ts
β β β ββ templateSlice.ts
β β ββ styles/ # Global CSS
β β β ββ globals.css
β β ββ types/ # TypeScript types
β β ββ utils/ # Helpers
β ββ public/ # Static assets (icons, images)
β ββ templates/ # README templates
β β ββ template1.md
β β ββ template2.md
β β ββ ...
β ββ tests/ # Frontend unit/integration tests
β ββ package.json
β ββ tailwind.config.js # Tailwind config
ββ docs/ # Project documentation
ββ scripts/ # Build/deployment/util scripts
ββ .gitignore
ββ package.json
ββ LICENSE
ββ CONTRIBUTING.md
ββ README.md
git clone https://github.com/Open-Core-Lab/smart-readme-generator.git
cd smart-readme-generator/frontend
npm install
npm run devcd smart-readme-generator/backend
npm install
cp .env.example .env
# Add GitHub API token and OpenAI API key
npm run devThis project is licensed under the MIT License - see the LICENSE file for details. Β© Madhusha Prasad