# basecamp/lexxy

A modern rich text editor for Rails.

Repository: https://github.com/basecamp/lexxy
Canonical: https://ross.abutalabs.com/products/lexxy
Homepage: https://lexxy.dev
Language: JavaScript
License: MIT
License Family: permissive
Last push: 2026-08-26T06:47:20+00:00

## Health v2 (maintenance only)
Score: 85/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 98, longevity 33
- inputs: {"age_days": 473, "days_push": 7, "days_rel": 13, "gap_med": 5.5, "n_releases_24m": 21}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1218, forks 120 (observed 2026-08-28T04:04:01.537850+00:00)

## What it is
Lexxy is a modern rich text editor for Ruby on Rails, built as a custom element on top of Meta's Lexical editor framework by 37signals. It acts as a drop-in replacement for Trix in Action Text, offering clean HTML semantics, Markdown shortcuts, real-time code highlighting, attachment previews, and configurable prompts such as @mentions.

## Use cases
- add a rich text editor to a Rails app
- replace Trix with a better editor in Action Text
- wysiwyg editor with markdown shortcuts and clean HTML output
- rich text editor with real-time code syntax highlighting
- implement @mentions or slash-commands in a Rails text area
- let users attach and preview PDFs and videos inside an editor
- editor that generates the canonical HTML Action Text expects

## When to choose
- you are building a Rails application and want a drop-in editor for Action Text with zero configuration
- you need semantic HTML output with real <p> tags instead of markup soup
- you want mentions, interactive prompts, tables, galleries, and attachment previews out of the box
- you prefer vanilla JavaScript and CSS that is easy to customize and extend

## When to avoid
- your stack is not Ruby on Rails - the deepest value comes from Action Text and Active Storage integration
- you need a frozen, guaranteed-stable extension API - the extensions API is experimental and may change without deprecation
- you want a general-purpose Lexical wrapper for React or other JS frameworks - using Lexical directly may fit better
- you only need plain markdown editing without rich text features - a simpler markdown editor may suffice

## Facets
- artifact type: library
- maturity: active
- function: editor, ui-components, markdown, file-upload, form-handling
- domain: web-development, frontend, text-editors
- platform: browser, ruby
- tags: rich-text-editor, wysiwyg, action-text, rails, lexical, trix-replacement, custom-elements, mentions, syntax-highlighting, attachments, 37signals, web-server

## Member repositories
- basecamp/lexxy (main) score 85

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:01.537850+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:17:02.350934+00:00, confidence not recorded.
  - readme: https://github.com/basecamp/lexxy (fetched 2026-08-28T04:04:01.537850+00:00, sha 0a6d2e9c56da)
  - homepage: https://lexxy.dev (fetched 2026-08-29T12:24:39.687179+00:00, sha 01dab7c8a41a)
  - site_page: https://lexxy.dev/docs (fetched 2026-08-29T12:24:39.696210+00:00, sha e3318d459a7f)
  - site_page: https://lexxy.dev/docs/attachments.html (fetched 2026-08-29T12:24:39.698171+00:00, sha 0e733f1996a4)
  - site_page: https://lexxy.dev/docs/prompts.html (fetched 2026-08-29T12:24:39.699888+00:00, sha 4fc26cac611b)
  - site_page: https://lexxy.dev/docs/extensions.html (fetched 2026-08-29T12:24:39.701492+00:00, sha 74f2afa7a8a1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
