dialkit-rails
Rails integration for DialKit, built for React + Motion apps running inside Rails.
This repository contains:
- Ruby gem integration (engine + installer generator)
- JS wrapper package at
packages/dialkit-rails(thin re-export of upstreamdialkit)
Install in a Rails app
Option A: Install from RubyGems (after publish)
gem "dialkit-rails", require: "dialkit/rails"
Option B: Install from Git (available now)
gem "dialkit-rails",
git: "https://github.com/alex-friedman-modo/dialkit-rails.git",
branch: "locate-gridkit-source",
require: "dialkit/rails"
Then run:
bundle install
bin/rails g dialkit:install
npm install dialkit-rails motion react react-dom
npm run build
The installer adds:
app/javascript/dialkit_demo.jsximport "./dialkit_demo"inapp/javascript/application.js<%= dialkit_stylesheet_tag "data-turbo-track": "reload" %>in your layout
To mount the demo panel, render:
<section id="dialkit-root" aria-label="DialKit demo app"></section>
Local development (this repo)
bundle install
npm install
bin/dev
Open http://localhost:3000.
Release and publish
Release version must match in:
lib/dialkit/rails/version.rbpackages/dialkit-rails/package.json
Manual publish
- Bump both versions.
- Build and verify:
gem build dialkit-rails.gemspec
ruby scripts/check_release_versions.rb
- Publish the gem:
gem signin
gem push dialkit-rails-<version>.gem
- Publish npm package:
cd packages/dialkit-rails
npm publish --access public
Automated publish (recommended)
Push a tag matching the version (v0.1.0, etc.). The release workflow publishes both artifacts.
Required GitHub secrets:
RUBYGEMS_API_KEYNPM_TOKEN
Commands:
git tag v0.1.0
git push origin v0.1.0
Full checklist and external app verification:
docs/publish-and-smoke-test.md
Key paths
- Gem entrypoint:
lib/dialkit/rails.rb - Engine wiring:
lib/dialkit/rails/engine.rb - Install generator:
lib/generators/dialkit/install/install_generator.rb - JS wrapper package:
packages/dialkit-rails/ - Release version check:
scripts/check_release_versions.rb