Mina-Rich-Editor  by Mina-Massoud

React rich text editor with AI generation and real-time collaboration

Created 6 months ago
347 stars

Top 80.0% on SourcePulse

GitHubView on GitHub
Project Summary

A block-based rich text editor for React, Mina Rich Editor provides integrated AI content generation, real-time collaboration, and a flexible extension system. It aims to equip modern applications with advanced features out-of-the-box, reducing the burden on developers to build these complex functionalities themselves.

How It Works

The editor utilizes a block-based architecture for structured content creation. AI integration streams LLM output (from OpenAI, Anthropic, Gemini, Ollama, or custom endpoints) directly into editor blocks, supporting token-by-token streaming and AI-powered text editing/formatting on highlighted selections. Real-time collaboration is managed by Y.js, employing Conflict-Free Replicated Data Types (CRDTs) for seamless multi-user editing and live cursor presence. A TipTap-inspired extension API allows developers to create custom blocks, marks, and commands as plain objects, building upon 22 built-in extensions. Performance is optimized via per-block subscriptions and O(1) lookups in a flat node map, minimizing re-renders and keystroke overhead.

Quick Start & Requirements

Installation packages (npm + shadcn CLI) are currently being finalized.

  • Live Demos:
    • Editor Demo: [Link to full-featured editor demo]
    • AI Demo: [Link to AI content generation demo]
    • Collaboration Demo: [Link to real-time multi-user editing demo]
  • Documentation: [Link to full API reference] No specific hardware or software prerequisites are detailed beyond a React environment.

Highlighted Details

  • AI Content Generation: Provider-agnostic LLM integration with token-by-token streaming into structured blocks. Supports AI selection editing (rephrase, grammar) and AI-powered formatting.
  • Real-Time Collaboration: Powered by Y.js CRDTs for conflict-free merging, live cursor presence, and WebSocket provider support.
  • Extension System: TipTap-inspired API for custom block types (Node.create), inline marks (Mark.create), and commands (Extension.create), featuring 22 built-in extensions.
  • Performance: Engineered for zero-lag editing at any document size, with per-block subscriptions, O(1) lookups, and operation-based undo/redo, claiming ~2.8ms overhead per character typed.
  • Features: Notion-style blocks (paragraphs, lists, tables, code), Markdown shortcuts, smart paste, two editor modes (full/compact), export to JSON/semantic HTML/Markdown, 3 theme presets (Notion, Minimal, GitHub), WCAG 2.1 AA accessible, TypeScript-first.

Maintenance & Community

No specific details regarding notable contributors, sponsorships, partnerships, community channels (e.g., Discord, Slack), or a public roadmap are provided in the README.

Licensing & Compatibility

The project is licensed under the MIT License. Copyright is held by Mina Massoud for 2025-2026. The MIT license is generally permissive for commercial use and integration into closed-source projects.

Limitations & Caveats

Installation packages are still being finalized, indicating the project may be in an active development or pre-release phase. No other specific limitations, known bugs, or unsupported platforms are detailed in the provided README.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
10 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.