<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp" -->

---
title: GitHub - blaz1988/plan-driven: From implementation plan...
description: plan_driven is a Rails gem that runs an entire delivery workflow - interview, implementation plan, tickets, AI-agent pull requests, review, merge, and...
canonical: https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: GitHub - blaz1988/plan-driven: From implementation plan to merged, tested pull requests: AI agents write the code, developers review, guardrails and tests protect quality. Browser wizard or CLI. A Rub | daily.dev
og:description: plan_driven is a Rails gem that runs an entire delivery workflow - interview, implementation plan, tickets, AI-agent pull requests, review, merge, and...
og:url: https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp
og:image: https://api.daily.dev/og/posts/4uAHtT1xp.png
og:image:alt: GitHub - blaz1988/plan-driven: From implementation plan to merged, tested pull requests: AI agents write the code, developers review, guardrails and tests protect quality. Browser wizard or CLI. A Rub
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub - blaz1988/plan-driven: From implementation plan to merged, tested pull requests: AI agents write the code, developers review, guardrails and tests protect quality. Browser wizard or CLI. A Rub

**[Ruby Flow](https://daily.dev/sources/rubyflow)** · 42 min read · 0 upvotes · 0 comments

## Summary

plan_driven is a Rails gem that runs an entire delivery workflow - interview, implementation plan, tickets, AI-agent pull requests, review, merge, and acceptance-criteria evidence - inside a Rails app, driven from either a browser wizard or the CLI. A short interview produces a plan grounded in the app's real schema, which Ruby-based guards check before a developer approves it. The approved plan becomes tickets, each sent to a Cursor cloud agent (or a local CLI such as Claude Code or Codex) that opens a pull request; only developer-approved PRs merge. Acceptance criteria map to Cucumber scenarios so a delivery report proves which criteria pass. The gem supports Ruby 3.1+ and Rails 7.0-8.1, works with Cursor, OpenAI, or Anthropic as the drafting model, tracks token usage and cost, and produces statistics on where development time went. It positions itself against spec-driven tools like GitHub Spec Kit and Kiro by being Rails-specific, with Ruby-enforced guards and database-tracked phases rather than prompt-based guidance.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://github.com/blaz1988/plan-driven>

## Questions this post answers

### How does plan_driven make sure AI-generated pull requests actually satisfy the acceptance criteria in the plan?

It maps each acceptance criterion to a tagged Cucumber scenario, for example @pd-1-t3 @ac-2, and the review guard (PrGuard) blocks approval unless every criterion has a passing scenario. An evidence step then runs Cucumber and records results per criterion, and the delivery report shows which scenario proves which criterion, marked passed or failed.

_Teams wiring AI agents into real delivery pipelines can track guardrail patterns like this on daily.dev._

### What Ruby and Rails versions does the plan_driven gem support?

It requires Ruby 3.1 or newer and Rails 7.0 or newer, with CI tested combinations spanning Ruby 3.1 through 3.4 and Rails 7.0 through 8.1 (Ruby 3.4 is only tested against Rails 7.2 and later, and Rails 8.0/8.1 require Ruby 3.2 or newer). It depends on nothing beyond Rails itself over net/http, though Cursor-based drafting additionally needs Node 22.13+ and the Cursor SDK.

_Rails teams evaluating version compatibility before adopting a new gem often check details like this on daily.dev._

### What models and coding agents can I use to automate pull request generation with plan_driven?

Plans and tickets can be drafted with Cursor (any model on the account, Claude Opus 5.5 by default), OpenAI (GPT-4.1 by default), or Anthropic (Claude Sonnet 4.5 by default). Code is written by Cursor cloud agents by default, or by a local agent CLI such as Claude Code, Codex, or the Cursor CLI, each working in its own git worktree and opening one pull request per ticket.

_Developers comparing AI coding agent and model options for automated PR workflows follow these choices on daily.dev._

## Similar posts on daily.dev

- [CI wasn’t built for coding agents. Here’s what comes next.](https://daily.dev/posts/ci-wasn-t-built-for-coding-agents-here-s-what-comes-next--iu3ynna52) · The New Stack · 0 upvotes · 0 comments
- [How do you know the software is working?](https://daily.dev/posts/how-do-you-know-the-software-is-working--8tsgxuywp) · Ruby Flow · 0 upvotes · 0 comments
- [Aviator Runbooks: Plan-First AI Coding for Reliable PRs](https://daily.dev/posts/aviator-runbooks-plan-first-ai-coding-for-reliable-prs-ijkt29l9c) · Aviator Blog · 0 upvotes · 0 comments
- [Project Maintenance with AI Assistance](https://daily.dev/posts/project-maintenance-with-ai-assistance-bomten8tg) · Viget · 3 upvotes · 2 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#ruby](https://daily.dev/tags/ruby), [#agentic-ai](https://daily.dev/tags/agentic-ai)

[View this post on daily.dev](https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"GitHub - blaz1988/plan-driven: From implementation plan to merged, tested pull requests: AI agents write the code, developers review, guardrails and tests protect quality. Browser wizard or CLI. A Rub","url":"https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp"},"datePublished":"2026-10-03T05:22:14.063Z","dateModified":"2026-10-03T05:22:40.786Z","description":"plan_driven is a Rails gem that runs an entire delivery workflow - interview, implementation plan, tickets, AI-agent pull requests, review, merge, and...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d3094488d1376eff4d37769d26527fc7?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d3094488d1376eff4d37769d26527fc7?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Ruby Flow","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Ruby Flow","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a21aaa8bcbbf448193a016895c90a0e1","url":"https://daily.dev/sources/rubyflow"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-agents,ruby,agentic-ai","timeRequired":"PT42M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Ruby Flow","item":"https://daily.dev/sources/rubyflow"},{"@type":"ListItem","position":3,"name":"GitHub - blaz1988/plan-driven: From implementation plan to merged, tested pull requests: AI agents write the code, developers review, guardrails and tests protect quality. Browser wizard or CLI. A Rub"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/github---blaz1988-plan-driven-from-implementation-plan-to-merged-tested-pull-requests-ai-agents-w-4uahtt1xp#faq","mainEntity":[{"@type":"Question","name":"How does plan_driven make sure AI-generated pull requests actually satisfy the acceptance criteria in the plan?","acceptedAnswer":{"@type":"Answer","text":"It maps each acceptance criterion to a tagged Cucumber scenario, for example @pd-1-t3 @ac-2, and the review guard (PrGuard) blocks approval unless every criterion has a passing scenario. An evidence step then runs Cucumber and records results per criterion, and the delivery report shows which scenario proves which criterion, marked passed or failed. Teams wiring AI agents into real delivery pipelines can track guardrail patterns like this on daily.dev."}},{"@type":"Question","name":"What Ruby and Rails versions does the plan_driven gem support?","acceptedAnswer":{"@type":"Answer","text":"It requires Ruby 3.1 or newer and Rails 7.0 or newer, with CI tested combinations spanning Ruby 3.1 through 3.4 and Rails 7.0 through 8.1 (Ruby 3.4 is only tested against Rails 7.2 and later, and Rails 8.0/8.1 require Ruby 3.2 or newer). It depends on nothing beyond Rails itself over net/http, though Cursor-based drafting additionally needs Node 22.13+ and the Cursor SDK. Rails teams evaluating version compatibility before adopting a new gem often check details like this on daily.dev."}},{"@type":"Question","name":"What models and coding agents can I use to automate pull request generation with plan_driven?","acceptedAnswer":{"@type":"Answer","text":"Plans and tickets can be drafted with Cursor (any model on the account, Claude Opus 5.5 by default), OpenAI (GPT-4.1 by default), or Anthropic (Claude Sonnet 4.5 by default). Code is written by Cursor cloud agents by default, or by a local agent CLI such as Claude Code, Codex, or the Cursor CLI, each working in its own git worktree and opening one pull request per ticket. Developers comparing AI coding agent and model options for automated PR workflows follow these choices on daily.dev."}}]}
```

