{"id":47605268,"url":"https://github.com/ofershap/readme-builder","last_synced_at":"2026-04-01T19:09:53.443Z","repository":{"id":342628469,"uuid":"1174598694","full_name":"ofershap/readme-builder","owner":"ofershap","description":"Visual drag-and-drop README editor with live GitHub-flavored preview. SEO-optimized templates, 15+ block types, import/export markdown.","archived":false,"fork":false,"pushed_at":"2026-03-27T23:17:20.000Z","size":984,"stargazers_count":10,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-31T01:03:17.402Z","etag":null,"topics":["developer-tools","drag-and-drop","editor","github-readme","markdown","open-source","react","readme","readme-generator","seo","typescript","visual-editor","vite"],"latest_commit_sha":null,"homepage":"https://ofershap.github.io/readme-builder","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ofershap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ofershap"}},"created_at":"2026-03-06T16:16:57.000Z","updated_at":"2026-03-25T11:28:51.000Z","dependencies_parsed_at":"2026-03-31T01:01:22.356Z","dependency_job_id":null,"html_url":"https://github.com/ofershap/readme-builder","commit_stats":null,"previous_names":["ofershap/readme-builder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ofershap/readme-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofershap%2Freadme-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofershap%2Freadme-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofershap%2Freadme-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofershap%2Freadme-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ofershap","download_url":"https://codeload.github.com/ofershap/readme-builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofershap%2Freadme-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291090,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","drag-and-drop","editor","github-readme","markdown","open-source","react","readme","readme-generator","seo","typescript","visual-editor","vite"],"created_at":"2026-04-01T19:09:52.841Z","updated_at":"2026-04-01T19:09:53.427Z","avatar_url":"https://github.com/ofershap.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003ereadme-builder\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eStop writing markdown by hand. Drag blocks, get a README.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Visual editor that turns drag-and-drop blocks into GitHub-flavored markdown.\u003cbr\u003e\n  Live preview, templates, import from GitHub repos, export when you're done.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://ofershap.github.io/readme-builder\"\u003e\u003cimg src=\"https://img.shields.io/badge/Try_It_Now-22c55e?style=for-the-badge\u0026logoColor=white\" alt=\"Try It Now\" /\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"#features\"\u003e\u003cimg src=\"https://img.shields.io/badge/Features-3b82f6?style=for-the-badge\u0026logoColor=white\" alt=\"Features\" /\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"#self-hosting\"\u003e\u003cimg src=\"https://img.shields.io/badge/Self_Host-8b5cf6?style=for-the-badge\u0026logoColor=white\" alt=\"Self Host\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ofershap/readme-builder/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/ofershap/readme-builder?style=social\" alt=\"GitHub stars\" /\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://github.com/ofershap/readme-builder/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/ofershap/readme-builder/actions/workflows/ci.yml/badge.svg\" alt=\"CI\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.typescriptlang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/TypeScript-strict-blue\" alt=\"TypeScript\" /\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://makeapullrequest.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs Welcome\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Your README Shouldn't Take Longer Than Your Code\n\nYou just built something cool. Now you need a README, and suddenly you're juggling markdown syntax, badge URLs, table alignment, and GitHub-flavored quirks. You know the drill:\n\n- Copy-paste badge URLs from shields.io, typo the repo name, debug for 10 minutes\n- Manually align tables, forget a pipe character, the whole thing breaks\n- Check how the markdown renders by pushing to GitHub and refreshing\n\nREADME Builder gives you a visual canvas where you drag blocks (headings, badges, code, tables, images, alerts) into place and see exactly how GitHub will render them. When it looks right, copy the markdown or export the file. Done.\n\n[![Demo](assets/demo.gif)](https://ofershap.github.io/readme-builder/)\n\n## Features\n\n| | |\n|---|---|\n| **15 block types** | Headings, badges, code, tables, lists, images, alerts, details/spoilers, blockquotes, horizontal rules, and more |\n| **Live preview** | GitHub-flavored rendering updates as you type, including GFM alerts and tables |\n| **Drag and drop** | Reorder blocks visually with `@dnd-kit` |\n| **Badge editor** | Visual badge builder with color swatches, logo picker (30+ icons), live/static toggle |\n| **Import** | Paste raw markdown, pick a file from your computer, or fetch any GitHub repo's README |\n| **Templates** | Start from \"Minimal Library\", \"Full Project\", \"CLI Tool\", or \"GitHub Profile\" templates |\n| **SEO \u0026 GEO optimized** | Templates follow best practices for search engines and AI assistants -- proper heading hierarchy, descriptive alt text, keyword-rich sections, FAQ blocks |\n| **[Best Practices Guide](https://ofershap.github.io/readme-builder/#guide)** | Built-in guide covering what makes a README that gets stars vs. one that gets ignored |\n| **Undo/Redo** | Full history with `Cmd+Z` / `Cmd+Shift+Z` |\n| **Auto-save** | Blocks persist in localStorage across sessions |\n| **Markdown tab** | Switch to raw markdown view with syntax highlighting (CodeMirror) |\n| **Dark/Light preview** | Toggle preview theme to match GitHub dark or light mode |\n| **Export** | Download as `.md` file with your chosen filename |\n\n## Tech Stack\n\n| | |\n|---|---|\n| **Framework** | ![React](https://img.shields.io/badge/React_19-61DAFB?logo=react\u0026logoColor=black) |\n| **Language** | ![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript\u0026logoColor=white) |\n| **Styling** | ![Tailwind](https://img.shields.io/badge/Tailwind_4-06B6D4?logo=tailwindcss\u0026logoColor=white) |\n| **Build** | ![Vite](https://img.shields.io/badge/Vite_7-646CFF?logo=vite\u0026logoColor=white) |\n| **State** | ![Zustand](https://img.shields.io/badge/Zustand_5-433E38) + zundo (time travel) |\n| **Editor** | ![CodeMirror](https://img.shields.io/badge/CodeMirror_6-D30707) |\n| **Drag \u0026 Drop** | @dnd-kit/react |\n| **Markdown** | react-markdown + remark-gfm + rehype-raw |\n\n## Self-Hosting\n\nThe app is fully client-side. No backend, no auth, no tracking. Clone and run:\n\n```bash\ngit clone https://github.com/ofershap/readme-builder.git\ncd readme-builder\nnpm install\nnpm run dev\n```\n\nOpen `http://localhost:5173`. That's it.\n\nFor production, build and serve the static files from anywhere:\n\n```bash\nnpm run build\nnpx serve dist\n```\n\n## Keyboard Shortcuts\n\n| Shortcut | Action |\n|---|---|\n| `Cmd+Z` | Undo |\n| `Cmd+Shift+Z` | Redo |\n| `Cmd+Shift+C` | Copy markdown to clipboard |\n| `Delete` / `Backspace` | Remove selected block |\n\n## Contributing\n\nContributions welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## Author\n\n[![Made by ofershap](https://gitshow.dev/api/card/ofershap)](https://gitshow.dev/ofershap)\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-0A66C2?style=flat\u0026logo=linkedin\u0026logoColor=white)](https://linkedin.com/in/ofershap)\n[![GitHub](https://img.shields.io/badge/GitHub-Follow-181717?style=flat\u0026logo=github\u0026logoColor=white)](https://github.com/ofershap)\n\n---\n\nIf this helped you, [star the repo](https://github.com/ofershap/readme-builder), [open an issue](https://github.com/ofershap/readme-builder/issues) if something breaks, or [start a discussion](https://github.com/ofershap/readme-builder/discussions).\n\n## License\n\n[MIT](LICENSE) \u0026copy; [Ofer Shapira](https://github.com/ofershap)\n","funding_links":["https://github.com/sponsors/ofershap"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofershap%2Freadme-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fofershap%2Freadme-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofershap%2Freadme-builder/lists"}