-
Initial public release v0.0.1.alpha2
released this
2026-05-25 13:49:09 +00:00 opencode-rails — production-grade Rails integration for OpenCode.
Rails companion to opencode-ruby. ActiveRecord-aware session lifecycle
(idempotent ensure!/recreate!/abort! with row-level locks), a Turn
orchestrator driving the Reply state machine and recovering from
session-not-found, an artifact pipeline backed by ActiveStorage,
sandbox seeding, and tool-display value objects for Turbo Stream
broadcasts. Drop into any Rails 7.1+ app that wants production-grade
OpenCode streaming without rolling boilerplate.What this version ships:
- Opencode::Session (AR-coupled lifecycle, row-level locks)
- Opencode::Turn (Reply state machine, session-not-found recovery)
- Opencode::Exchange (one turn = one request/response unit)
- Opencode::Impostor (deterministic mock for tests)
- Opencode::Sandbox / SandboxFile (per-session FS scratch space)
- Opencode::Transform (host-rendered artifact pipeline)
- Opencode::Artifact / MessageArtifacts (ActiveStorage-backed)
- Opencode::UploadedFilesPrompt (system-prompt builder)
- Opencode::ToolDisplay (Turbo Stream value objects)
- Opencode::ErrorReporter (pluggable adapter — Honeybadger/Sentry/etc.)
- examples/rails_integration.rb — canonical wiring blueprint
53 smoke tests. CI on Ruby 3.2/3.3/3.4.
Ruby >= 3.2. Runtime deps: opencode-ruby = 0.0.1.alpha2,
activerecord/activestorage/activesupport >= 7.1, < 9.0.See CHANGELOG.md for the alpha1 -> alpha2 delta.
Downloads