<?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: Open PR</title>
    <description>The latest articles on DEV Community by Open PR (@open_pr).</description>
    <link>https://dev.to/open_pr</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%2F4093196%2F795fd7c3-a99b-49b7-86db-7d73f851a2e3.png</url>
      <title>DEV Community: Open PR</title>
      <link>https://dev.to/open_pr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/open_pr"/>
    <language>en</language>
    <item>
      <title>Open-PR: một AI agent review PR nói chuyện như đồng nghiệp, không như một con bot</title>
      <dc:creator>Open PR</dc:creator>
      <pubDate>Thu, 10 Sep 2026 03:03:45 +0000</pubDate>
      <link>https://dev.to/open_pr/open-pr-mot-ai-review-pr-noi-chuyen-nhu-dong-nghiep-khong-nhu-mot-con-bot-bpb</link>
      <guid>https://dev.to/open_pr/open-pr-mot-ai-review-pr-noi-chuyen-nhu-dong-nghiep-khong-nhu-mot-con-bot-bpb</guid>
      <description>&lt;p&gt;AI coding giúp viết code nhanh hơn, nhưng số PR mở ra cũng nhiều hơn trong khi số người review vẫn vậy. Kết quả: review — chứ không phải viết code — mới là nút thắt cổ chai mới.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/TOMOSIA-VIETNAM/open-pr" rel="noopener noreferrer"&gt;Open-PR&lt;/a&gt; ra đời từ đó — một AI agent mã nguồn mở chuyên review Pull Request, chạy thẳng trong các agent CLI quen thuộc (Claude Code, Cursor, Codex, Gemini CLI, Antigravity) thay vì một dịch vụ SaaS hay bot account riêng:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Developer mở PR → AI review vòng đầu → người review quyết định cuối cùng → merge.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Đã có khá nhiều AI agent làm nhiệm vụ review code. Vậy Open-PR khác gì?&lt;/p&gt;

&lt;h2&gt;
  
  
  Không phải một "prompt review chung chung"
&lt;/h2&gt;

&lt;p&gt;Nhiều skill/agent review hiện nay chỉ là một file mô tả (&lt;code&gt;SKILL.md&lt;/code&gt;) bảo AI "hãy review cẩn thận". Vấn đề là mỗi lần chạy một kiểu — khi khắt khe, khi dễ dãi — và gần như không biết gì về convention riêng của dự án.&lt;/p&gt;

&lt;p&gt;Open-PR khác ở chỗ: ngay lần chạy đầu tiên trong một repo, nó đọc README, &lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;, docs, wiki để hiểu convention thật của dự án đó, và quy tắc riêng của team luôn thắng quy tắc chung chung. Nó cũng có trí nhớ theo từng repo: mọi điều team từng góp ý hay thống nhất sẽ được ghi lại, để lần review sau không phải nhắc lại. Nhờ vậy, dù chạy lúc nào, review vẫn giữ đúng một "giọng" — giọng của chính dự án, không trôi nổi theo từng lần chạy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trao đổi thân thiện, chi tiết — như hai người đang bàn code
&lt;/h2&gt;

&lt;p&gt;Điểm đáng chú ý nhất ở Open-PR không phải là tìm ra bao nhiêu lỗi, mà là cách nó &lt;em&gt;duy trì cuộc trò chuyện&lt;/em&gt; trên PR.&lt;/p&gt;

&lt;p&gt;Một AI review "kiểu cũ" thường ném ra một cục comment rồi thôi; chạy lại là review lại từ đầu, có khi lặp lại đúng điều đã nói. Open-PR thì khác: chạy &lt;code&gt;/open-pr:review&lt;/code&gt; lần hai trên cùng PR, nó đọc lại từng thread cũ, xem điều đã góp ý được xử lý chưa — đã sửa thì xác nhận ngay trên đúng thread (có thể tự resolve nếu bạn bật tùy chọn này), chưa sửa thì im lặng chứ không lặp lại finding cũ. Review mới chỉ nói về phần vừa thay đổi.&lt;/p&gt;

&lt;p&gt;Thú vị hơn là &lt;code&gt;/open-pr:fix&lt;/code&gt;. Thay vì thấy comment là sửa theo — kể cả khi comment sai và biến code đúng thành sai — Open-PR tự cân nhắc finding có hợp lý không. Hợp lý thì sửa theo đúng convention và trí nhớ của repo; chưa ổn thì &lt;strong&gt;trả lời lại đúng thread kèm dẫn chứng&lt;/strong&gt;, giống một lập trình viên phản biện lại reviewer thay vì răm rắp làm theo. Sau khi push, nó luôn quay lại từng thread để nói rõ đã fix ra sao hoặc vì sao không fix — và không bao giờ tự resolve, quyền đóng thread luôn thuộc về người. Cuộc trao đổi vì thế nằm nguyên đúng chỗ vấn đề được nêu, không bị "restart" mỗi lần chạy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment không chỉ để báo lỗi — mà giải thích rõ ràng, có bằng chứng
&lt;/h2&gt;

&lt;p&gt;Mỗi lượt review gồm ba phần gắn liền nhau: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Overview&lt;/strong&gt; (toàn cảnh diff, các finding nhóm theo mức độ nghiêm trọng, kể cả vấn đề ở cấp file không có dòng cụ thể để bám).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;line comment&lt;/strong&gt; (finding gắn đúng vào dòng liên quan, kèm sẵn khối &lt;code&gt;suggestion&lt;/code&gt; để commit thẳng từ giao diện PR, không cần gõ lại).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;reply&lt;/strong&gt; (sau khi &lt;code&gt;/open-pr:fix&lt;/code&gt; push, trả lời ngay trên thread đó để khép lại vòng trao đổi).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Để AI và người hiểu nhau rõ ràng, Open-PR dùng một hệ thống mức độ nghiêm trọng tường minh, như một "hợp đồng" giữa reviewer và author:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ký hiệu&lt;/th&gt;
&lt;th&gt;Mức độ&lt;/th&gt;
&lt;th&gt;
&lt;code&gt;/open-pr:fix&lt;/code&gt; xử lý ra sao&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🔴&lt;/td&gt;
&lt;td&gt;MUST FIX&lt;/td&gt;
&lt;td&gt;tự động xử lý&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🟠&lt;/td&gt;
&lt;td&gt;SHOULD FIX&lt;/td&gt;
&lt;td&gt;tự động xử lý&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔵&lt;/td&gt;
&lt;td&gt;SUGGESTION&lt;/td&gt;
&lt;td&gt;luôn hỏi lại trước khi đụng code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📝&lt;/td&gt;
&lt;td&gt;NOTE&lt;/td&gt;
&lt;td&gt;luôn hỏi lại trước khi đụng code&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Diff không có gì đáng nói thì chỉ đăng đúng một dòng &lt;strong&gt;LGTM 🌟&lt;/strong&gt;, không tạo noise. Sáu nhóm tiêu chí được xem xét là bug &amp;amp; logic, security, performance, code quality, khả năng bảo trì/đọc hiểu, và quy tắc riêng theo từng framework/ngôn ngữ (Rails, Vue, React, Python, Node.js, Laravel, WordPress...) — quy tắc riêng của team luôn thắng khi có xung đột.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chọn ngôn ngữ mặc định khi comment lên PR
&lt;/h2&gt;

&lt;p&gt;Open-PR tách riêng hai ngôn ngữ: ngôn ngữ bạn trò chuyện với agent trong CLI (&lt;code&gt;chat_language&lt;/code&gt;), và ngôn ngữ nó &lt;strong&gt;đăng công khai lên PR&lt;/strong&gt; (&lt;code&gt;output_language&lt;/code&gt;) — cấu hình này gắn với từng repo, không phải từng người dùng.&lt;/p&gt;

&lt;p&gt;Lần chạy đầu tiên trong một repo, Open-PR hỏi một lượt ngắn để chọn ngôn ngữ đăng lên PR, rồi ghi nhớ cho mọi lần sau. Nhờ vậy một repo có thể luôn review nhất quán bằng tiếng Việt (hoặc Anh, Nhật, Trung), bất kể ai trong team gõ lệnh review.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup với Claude Code
&lt;/h2&gt;

&lt;p&gt;Trước tiên, đảm bảo đã cài và đăng nhập GitHub CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gh auth login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thêm marketplace và cài plugin:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugin marketplace add TOMOSIA-VIETNAM/open-pr
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;open-pr@open-pr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sau đó chạy review trực tiếp trên một PR:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/open-pr:review &amp;lt;PR_URL&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ví dụ:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/open-pr:review https://github.com/your-org/your-repo/pull/123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude Code sẽ phân tích PR và trả về finding để bạn xem xét trước khi merge. Khi cần xử lý luôn phần đã đồng ý, chạy tiếp &lt;code&gt;/open-pr:fix &amp;lt;PR_URL&amp;gt;&lt;/code&gt; — đúng một commit, không force-push, luôn reply từng thread sau khi push.&lt;/p&gt;

</description>
      <category>openpr</category>
      <category>opensource</category>
      <category>agentskills</category>
      <category>ai</category>
    </item>
    <item>
      <title>We built an open tool to make GitHub PR reviews less of a bottleneck</title>
      <dc:creator>Open PR</dc:creator>
      <pubDate>Fri, 04 Sep 2026 08:18:33 +0000</pubDate>
      <link>https://dev.to/open_pr/we-built-an-open-tool-to-make-github-pr-reviews-less-of-a-bottleneck-157k</link>
      <guid>https://dev.to/open_pr/we-built-an-open-tool-to-make-github-pr-reviews-less-of-a-bottleneck-157k</guid>
      <description>&lt;p&gt;&lt;strong&gt;AI coding tools have made writing code much faster.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But we noticed a new bottleneck in our development workflow:&lt;/p&gt;

&lt;p&gt;Code review.&lt;/p&gt;

&lt;p&gt;When developers can create code faster, more PRs are opened. But the number of reviewers doesn't increase at the same speed.&lt;/p&gt;

&lt;p&gt;Why review is the bottleneck&lt;/p&gt;

&lt;p&gt;This is what we started seeing in our workflow:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F21ymyja4i6re6g6078ik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F21ymyja4i6re6g6078ik.png" alt="Open PR" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The problem wasn't that our reviewers were slow.&lt;/p&gt;

&lt;p&gt;There was simply too much code for humans to review manually.&lt;/p&gt;

&lt;p&gt;So we started experimenting with AI for the first pass of PR review.&lt;/p&gt;

&lt;p&gt;We built Open PR&lt;/p&gt;

&lt;p&gt;We built Open PR, an open-source AI agent for reviewing GitHub pull requests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/TOMOSIA-VIETNAM/open-pr" rel="noopener noreferrer"&gt;GitHub — TOMOSIA-VIETNAM/open-pr&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
The idea is simple:&lt;/p&gt;

&lt;p&gt;Developer → Pull Request → AI Review → Human Review → Merge&lt;/p&gt;

&lt;p&gt;AI handles the initial pass, while humans make the final decisions.&lt;/p&gt;

&lt;p&gt;We're particularly interested in problems that go beyond formatting or simple code smells — things like business logic, unexpected side effects, missing test cases, and inconsistencies with the existing codebase.&lt;/p&gt;

&lt;p&gt;Setup with Claude Code&lt;/p&gt;

&lt;p&gt;First, make sure you have GitHub CLI installed and authenticated:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gh auth login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then add the Open PR plugin marketplace and install the plugin:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/plugin marketplace add TOMOSIA-VIETNAM/open-pr
/plugin install open-pr@open-pr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once installed, you can review a GitHub PR directly from Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/open-pr:review &amp;lt;PR_URL&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/open-pr:review https://github.com/your-org/your-repo/pull/123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude Code will analyze the PR and return review findings that you can inspect and discuss before merging.&lt;/p&gt;

&lt;p&gt;Still an experiment&lt;/p&gt;

&lt;p&gt;We don't think AI code review is solved.&lt;/p&gt;

&lt;p&gt;AI can miss important issues, misunderstand business context, or produce false positives. That's why we're treating Open PR as an assistant for reviewers, not a replacement for them.&lt;/p&gt;

&lt;p&gt;We're sharing it openly because we'd like to learn from other teams.&lt;/p&gt;

&lt;p&gt;Has AI made your PR review process the new bottleneck?&lt;/p&gt;

&lt;p&gt;If you're experimenting with AI-assisted development, we'd love to hear what your workflow looks like.&lt;/p&gt;

&lt;p&gt;Open PR on GitHub&lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>agents</category>
      <category>claudecode</category>
    </item>
  </channel>
</rss>
