{"slug": "dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude", "title": "Dogfooding a Human-Controlled AI PR Workflow with Cursor and Claude", "summary": "A developer dogfooded a human-controlled AI PR workflow by updating the LogFabric website using Cursor and Claude. The workflow ensured AI-assisted changes were scoped, reviewed, and merged only after human approval, demonstrating a pattern for reviewable AI-assisted development.", "body_md": "I recently updated the public LogFabric website using Cursor, Claude, and a human-controlled PR workflow.\n\nThis was not a demo.\n\nIt was a real website PR, and I used it to dogfood my own `cursor-pr-discipline`\n\nworkflow.\n\nThe old website copy was still focused on Stripe post-payment operations.\n\nThe current focus is different: human-controlled AI PR workflows for Cursor.\n\nSo I opened a small PR and used my own workflow while doing the update.\n\nI’m building `cursor-pr-discipline`\n\n.\n\nIt is a lightweight workflow governance pack for Cursor users who use AI-assisted coding but still want pull requests to stay:\n\nThe goal is not to make AI autonomous.\n\nThe goal is to make AI-assisted work easier to review before a human decides what gets merged.\n\nThe initial scope was simple:\n\nUpdate the public homepage copy to align with `cursor-pr-discipline`\n\nPro Pack v0.\n\nThe files eventually changed were:\n\n`index.html`\n\n`privacy.html`\n\n`terms.html`\n\nThe important part was not just changing the homepage.\n\nThe privacy policy and terms page also needed to match the new product direction.\n\nOtherwise, the homepage would say one thing, while the legal/supporting pages would still describe an older product idea.\n\nI used Cursor for the first pass.\n\nThe instruction was intentionally narrow:\n\nOnly modify the homepage copy.\n\nCursor quickly updated the main landing page from the old post-payment operations positioning to the new Human-controlled AI PR workflow positioning.\n\nIt updated the hero, product sections, roadmap, and calls to action.\n\nThis part was fast.\n\nThe useful part was not that Cursor “did everything.”\n\nThe useful part was that it produced a reviewable change quickly.\n\nAfter the homepage looked good, I checked for old business terms.\n\nI searched for terms like:\n\nThe homepage was clean.\n\nBut while checking the site manually, I noticed something else:\n\nThe footer links worked, but the privacy policy and terms page content still described the old product direction.\n\nThat was a human judgment point.\n\nThe PR scope had to be updated.\n\nNot expanded randomly.\n\nUpdated deliberately.\n\nThe new scope became:\n\nUpdate the public LogFabric website copy to align with `cursor-pr-discipline`\n\nPro Pack v0.\n\nFiles in scope:\n\n`index.html`\n\n`privacy.html`\n\n`terms.html`\n\nOut of scope:\n\n`.cursor/rules/`\n\nFor the privacy policy and terms page, I used Claude with a narrow instruction.\n\nThe task was not to create a complex legal document.\n\nThe task was to remove old product references and align the pages with the current product model:\n\n`.mdc`\n\nrulesClaude updated only `privacy.html`\n\nand `terms.html`\n\n.\n\nThen I reviewed the result manually.\n\nI did not delegate the final decision.\n\nThe human-controlled parts were:\n\n`.cursor/`\n\nwas not committedThis is the point of the workflow.\n\nAI can propose and edit.\n\nBut the human decides what belongs in the PR and whether it should be merged.\n\nDuring the dogfooding, I used local Cursor rules.\n\nBut those rule files were not part of the website PR.\n\nThey were local working materials.\n\nBefore pushing, I removed the local `.cursor/`\n\ndirectory and confirmed the working tree was clean.\n\nThat matters because workflow rules and product files should not accidentally leak into unrelated PRs.\n\nThe PR updated the public website copy and supporting pages.\n\nIt was merged.\n\nThe live site was checked after merge.\n\nThe workflow worked as intended:\n\nCursor helped move quickly.\n\nClaude helped with a narrow follow-up edit.\n\nThe human kept the PR bounded, reviewed the public-facing consistency, and made the merge decision.\n\nFor AI-assisted development, the risky part is not only whether the AI can generate code or copy.\n\nThe risky part is whether the work stays scoped and reviewable.\n\nIn this small PR, the pattern was:\n\nAI assisted.\n\nHuman reviewed.\n\nHuman decided.\n\nThat is the workflow I want `cursor-pr-discipline`\n\nto support.\n\nRelated:", "url": "https://wpnews.pro/news/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude", "canonical_source": "https://dev.to/logfabric/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude-2i27", "published_at": "2026-06-25 07:54:34+00:00", "updated_at": "2026-06-25 08:13:35.609359+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "large-language-models", "ai-agents"], "entities": ["LogFabric", "Cursor", "Claude", "cursor-pr-discipline"], "alternates": {"html": "https://wpnews.pro/news/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude", "markdown": "https://wpnews.pro/news/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude.md", "text": "https://wpnews.pro/news/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude.txt", "jsonld": "https://wpnews.pro/news/dogfooding-a-human-controlled-ai-pr-workflow-with-cursor-and-claude.jsonld"}}