<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hideaki Kubo</title>
    <description>The latest articles on DEV Community by Hideaki Kubo (@logfabric).</description>
    <link>https://dev.to/logfabric</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3998236%2Fafd2aa9a-40c6-4865-a2d4-b82c942b96fe.png</url>
      <title>DEV Community: Hideaki Kubo</title>
      <link>https://dev.to/logfabric</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/logfabric"/>
    <language>en</language>
    <item>
      <title>The .mdc rules I use to stop Cursor from expanding my PRs</title>
      <dc:creator>Hideaki Kubo</dc:creator>
      <pubDate>Sat, 27 Jun 2026 14:44:29 +0000</pubDate>
      <link>https://dev.to/logfabric/the-mdc-rules-i-use-to-stop-cursor-from-expanding-my-prs-3kie</link>
      <guid>https://dev.to/logfabric/the-mdc-rules-i-use-to-stop-cursor-from-expanding-my-prs-3kie</guid>
      <description>&lt;p&gt;Cursor is fast. But left unchecked, it expands PRs.&lt;/p&gt;

&lt;p&gt;Here are the three &lt;code&gt;.mdc&lt;/code&gt; rules I use to keep that from happening.&lt;br&gt;
Free on GitHub.&lt;/p&gt;
&lt;h2&gt;
  
  
  The problem in one sentence
&lt;/h2&gt;

&lt;p&gt;You ask for one fix. Cursor touches five files.&lt;/p&gt;

&lt;p&gt;Each change might look reasonable. But the PR becomes harder to review,&lt;br&gt;
harder to revert, and harder to explain.&lt;/p&gt;
&lt;h2&gt;
  
  
  Rule 1: no-unrequested-changes.mdc
&lt;/h2&gt;

&lt;p&gt;This rule tells Cursor not to modify anything outside the scope of&lt;br&gt;
the original request.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Do not edit unrelated files that are outside the current task scope
- Do not refactor working code as part of an unrelated task
- Do not add new utilities, helpers, or abstractions unless asked
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Rule 2: one-pr-one-topic.mdc
&lt;/h2&gt;

&lt;p&gt;This rule tells Cursor that a PR should answer one question:&lt;br&gt;
what decision is this asking the human reviewer to make?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Do not combine unrelated changes in a single PR
- Do not mix implementation and refactoring in the same PR
- If the user adds a new request that introduces a separate concern,
  ask whether it should be handled as a separate PR.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Rule 3: classify-before-merging.mdc
&lt;/h2&gt;

&lt;p&gt;Before merging, this rule prompts a classification step.&lt;br&gt;
The human decides. Not the AI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Do not merge without identifying which changes are accepted as-is
- Do not carry over follow-up work silently — make it explicit before merge
- If any item requires a human decision before merge, do not proceed.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to use them
&lt;/h2&gt;

&lt;p&gt;Copy the three &lt;code&gt;.mdc&lt;/code&gt; files into your project's &lt;code&gt;.cursor/rules/&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;Then try a task in Cursor. Watch whether the PR stays scoped.&lt;/p&gt;




&lt;p&gt;Free Pack on GitHub:&lt;br&gt;
&lt;a href="https://github.com/logfabricteam/cursor-pr-discipline" rel="noopener noreferrer"&gt;https://github.com/logfabricteam/cursor-pr-discipline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pro Pack v0 on Gumroad ($29):&lt;br&gt;
&lt;a href="https://kubo03.gumroad.com/l/cursor-pr-discipline" rel="noopener noreferrer"&gt;https://kubo03.gumroad.com/l/cursor-pr-discipline&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>ai</category>
      <category>productivity</category>
      <category>github</category>
    </item>
    <item>
      <title>Dogfooding a Human-Controlled AI PR Workflow with Cursor and Claude</title>
      <dc:creator>Hideaki Kubo</dc:creator>
      <pubDate>Thu, 25 Jun 2026 07:54:34 +0000</pubDate>
      <link>https://dev.to/logfabric/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude-2i27</link>
      <guid>https://dev.to/logfabric/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude-2i27</guid>
      <description>&lt;p&gt;I recently updated the public LogFabric website using Cursor, Claude, and a human-controlled PR workflow.&lt;/p&gt;

&lt;p&gt;This was not a demo.&lt;/p&gt;

&lt;p&gt;It was a real website PR, and I used it to dogfood my own &lt;code&gt;cursor-pr-discipline&lt;/code&gt; workflow.&lt;/p&gt;

&lt;p&gt;The old website copy was still focused on Stripe post-payment operations.&lt;/p&gt;

&lt;p&gt;The current focus is different: human-controlled AI PR workflows for Cursor.&lt;/p&gt;

&lt;p&gt;So I opened a small PR and used my own workflow while doing the update.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’m building
&lt;/h2&gt;

&lt;p&gt;I’m building &lt;code&gt;cursor-pr-discipline&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It is a lightweight workflow governance pack for Cursor users who use AI-assisted coding but still want pull requests to stay:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;scoped&lt;/li&gt;
&lt;li&gt;reviewable&lt;/li&gt;
&lt;li&gt;human-decided&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to make AI autonomous.&lt;/p&gt;

&lt;p&gt;The goal is to make AI-assisted work easier to review before a human decides what gets merged.&lt;/p&gt;

&lt;h2&gt;
  
  
  The PR scope
&lt;/h2&gt;

&lt;p&gt;The initial scope was simple:&lt;/p&gt;

&lt;p&gt;Update the public homepage copy to align with &lt;code&gt;cursor-pr-discipline&lt;/code&gt; Pro Pack v0.&lt;/p&gt;

&lt;p&gt;The files eventually changed were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;index.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;privacy.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;terms.html&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The important part was not just changing the homepage.&lt;/p&gt;

&lt;p&gt;The privacy policy and terms page also needed to match the new product direction.&lt;/p&gt;

&lt;p&gt;Otherwise, the homepage would say one thing, while the legal/supporting pages would still describe an older product idea.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I used Cursor
&lt;/h2&gt;

&lt;p&gt;I used Cursor for the first pass.&lt;/p&gt;

&lt;p&gt;The instruction was intentionally narrow:&lt;/p&gt;

&lt;p&gt;Only modify the homepage copy.&lt;/p&gt;

&lt;p&gt;Cursor quickly updated the main landing page from the old post-payment operations positioning to the new Human-controlled AI PR workflow positioning.&lt;/p&gt;

&lt;p&gt;It updated the hero, product sections, roadmap, and calls to action.&lt;/p&gt;

&lt;p&gt;This part was fast.&lt;/p&gt;

&lt;p&gt;The useful part was not that Cursor “did everything.”&lt;/p&gt;

&lt;p&gt;The useful part was that it produced a reviewable change quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the human review mattered
&lt;/h2&gt;

&lt;p&gt;After the homepage looked good, I checked for old business terms.&lt;/p&gt;

&lt;p&gt;I searched for terms like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stripe&lt;/li&gt;
&lt;li&gt;post-payment&lt;/li&gt;
&lt;li&gt;subscription&lt;/li&gt;
&lt;li&gt;Webhook&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;early access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The homepage was clean.&lt;/p&gt;

&lt;p&gt;But while checking the site manually, I noticed something else:&lt;/p&gt;

&lt;p&gt;The footer links worked, but the privacy policy and terms page content still described the old product direction.&lt;/p&gt;

&lt;p&gt;That was a human judgment point.&lt;/p&gt;

&lt;p&gt;The PR scope had to be updated.&lt;/p&gt;

&lt;p&gt;Not expanded randomly.&lt;/p&gt;

&lt;p&gt;Updated deliberately.&lt;/p&gt;

&lt;p&gt;The new scope became:&lt;/p&gt;

&lt;p&gt;Update the public LogFabric website copy to align with &lt;code&gt;cursor-pr-discipline&lt;/code&gt; Pro Pack v0.&lt;/p&gt;

&lt;p&gt;Files in scope:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;index.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;privacy.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;terms.html&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Out of scope:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;README changes&lt;/li&gt;
&lt;li&gt;layout redesign&lt;/li&gt;
&lt;li&gt;product ZIP changes&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.cursor/rules/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;unrelated implementation work&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I used Claude
&lt;/h2&gt;

&lt;p&gt;For the privacy policy and terms page, I used Claude with a narrow instruction.&lt;/p&gt;

&lt;p&gt;The task was not to create a complex legal document.&lt;/p&gt;

&lt;p&gt;The task was to remove old product references and align the pages with the current product model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;digital ZIP product&lt;/li&gt;
&lt;li&gt;delivered through Gumroad&lt;/li&gt;
&lt;li&gt;Cursor &lt;code&gt;.mdc&lt;/code&gt; rules&lt;/li&gt;
&lt;li&gt;examples&lt;/li&gt;
&lt;li&gt;decision templates&lt;/li&gt;
&lt;li&gt;no customer repository access&lt;/li&gt;
&lt;li&gt;no customer production secrets&lt;/li&gt;
&lt;li&gt;no custom setup support&lt;/li&gt;
&lt;li&gt;rules are instructions, not enforcement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claude updated only &lt;code&gt;privacy.html&lt;/code&gt; and &lt;code&gt;terms.html&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Then I reviewed the result manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I did not delegate to AI
&lt;/h2&gt;

&lt;p&gt;I did not delegate the final decision.&lt;/p&gt;

&lt;p&gt;The human-controlled parts were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;deciding the PR scope&lt;/li&gt;
&lt;li&gt;deciding that privacy and terms pages were in scope&lt;/li&gt;
&lt;li&gt;checking old wording&lt;/li&gt;
&lt;li&gt;checking local links&lt;/li&gt;
&lt;li&gt;reviewing the final diff&lt;/li&gt;
&lt;li&gt;committing only the intended files&lt;/li&gt;
&lt;li&gt;confirming &lt;code&gt;.cursor/&lt;/code&gt; was not committed&lt;/li&gt;
&lt;li&gt;creating and merging the PR&lt;/li&gt;
&lt;li&gt;checking the live website after merge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the point of the workflow.&lt;/p&gt;

&lt;p&gt;AI can propose and edit.&lt;/p&gt;

&lt;p&gt;But the human decides what belongs in the PR and whether it should be merged.&lt;/p&gt;

&lt;h2&gt;
  
  
  One important detail: local rules were not committed
&lt;/h2&gt;

&lt;p&gt;During the dogfooding, I used local Cursor rules.&lt;/p&gt;

&lt;p&gt;But those rule files were not part of the website PR.&lt;/p&gt;

&lt;p&gt;They were local working materials.&lt;/p&gt;

&lt;p&gt;Before pushing, I removed the local &lt;code&gt;.cursor/&lt;/code&gt; directory and confirmed the working tree was clean.&lt;/p&gt;

&lt;p&gt;That matters because workflow rules and product files should not accidentally leak into unrelated PRs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;The PR updated the public website copy and supporting pages.&lt;/p&gt;

&lt;p&gt;It was merged.&lt;/p&gt;

&lt;p&gt;The live site was checked after merge.&lt;/p&gt;

&lt;p&gt;The workflow worked as intended:&lt;/p&gt;

&lt;p&gt;Cursor helped move quickly.&lt;/p&gt;

&lt;p&gt;Claude helped with a narrow follow-up edit.&lt;/p&gt;

&lt;p&gt;The human kept the PR bounded, reviewed the public-facing consistency, and made the merge decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;For AI-assisted development, the risky part is not only whether the AI can generate code or copy.&lt;/p&gt;

&lt;p&gt;The risky part is whether the work stays scoped and reviewable.&lt;/p&gt;

&lt;p&gt;In this small PR, the pattern was:&lt;/p&gt;

&lt;p&gt;AI assisted.&lt;/p&gt;

&lt;p&gt;Human reviewed.&lt;/p&gt;

&lt;p&gt;Human decided.&lt;/p&gt;

&lt;p&gt;That is the workflow I want &lt;code&gt;cursor-pr-discipline&lt;/code&gt; to support.&lt;/p&gt;




&lt;p&gt;Related:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free Pack on GitHub: &lt;a href="https://github.com/logfabricteam/cursor-pr-discipline" rel="noopener noreferrer"&gt;https://github.com/logfabricteam/cursor-pr-discipline&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pro Pack v0 on Gumroad: &lt;a href="https://kubo03.gumroad.com/l/cursor-pr-discipline" rel="noopener noreferrer"&gt;https://kubo03.gumroad.com/l/cursor-pr-discipline&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>cursor</category>
      <category>github</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why AI-assisted PRs expand, and how Cursor Project Rules can help</title>
      <dc:creator>Hideaki Kubo</dc:creator>
      <pubDate>Tue, 23 Jun 2026 07:58:02 +0000</pubDate>
      <link>https://dev.to/logfabric/why-ai-assisted-prs-expand-and-how-cursor-project-rules-can-help-5dch</link>
      <guid>https://dev.to/logfabric/why-ai-assisted-prs-expand-and-how-cursor-project-rules-can-help-5dch</guid>
      <description>&lt;p&gt;AI-assisted coding tools are useful, but one problem keeps showing up in day-to-day development:&lt;/p&gt;

&lt;p&gt;PRs get bigger than the original task.&lt;/p&gt;

&lt;p&gt;You ask for one small fix.&lt;br&gt;
The AI also refactors nearby code.&lt;/p&gt;

&lt;p&gt;You ask for one endpoint change.&lt;br&gt;
The AI touches routing, tests, config, and documentation.&lt;/p&gt;

&lt;p&gt;You ask it to handle a review comment.&lt;br&gt;
It turns the comment into a broader cleanup.&lt;/p&gt;

&lt;p&gt;Each change may look reasonable in isolation. The problem is that the PR becomes harder to review, harder to revert, and harder to explain later.&lt;/p&gt;

&lt;p&gt;I do not think this is only a Cursor problem.&lt;/p&gt;

&lt;p&gt;I think it is an AI-assisted PR discipline problem.&lt;/p&gt;
&lt;h2&gt;
  
  
  The issue: AI tends to expand the scope
&lt;/h2&gt;

&lt;p&gt;When an AI coding tool sees nearby problems, it often wants to improve them.&lt;/p&gt;

&lt;p&gt;That can be helpful in exploration mode. But in a pull request workflow, it creates risk.&lt;/p&gt;

&lt;p&gt;A good PR should usually answer one question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What decision is this PR asking the human reviewer to make?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If a PR contains a bug fix, a refactor, a new helper, a docs update, and a test rewrite, the human reviewer is no longer reviewing one decision.&lt;/p&gt;

&lt;p&gt;They are reviewing several decisions bundled together.&lt;/p&gt;

&lt;p&gt;That makes the PR harder to merge with confidence.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I tested
&lt;/h2&gt;

&lt;p&gt;I created a small free repo called &lt;code&gt;cursor-pr-discipline&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It contains a few &lt;code&gt;.mdc&lt;/code&gt; Project Rules for Cursor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;no-unrequested-changes.mdc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;one-pr-one-topic.mdc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;classify-before-merging.mdc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to force Cursor to behave perfectly.&lt;/p&gt;

&lt;p&gt;The goal is to give Cursor stronger project-level instructions that reinforce a human-controlled PR workflow.&lt;/p&gt;
&lt;h2&gt;
  
  
  The first test
&lt;/h2&gt;

&lt;p&gt;I created a small test file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;registerUser&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;password&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;password&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;registerUser&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I asked Cursor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Add input validation to test-sandbox/registration.js.

Do not modify any other files.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cursor kept the work scoped to the requested file.&lt;/p&gt;

&lt;p&gt;That was a good first result.&lt;/p&gt;

&lt;h2&gt;
  
  
  The scope expansion test
&lt;/h2&gt;

&lt;p&gt;Then I intentionally asked for a scope-expanding follow-up:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Also refactor the validation into a shared utility and update the README.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The first version of my rules was not strong enough.&lt;/p&gt;

&lt;p&gt;Cursor started moving toward a shared utility and README update.&lt;/p&gt;

&lt;p&gt;That was useful feedback.&lt;/p&gt;

&lt;p&gt;The rules needed to be more explicit about follow-up requests.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I changed
&lt;/h2&gt;

&lt;p&gt;I updated the rules to say that if a follow-up request introduces a separate concern, new abstraction, unrelated file, or documentation update, Cursor should not immediately implement it.&lt;/p&gt;

&lt;p&gt;It should first ask whether the work should be handled as a separate PR.&lt;/p&gt;

&lt;p&gt;After that change, the same follow-up request produced a better result.&lt;/p&gt;

&lt;p&gt;Cursor identified the request as multiple concerns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;keep the original validation change scoped&lt;/li&gt;
&lt;li&gt;move shared utility extraction into a follow-up PR&lt;/li&gt;
&lt;li&gt;move README documentation into another follow-up PR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is the behavior I wanted.&lt;/p&gt;

&lt;p&gt;Not automatic enforcement.&lt;br&gt;
Not a guarantee.&lt;br&gt;
Just better PR discipline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;AI coding tools make it easier to generate code.&lt;/p&gt;

&lt;p&gt;But generating code is not the same as deciding what should be merged.&lt;/p&gt;

&lt;p&gt;For me, the human should still decide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what the PR is allowed to change&lt;/li&gt;
&lt;li&gt;what gets deferred&lt;/li&gt;
&lt;li&gt;what needs review before merge&lt;/li&gt;
&lt;li&gt;why the PR was merged&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Project Rules can help reinforce that workflow.&lt;/p&gt;

&lt;p&gt;They do not replace human judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to try it now
&lt;/h2&gt;

&lt;p&gt;The free repo includes three &lt;code&gt;.mdc&lt;/code&gt; rules and a small scoped PR example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/logfabricteam/cursor-pr-discipline" rel="noopener noreferrer"&gt;https://github.com/logfabricteam/cursor-pr-discipline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copy the &lt;code&gt;.mdc&lt;/code&gt; files into your project's &lt;code&gt;.cursor/rules/&lt;/code&gt; directory, then try a small task in Cursor and watch whether the PR stays scoped.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free repo
&lt;/h2&gt;

&lt;p&gt;I published the first version here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/logfabricteam/cursor-pr-discipline" rel="noopener noreferrer"&gt;https://github.com/logfabricteam/cursor-pr-discipline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It includes the free &lt;code&gt;.mdc&lt;/code&gt; rules and a small scoped PR example.&lt;/p&gt;

&lt;h2&gt;
  
  
  Early access
&lt;/h2&gt;

&lt;p&gt;I am also validating a Pro Pack with more examples and rules for human merge decisions, ambiguous requests, review triage, and stopping before autonomous merge.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kubo03.gumroad.com/l/cursor-pr-discipline" rel="noopener noreferrer"&gt;https://kubo03.gumroad.com/l/cursor-pr-discipline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The main idea is simple:&lt;/p&gt;

&lt;p&gt;AI can help write the code.&lt;br&gt;
But the PR should still stay scoped, reviewable, and human-decided.&lt;/p&gt;

&lt;p&gt;How do you manage AI scope creep in your own workflow?&lt;/p&gt;

&lt;p&gt;Do you use Cursor Project Rules, custom prompts, review checklists, or something else?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>github</category>
      <category>cursor</category>
    </item>
  </channel>
</rss>
