User repository on GitHub
You say it. Your app does it. Voice and typed commands for Rails.
- Forks
- 0
- Last pushed
- Updated Sep 2026
Repo stats from the GitHub API, cached Oct 2026.Homepage
Unreleased Rails engine that turns Ruby-defined commands into voice and typed shortcuts, using Jev to interpret free-form phrasing while your own authorize callbacks keep the permission decision.
User repository on GitHub
You say it. Your app does it. Voice and typed commands for Rails.
Repo stats from the GitHub API, cached Oct 2026.Homepage
▶ Watch the demo on YouTube. You say it. Your app does it. Voice and typed commands for Rails. Define actions in Ruby, keep your authorization, and give users a shortcut to the work they already do. Say “show people.” Your app opens its users page. No runtime database, migrations, Node build, or CSS framework. Rails 8.x, Ruby 3.2+, MIT. A short-lived execution cache is required; production uses a shared atomic cache.
Quoted from the project's README. Read the full README.
Watch out
Unreleased, and the gem is not on RubyGems, so installation means building a local copy from this source checkout and using bundle install --local; the demo repository also needs access while it is private. Commands execute immediately once their arguments are complete, with no confirmation dialog added, so the README says to start with navigation and actions you can safely expose to the authorized user. Authorization defaults to denying access until you configure authorize:, and page scopes are only routing hints supplied by the browser, so they are not a security boundary. Rails 8.x and Ruby 3.2 or newer, and a short-lived execution cache is required: production needs a shared atomic cache rather than the local MemoryStore fallback that development uses when NullStore is disabled. The gem requires JSON 2.x because the supported Rails 8.0 and 8.1 versions use JSON APIs that changed in JSON 3, and Bundler applies that automatically. Standard cookie sessions and CSRF protection are required, so an API-only app has to enable those Rails facilities. Your action owns transactions, tenant scoping and domain idempotency; the gem does not wrap them, and callbacks run in the request controller where your helpers and current_user are available. Arguments use symbol keys and context uses string keys. The widget is a Shadow DOM element with Turbo support and engine-served assets, so no importmap, bundler or asset-manifest change is needed. No accuracy, latency or cost-per-command figures are published; the demo falls back to deterministic local matching when no key is present. Our README copy is truncated mid-sentence in the browser-actions list, so the remaining actions and the deployment notes are not documented here. Copy reviewed against the repository README on 2026-10-04, not from running it.
Posts from builders shipping with Jev right now.