Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

README Builder Logo

README Builder

A visual constructor for stunning GitHub profile README files
Dark-themed β€’ Drag & Drop β€’ Live Preview β€’ One-click Export

GitHub Next.js TypeScript Tailwind CSS Zustand

🌐 English | πŸ‡·πŸ‡Ί Русский язык (Russian Version)


✨ What is README Builder?

README Builder is a free, open-source web application that lets you visually compose a beautiful GitHub profile README.md without writing a single line of markdown manually.

You pick a GitHub username, assemble blocks (Hero, Tech Stack, Stats, Repos, Social Links, etc.), drag them into the order you want, configure each one β€” and the app generates the perfect markdown in real time. Then export it with one click.


πŸš€ Features

Feature Description
🎨 Visual Block Editor Add, remove, reorder blocks with drag & drop
πŸ‘ Live Preview See the rendered README update instantly as you type
πŸ“„ Raw Markdown View Switch to see the raw .md source
πŸ“‹ Copy to Clipboard Copy the full markdown with one click
⬇️ Download as .md Save the file directly to your computer
πŸ™ Publish to GitHub Gist Publish publicly via GitHub Gist API (secure modal, Bearer token)
🌐 English / Russian UI Full bilingual interface, persisted in browser cookies
πŸŒ™ Dark Theme Vercel/Linear aesthetic β€” deep black, thin borders, subtle glows
πŸ”„ Drag & Drop Powered by @dnd-kit/core β€” smooth, accessible reordering
πŸ–Ό Live Image Preview Stats, streaks, trophies, badges render in real time

🧱 Available Blocks

Block Description Powered by
🌊 Wave Banner Waving header banner with dynamic styling capsule-render
🦸 Hero Name + typing animation + subtitle + badge readme-typing-svg + shields.io
πŸ’» Tech Stack 30+ technologies β€” renders for-the-badge icons shields.io
πŸ“Š GitHub Stats Commit stats card + top languages card github-readme-stats
πŸ“ˆ Activity Graph Beautiful graphical chart of repository contributions github-readme-activity-graph
πŸ“Œ Top Repos Two pinned repository cards github-readme-stats
🌐 Social Links Twitter, LinkedIn, Dev.to, Medium, Email, Website shields.io
πŸ”₯ Streak Commit streak calendar graph github-readme-streak-stats
πŸ† Trophy GitHub trophy collection (configurable rows/cols) github-profile-trophy
✏️ Custom Section Free-form Markdown textarea with presets (API Ref, FAQ, etc.) β€”

πŸ–₯ Screenshots

Run the app locally at http://localhost:3000 after installation.

The interface is split into two panels:

  • Left panel β€” Block list with drag handles, block library dropdown, per-block configurator, EN/RU language toggle
  • Right panel β€” Live preview with Rendered / Raw tabs, Copy / Download / Publish Gist toolbar

⚑ Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • npm >= 9.0.0
  • A modern browser (Chrome, Firefox, Edge, Safari)

1. Clone the repository

git clone https://github.com/InfernalShark/README-Builder.git
cd README-Builder

2. Install dependencies

npm install

3. Run the development server

npm run dev

Open http://localhost:3000 in your browser.

4. Build for production (optional)

npm run build
npm start

πŸ“– How to Use β€” Step by Step

Step 1 β€” Enter your GitHub username

In the GitHub Username field at the top of the left sidebar, type your GitHub handle (e.g. torvalds).

This username is automatically injected into all dynamic image URLs:

  • github-readme-stats.vercel.app/api?username=YOUR_NAME
  • github-readme-streak-stats.herokuapp.com/?user=YOUR_NAME
  • github-profile-trophy.vercel.app/?username=YOUR_NAME

Step 2 β€” Add blocks

Click + Add (EN) or + Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (RU) to open the block library. Click any block to add it to your active list.

Step 3 β€” Reorder blocks

Grab any block by its β Ώ grip handle on the left side and drag it to the desired position.

Step 4 β€” Configure each block

Click any block in the list to select it β€” the Settings panel expands at the bottom of the sidebar with all options:

  • Hero: display name, subtitle, description, badge text, toggle typing animation
  • Tech Stack: checkbox grid of 30+ technologies
  • GitHub Stats: theme selector (15 themes), show icons toggle, hide border toggle
  • Top Repos: two repository name fields, theme selector
  • Social Links: Twitter, LinkedIn, Dev.to, Medium, Email, Website URL
  • Streak: theme selector
  • Trophy: theme, rows, columns
  • Custom: title + free markdown textarea + template selector (API Ref, Install, FAQ, etc.)

Step 5 β€” Toggle visibility

Click the πŸ‘ eye icon on any block to temporarily exclude it from the output without deleting it.

Step 6 β€” Switch language

Click EN or RU in the top-right corner of the sidebar. The language is saved in a browser cookie and remembered across sessions.

Step 7 β€” Export your README

In the right preview panel:

Button Action
Rendered tab Shows styled preview (like GitHub renders it)
Raw tab Shows the raw .md source
Copy Copies markdown to clipboard
Download Saves README.md to your computer
Publish Gist Opens secure modal β†’ enter PAT β†’ publishes to GitHub Gist

πŸ™ Publishing to GitHub Gist

  1. Click Publish Gist / ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ in the toolbar
  2. A secure modal dialog opens (no browser prompt() β€” native custom UI)
  3. Click "How to get a token" β€” opens GitHub Settings with gist scope pre-checked
  4. Paste your token into the field and click Publish
  5. A green success banner with a direct Gist link appears

πŸ”’ Security note: Your token is used exclusively for this single HTTPS request directly to api.github.com. It is never stored, never logged, and never sent to any third-party server.


πŸ— Project Architecture

readme-generator/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ layout.tsx             # Root layout: Inter font, SEO metadata, favicon
β”‚   β”œβ”€β”€ page.tsx               # Main two-panel layout
β”‚   └── globals.css            # Tailwind v4 base + custom scrollbars + animations
β”œβ”€β”€ types/
β”‚   └── blocks.ts              # Block types, config interfaces, defaults, constants
β”œβ”€β”€ store/
β”‚   β”œβ”€β”€ useReadmeStore.ts      # Zustand: blocks[], username, CRUD, reorder
β”‚   └── useLanguageStore.ts    # Zustand: lang ('en'|'ru') β†’ cookie 'readme_lang'
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ i18n.ts                # 60+ translation keys for EN and RU
β”‚   β”œβ”€β”€ cookies.ts             # getCookie / setCookie helpers
β”‚   β”œβ”€β”€ markdownGenerator.ts   # Pure fn: (username, blocks[]) β†’ markdown string
β”‚   └── utils.ts               # cn() tailwind-merge helper
└── components/
    β”œβ”€β”€ editor/
    β”‚   β”œβ”€β”€ Sidebar.tsx            # Username, dnd-kit sortable list, block library
    β”‚   └── BlockConfigurator.tsx  # Per-block config forms with i18n labels
    β”œβ”€β”€ preview/
    β”‚   └── MarkdownPreview.tsx    # Rendered/Raw tabs, Copy/Download/Gist
    └── ui/
        β”œβ”€β”€ Button.tsx      # Variants: primary | ghost | danger | outline
        β”œβ”€β”€ Input.tsx       # Text input with label, icon, hint
        β”œβ”€β”€ Toggle.tsx      # On/off switch
        β”œβ”€β”€ LangToggle.tsx  # EN / RU language switcher with cookie persistence
        └── GistModal.tsx   # Secure Gist modal (PAT input, show/hide, link)

πŸ›  Tech Stack

Technology Version Role
Next.js 16 Framework (App Router, Turbopack dev)
TypeScript 5 Full type safety
Tailwind CSS v4 Styling with dark-first design
Zustand 5 Global state (blocks + language)
@dnd-kit 6 Accessible drag-and-drop
react-markdown 9 Markdown β†’ React rendering
remark-gfm 4 GitHub Flavored Markdown plugin
rehype-raw 7 Raw HTML rendering (badges, images)
lucide-react latest Icon library
clsx + tailwind-merge latest Class merging utility

🀝 Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss.

  1. Fork this repository
  2. Create your feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'feat: add my feature'
  4. Push: git push origin feature/my-feature
  5. Open a Pull Request

πŸ“œ License

MIT Β© InfernalShark

About

Aesthetic GitHub Profile README Generator built with Next.js, Tailwind CSS, Zustand, and dnd-kit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages