惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
C
Check Point Blog
B
Blog RSS Feed
G
Google Developers Blog
H
Help Net Security
博客园 - Franky
Blog — PlanetScale
Blog — PlanetScale
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Recent Announcements
Recent Announcements
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
小众软件
小众软件
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
T
Tailwind CSS Blog
J
Java Code Geeks
MyScale Blog
MyScale Blog
雷峰网
雷峰网
有赞技术团队
有赞技术团队
博客园 - 聂微东

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built a visual README editor so developers never have t...
Bilal Malik · 2026-05-31 · via DEV Community

Bilal Malik

Every developer knows the feeling - you finish a project, push it to GitHub, and then stare at the empty README.md wondering where to even start.

So I built ReadmeForge. A block-based visual editor where you drag, drop, fill in content, and download a perfect README in minutes. No markdown skills needed.

Live at thereadmeforge.vercel.app - open source, MIT licensed.


Table of Contents

  • The Problem
  • What It Does
  • Block Types
  • How Data Is Stored
  • My Favourite Detail — No Backend
  • Tech Stack
  • Run It Locally
  • Contributing

The Problem

Writing a README from scratch is the task every developer delays as long as possible. You either:

  • Copy-paste a template and spend an hour reformatting markdown
  • Open some tool that spits out a generic result with no real structure
  • Just skip it and ship a repo with a two-line description

ReadmeForge fixes this with a proper block-based editor — the same mental model as Notion, but output is a clean GitHub-ready README.md.


What It Does

11 Purpose-Built Block Types

Title, Badges, Description, Features, Installation, Usage, Screenshots, API Docs, Contributing, License, and Custom Markdown. Every block has a dedicated editor — no raw markdown required.

Drag-and-Drop Reordering

Powered by @dnd-kit with smooth sorting animations and a drag-ghost preview. Reorder your entire README structure in seconds.

Live Preview + Code View

Real-time markdown rendering via marked with a custom renderer for images and badges. Switch to Code View for syntax-highlighted raw markdown with line numbers — powered by react-syntax-highlighter.

Screenshots Block

Upload from device, paste from clipboard (Ctrl+V), or drop in a remote URL. Images are converted to base64 and stored locally — they survive page refreshes.

One-Click Export

Copy raw markdown to clipboard or download as README.md instantly. Live stats show word count, file size (KB), and image count in real time.

Mobile Responsive

Bottom navbar on small screens with Blocks & Palette tabs. Slide-in drawers for mobile editing. Full desktop layout with a resizable drag divider between editor and preview.


Block Types

Block Description
Title Project name & tagline
Badges shields.io badges with live preview
Description Long-form project overview
Features Bulleted feature list
Installation Package manager selector + commands
Usage Language selector + code editor
Screenshots Upload, URL, captions, reorder
API Docs Function signature, description, params
Contributing Intro text + numbered steps
License License type, year, author
Custom Free-form markdown textarea

How Data Is Stored

Item Where
Your blocks localStorage keyed as readmeforge:{email}:blocks
Active email localStorage under readmeforge_activeEmail
Uploaded images Converted to base64 Data URLs, saved inline with block content
Onboarding state sessionStorage — shown once per browser session

Enter any email on the landing page — your workspace is created instantly. Switch emails to get completely isolated workspaces for different projects. No account, no password, no server.


My Favourite Detail - No Backend

Everything lives in your browser via Zustand with persist middleware. No sign-up. No tracking. No server ever sees your content.

The email-based workspace system means you can have a workspace for your open-source library, another for your portfolio site, another for a work project — all in the same browser, completely isolated, all private.


Tech Stack

Tool Purpose
React + Vite Component architecture and build tooling
Tailwind CSS Utility-first styling
Zustand State management with persist middleware
@dnd-kit Accessible drag-and-drop reordering
marked Markdown parsing with custom renderers
react-syntax-highlighter Prism-powered code view with line numbers
Lucide React Icon set
Vercel Deployment

Run It Locally

git clone https://github.com/byllzz/readmeforge.git
cd readmeforge
npm install
npm run dev

Open http://localhost:5173. No environment variables needed — everything runs fully client-side.


Contributing

Contributions are welcome. Good first issues:

  • [ ] Add new block types — follow the pattern in blocks.js and create a matching *Block.jsx
  • [ ] Improve the markdown generator in markdown.js for cleaner output
  • [ ] More badge providers in the Badges block
  • [ ] Additional license types in the License block
  • [ ] ARIA labels and keyboard navigation improvements
git checkout -b feat/your-feature
# make your changes
git commit -m "feat: your short description"
git push origin feat/your-feature

Keep PRs focused — one feature or one fix per PR. If unsure whether something fits, open an issue first.


If ReadmeForge saved you from staring at a blank README.md — a ⭐ on the GitHub repo means a lot. Drop any feedback in the comments below!