|
| 1 | +<div align="center"> |
| 2 | + <img src="logo.png" alt="GitHub Profile README Builder Logo" width="120" /> |
| 3 | + |
1 | 4 | # GitHub Profile README Builder |
2 | 5 |
|
3 | | -GitHub Profile README Builder is a guided web app for creating polished, export-ready GitHub profile `README.md` files. It combines a structured multi-step form, live preview, skill selection, and GitHub widget configuration so users can build a profile README without writing markdown by hand. |
| 6 | +**A powerful, guided web application to create stunning, export-ready GitHub profile READMEs in minutes.** |
4 | 7 |
|
5 | | -## Highlights |
| 8 | +[](https://nextjs.org/) |
| 9 | +[](https://react.dev/) |
| 10 | +[](https://tailwindcss.com/) |
| 11 | +[](https://www.typescriptlang.org/) |
| 12 | +[](LICENSE) |
6 | 13 |
|
7 | | -- Guided five-step workflow for profile, work, education, skills, and widgets |
8 | | -- Live markdown preview with GitHub-style rendering |
9 | | -- Searchable tech stack picker powered by `go-skill-icons` |
10 | | -- Support for popular GitHub profile widgets and cards |
11 | | -- One-click copy and download for the generated `README.md` |
| 14 | +[Explore the App](https://github-profile-readme-builder.vercel.app) • [Report Bug](https://github.com/RanitManik/github-profile-readme-builder/issues) • [Request Feature](https://github.com/RanitManik/github-profile-readme-builder/issues) |
12 | 15 |
|
13 | | -## Built With |
| 16 | +</div> |
14 | 17 |
|
15 | | -- Next.js 15 |
16 | | -- React 19 |
17 | | -- TypeScript |
18 | | -- Tailwind CSS 4 |
19 | | -- Vitest |
| 18 | +--- |
20 | 19 |
|
21 | | -## Getting Started |
| 20 | +## 🚀 Why This Project? |
22 | 21 |
|
23 | | -### Prerequisites |
| 22 | +Creating a great GitHub profile README often involves manually writing complex markdown, searching for badge URLs, and configuring third-party widgets. This project simplifies that entire process into a **guided 5-step workflow**. |
24 | 23 |
|
25 | | -- Node.js 18+ recommended |
26 | | -- npm |
| 24 | +Whether you're a student, a seasoned professional, or an open-source maintainer, this tool helps you showcase your identity, work, skills, and stats with zero manual coding. |
27 | 25 |
|
28 | | -### Installation |
| 26 | +## ✨ Key Features |
29 | 27 |
|
30 | | -```bash |
31 | | -npm install |
32 | | -``` |
| 28 | +- **🎯 Guided Workflow:** A structured five-step form covering Identity, Personal Info, Work & Education, Tech Stack, and GitHub Stats. |
| 29 | +- **👁️ Live Preview:** See your README evolve in real-time with a GitHub-accurate markdown previewer. |
| 30 | +- **🛠️ Tech Stack Picker:** Search and select from hundreds of tech icons powered by `go-skill-icons`. |
| 31 | +- **📊 Dynamic Widgets:** Easily toggle and configure: |
| 32 | + - GitHub Stats, Streaks, and Top Languages. |
| 33 | + - GitHub Trophies and Profile View counters. |
| 34 | + - WakaTime coding activity cards. |
| 35 | + - Pinned repository previews (fetched directly via GitHub API). |
| 36 | +- **💾 Export-Ready:** One-click to copy the markdown or download the `.md` file. |
| 37 | +- **⚡ Performance-First:** Built with Next.js 15 and React 19 for a fast, snappy experience. |
| 38 | + |
| 39 | +## 🛠️ Tech Stack |
33 | 40 |
|
34 | | -### Run Locally |
| 41 | +- **Core:** Next.js 15 (App Router), React 19, TypeScript |
| 42 | +- **Styling:** Tailwind CSS 4, Lucide React (Icons) |
| 43 | +- **Markdown:** React Markdown, Remark GFM, Rehype Highlight |
| 44 | +- **State & Logic:** React Hooks (Memo, State, Effect) |
| 45 | +- **Testing:** Vitest |
| 46 | +- **Linting/Formatting:** ESLint, Prettier, Husky, Lint-Staged |
35 | 47 |
|
36 | | -```bash |
37 | | -npm run dev |
| 48 | +## 📦 Project Structure |
| 49 | + |
| 50 | +```text |
| 51 | +├── app/ |
| 52 | +│ ├── _components/ # Core business logic & builder flow |
| 53 | +│ │ ├── forms-stages/ # The 5-step guided form components |
| 54 | +│ │ ├── readme/ # Markdown generation & variant logic |
| 55 | +│ │ └── ... # Layout components (Header, Navigation, etc.) |
| 56 | +│ ├── layout.tsx # Global layout & metadata |
| 57 | +│ └── page.tsx # Main application entry point |
| 58 | +├── components/ |
| 59 | +│ └── ui/ # Atomic, reusable UI primitives (Inputs, Toggles, etc.) |
| 60 | +├── lib/ |
| 61 | +│ ├── types.ts # Centralized TypeScript interfaces |
| 62 | +│ ├── skills-data.ts # Logic for skill icon processing |
| 63 | +│ └── utils.ts # Shared helper functions |
| 64 | +├── public/ # Static assets & README preview images |
| 65 | +└── styles/ # Global CSS & Tailwind configuration |
38 | 66 | ``` |
39 | 67 |
|
40 | | -Open `http://localhost:3000` in your browser. |
| 68 | +## 👨💻 Getting Started |
41 | 69 |
|
42 | | -## Available Scripts |
| 70 | +### Prerequisites |
43 | 71 |
|
44 | | -```bash |
45 | | -npm run dev |
46 | | -npm run build |
47 | | -npm run start |
48 | | -npm run lint |
49 | | -npm run test -- --run |
50 | | -npm run format |
51 | | -``` |
| 72 | +- **Node.js 20+** (LTS recommended) |
| 73 | +- **npm** or **pnpm** |
52 | 74 |
|
53 | | -## How It Works |
| 75 | +### Installation & Run |
54 | 76 |
|
55 | | -1. Fill out the staged form with your profile details. |
56 | | -2. Choose skills, widgets, and profile sections. |
57 | | -3. Preview the generated markdown in real time. |
58 | | -4. Copy or download the final `README.md`. |
| 77 | +1. **Clone the repository:** |
59 | 78 |
|
60 | | -## Project Structure |
| 79 | + ```bash |
| 80 | + git clone https://github.com/RanitManik/github-profile-readme-builder.git |
| 81 | + cd github-profile-readme-builder |
| 82 | + ``` |
61 | 83 |
|
62 | | -```text |
63 | | -app/ |
64 | | - _components/ Core builder flow, preview, and README generation |
65 | | -components/ui/ Shared UI primitives |
66 | | -lib/ Shared types and supporting data |
67 | | -public/README/ Preview assets |
68 | | -styles/ Global styles |
69 | | -``` |
| 84 | +2. **Install dependencies:** |
70 | 85 |
|
71 | | -## Production Notes |
| 86 | + ```bash |
| 87 | + npm install |
| 88 | + ``` |
72 | 89 |
|
73 | | -- The application is fully client-side and does not require a database or authentication. |
74 | | -- Repository suggestions are fetched from the public GitHub REST API in the browser. |
75 | | -- Generated README widgets depend on third-party providers such as GitHub stats, streaks, trophies, and skill icon services. |
76 | | -- If those services are unavailable or rate-limited, generated widget images may not render correctly even when the app itself is working as expected. |
| 90 | +3. **Run the development server:** |
77 | 91 |
|
78 | | -## Quality Checks |
| 92 | + ```bash |
| 93 | + npm run dev |
| 94 | + ``` |
79 | 95 |
|
80 | | -Run the following before publishing changes: |
| 96 | +4. **Open your browser:** |
| 97 | + Navigate to [http://localhost:3000](http://localhost:3000) |
81 | 98 |
|
82 | | -```bash |
83 | | -npm run lint |
84 | | -npm run test -- --run |
85 | | -npm run build |
86 | | -``` |
| 99 | +## 🧪 Quality Assurance |
| 100 | + |
| 101 | +We maintain high standards for code quality and reliability: |
| 102 | + |
| 103 | +- **Linting:** `npm run lint` |
| 104 | +- **Formatting:** `npm run format` |
| 105 | +- **Testing:** `npm run test` |
| 106 | +- **Build Check:** `npm run build` |
| 107 | + |
| 108 | +## 🤝 Contributing |
| 109 | + |
| 110 | +Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. |
87 | 111 |
|
88 | | -## Contributing |
| 112 | +Please see [CONTRIBUTING.md](.github/CONTRIBUTING.md) for our contribution guidelines and [CODE_OF_CONDUCT.md](.github/CODE_OF_CONDUCT.md) for our community standards. |
89 | 113 |
|
90 | | -Contributions are welcome. Please review the project guidelines before opening a pull request: |
| 114 | +## 📄 License |
91 | 115 |
|
92 | | -- [Contributing Guide](./.github/CONTRIBUTING.md) |
93 | | -- [Code of Conduct](./.github/CODE_OF_CONDUCT.md) |
| 116 | +Distributed under the MIT License. See `LICENSE` for more information. |
94 | 117 |
|
95 | | -## License |
| 118 | +--- |
96 | 119 |
|
97 | | -This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details. |
| 120 | +<div align="center"> |
| 121 | + Built with ❤️ by <a href="https://github.com/RanitManik">Ranit Manik</a> |
| 122 | +</div> |
0 commit comments