rails-markup / docs

Configure it, live.

Point-and-click annotation for AI agents on Rails. Tune the toolbar below and copy the exact config — then try the annotation flow.

stable · latest 1.4.7 · MIT · reference docs →

Live FAB configurator

Change the options; the preview and the initializer update in real time.

localhost:3000

Reference

# Gemfile
gem "rails-markup", require: "rails_markup"

bundle install
bin/rails generate rails_markup:install
bin/rails db:migrate

Requires Ruby ≥ 3.2, Rails ≥ 7.0. Works on SQLite, MySQL, PostgreSQL. The generator mounts the engine, injects the toolbar, and writes an initializer. Full guide: Installation.

OptionDefaultDoes
toolbar_enabledtrueMaster switch for the toolbar system.
fab_visibletrueShow the FAB (pins/panel stay if hidden).
toolbar_positionblCorner: bl/br/tl/tr.
toolbar_sizedefaultslim 32 / compact 40 / default 48px.
toolbar_accentindigoindigo/amber/blue/emerald/rose.
base_controller_class—Auth-enforcing parent controller.
per_page25Dashboard page size.

Full reference: Configuration.

# register the MCP server
bin/rails-markup configure # local .mcp.json
bin/rails-markup configure --global # Claude Code
bin/rails-markup configure --codex # Codex CLI

The agent reads pending annotations, watches for new ones, transitions status, and replies — each read carries the exact element, page, intent, and screenshot. Details: MCP & agents.

CommandDoes
initInteractive setup wizard.
server / mcpStart HTTP+MCP / MCP-only.
pending / watchFetch / watch annotations.
resolve ID / dismiss IDTransition an annotation.
setup-productionToken + production access.

Every command: CLI.

Try the annotation flow

Click the button, then click any element to leave a numbered annotation — exactly like in your app.

localhost:3000/pricing
Click the button ↙

Simple pricing

Start free. Upgrade when your team grows.

Starter$0
Team$29
Scale$99