Getting started
From gem install to live agent
Documentation-free: add the gem, restart your server, open /agents, sign up, then chat with Kip to build your first agent. No new framework syntax — edit app/agents/ anytime if you want.
1 · Add the gem
Add rails-agent-stack to your Rails app (Ruby 3.2+, Rails 7+). This is the canonical get-started path for Rails Agent.
gem "rails-agent-stack", github: "Tiny-Bubble-Company/rails-agents"
2 · Install
Bundle, then run the installer. It mounts the engine and prepares credentials.
$ bundle install $ bin/rails generate rails_agents:install
3 · Start your Rails server
Start so the new mount is loaded. The Agents UI is at /agents — like Sidekiq.
$ bin/dev # or: bin/rails server # → http://localhost:3000/agents
If you are not linked yet, /agents opens Create workspace on your app domain (like Sidekiq). Email signup stays on localhost; the gem calls Cloud APIs and writes .env, then shows the dashboard in an embed — still at localhost:3000/agents.
4 · Sign up from /agents
Create a free workspace at /agents/signup (or Sign in at /agents/signin). GitHub briefly uses Cloud OAuth, then returns to your app. The gem always talks to cloud.rails-agent.com — no base URL env vars.
If connect did not complete, open Dashboard → API keys and use Connect localhost, or set these locally and on your production host:
RAILS_AGENTS_API_KEY=rak_sandbox_… RAILS_AGENTS_PROJECT_ID=prj_…
5 · Chat with Kip — build your first agent
After signup, Kip introduces himself in chat. Stay on localhost:3000/agents, create an agent, then describe what it should do in plain English — or pick a scaffold chip. No docs or new syntax required; Kip writes the files for you:
- Support triage bot
- Slack alert agent
- CRM lead qualifier
- Cron digest
After each chat turn (and before Test), the embedded dashboard asks your local Rails app to pull files. The gem writes app/agents/<name>/ on disk using RailsAgents::Base— you'll see the changes in git:
class Support < RailsAgents::Base
model :auto
memory :conversation
knowledge_from "knowledge/**/*"
tool :lookup_order do |order_id:|
Order.find(order_id).as_json
end
skill :triage, from: "skills/triage.rb"
channel :slack
end6 · Test → Deploy
Hit Test for a free sandbox run. When you are ready for production traffic, hit Deploy. Production requires the Studio plan (Stripe checkout) — development stays free.
$ rails-agents run support "Where is order 42?" $ rails-agents deploy support
Concepts
Core terminology and where each piece lives in your Rails app:
| Concept | In your Rails app | What it does |
|---|---|---|
| Instructions | prompt.md | System prompt in markdown — edit in chat or git. |
| Tools | tools/*.rb | Ruby methods the agent can call on your models. |
| Plugins | plugins/*.yml | One-click SaaS apps (Sheets, Notion, HubSpot, …). |
| Skills | skills/*.rb | Composable multi-step behaviors. |
| Channels | channels/*.rb | Slack, web chat, cron, API — where the agent lives. |
| Sandbox | Dashboard → Test | Safe runs against the cloud sandbox (free). |
| Subagents | app/agents/<other>/ | Other agent directories your agent can call. |
| Schedules | channels/cron.rb | Time-based triggers without a separate scheduler. |
| Evals | evals/*.yml | Golden conversations that run before deploy. |
Next
Learn the concepts
Deeper look at instructions, tools, skills, channels, sandbox, and evals in Rails terms.
Concepts →