Leonardo is an AI Coding Agent that builds full stack web apps directly in the browser.
Perfect for MVPs, internal tools, and prototypes. It’s important to save the code that Leonardo generates to your Github account, so that you never lose access to it.
By default, Leonardo will save code changes to the local git repository on the computer he’s running on. But, this doesn’t automatically push the code to Github until you authenticate your Github account, create a repository for the code, and then instruct Leonardo to link the Github repository with the local code project. Then, Leonardo can push local code changes up to Github, which is the most secure way to save your code long-term.
Here’s how to authenticate Leonardo with your Github account.
Step 1: Sign into your Github account.
Step 2: Go to Profile -> Settings -> Developer Settings
Step 3: Click on “Generate new token” -> “Generate new token (classic)”
Step 4: Put in a name that’s easy to remember, I recommend saying it’s for Leonardo and LlamaPress.
Step 5: Select the checkbox on top that says “repo”. This should auto select everything else.
Step 6: Scroll down, and also make sure that you select admin:org (allows Leonardo to create new repos for you).
Step 6: Copy your personal access token to your clipboard.
Step 7: Open up your application where you can chat with Leonardo
Step 8: Send in the following message to Leonardo.
Can you please authenticate me with github cli? Here is my access token: ghp_9xlk ...
Step 9: Create and link the Github repository to your local code changes.
Ask Leonardo to either create a new repository for you, and then commit your local git changes and push.
OR, create a new repository from your Github, then copy out the URL and ask Leonardo to set it as the origin, and to commit all code and push to that origin.
What if the future of software is built not by humans… but by agents?
And what if the fastest way to make that future real, today, is to hand those agents a battle-tested tool that’s already shaped the modern web?
That tool is Ruby on Rails. And if you understand why Rails is so powerful, especially in the hands of a smart, agentic LLM. You’ll see why I believe this idea is not just interesting..
It’s world-shaping.
The Premise: Agents Can Code
With the rise of GPT-4, Claude, and open-source LLMs, we’ve entered the age of AI software engineers. These models can:
Read and write code
Modify existing files
Chain together commands
Run in loops with planning and self-correction
And most importantly: ship working features
But just because they can code doesn’t mean they’re fast, reliable, or production-ready. What separates “cool demos” from real shipped software is the framework they’re operating in.
And this is where Rails comes in.
Rails: The Weapon of Maximum Productivity
Ruby on Rails is one of the most token-efficient and high-leverage frameworks ever created. It’s not just faster for human developers — it’s also easier for LLMs to reason about, execute within, and build production-grade apps.
Here’s why:
1. Convention Over Configuration = Predictability
LLMs love patterns. Rails is full of them. Everything from file structure to naming conventions is standardized. An LLM doesn’t have to guess where to write code — it knows.
Compare that to the verbose alternatives in Java or Go. This means agents can “see” more of your app at once — and reason more effectively.
3. Scaffolds & Generators = Toolable Workflows
You can build a working CRUD interface with a single command:
rails g scaffold Post title:string body:text
For an agent, this is pure gold. It’s like calling a function that expands into hundreds of lines of boilerplate instantly.
4. Batteries Included = Fewer External Dependencies
Rails comes with:
ActiveRecord (ORM)
ActionMailer (email)
ActiveJob (background jobs)
ActiveStorage (file uploads)
Built-in testing, caching, asset pipeline, and more.
Agents don’t waste time configuring libraries. They use what’s already there.
5. Readable, Declarative DSLs
Rails reads like English:
has_many :comments, dependent: :destroy
That’s not just good for humans. It’s good for LLMs, too.
Rails vs. Other Stacks for Agents
Framework
Agent Friendliness
Why it Slows Agents Down
Rails
🔥🔥🔥
Convention, terseness, full-stack
Django
🔥🔥
Similar to Rails, but slightly less opinionated
Node (Express)
🔥
Fragmented, unstructured, too many decisions
Go
🔥
Verbose, requires fine-grained planning
Java (Spring)
🧊
Config-heavy, non-obvious wiring
Rails is simply faster — not just for humans, but for machines trying to build working software autonomously.
Why This Matters
The world doesn’t need another no-code tool or website builder.
What we need is an agentic software stack — a way for AI to not just help write code, but to architect, modify, test, and deploy entire systems.
Rails is uniquely well-suited to this job:
It provides structure.
It encodes best practices.
It minimizes the token tax.
It comes with decades of documentation and StackOverflow gold.
And most importantly: it’s production-proven.
The Rails Thesis
If LLMs are the developers of the future, Rails is the fastest path from thought to product.
Not React. Not Next.js. Not Go. Not Bun.
Rails.
Because Rails isn’t just a web framework.. it’s an opinionated, token-terse operating system for building full-stack apps. That’s exactly what LLMs need.
If you give an agent access to a Rails repo, a terminal, and structured memory, it can ship software faster than many humans.
And that’s not theoretical. It’s already happening.
Final Thought
The future isn’t code-free.
The future is agent-coded, and Rails is their weapon of choice.
If you’re building agents, investing in tooling, or trying to accelerate AI-native software development, you’d be crazy to ignore Rails.