<?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: Vincenzo</title>
    <description>The latest articles on DEV Community by Vincenzo (@basilevincenzo).</description>
    <link>https://dev.to/basilevincenzo</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3901016%2Ff965c118-2713-4bba-b2ec-c7142041b4a0.jpeg</url>
      <title>DEV Community: Vincenzo</title>
      <link>https://dev.to/basilevincenzo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/basilevincenzo"/>
    <language>en</language>
    <item>
      <title>I Built an AI Code Reviewer Bot for GitHub - Using Only GitHub Actions (No External APIs!)</title>
      <dc:creator>Vincenzo</dc:creator>
      <pubDate>Mon, 27 Apr 2026 18:10:25 +0000</pubDate>
      <link>https://dev.to/basilevincenzo/i-built-an-ai-code-reviewer-bot-for-github-using-only-github-actions-no-external-apis-4c5d</link>
      <guid>https://dev.to/basilevincenzo/i-built-an-ai-code-reviewer-bot-for-github-using-only-github-actions-no-external-apis-4c5d</guid>
      <description>&lt;p&gt;I created a free, open-source GitHub Action that automatically reviews every pull request using GitHub's native capabilities. Zero external APIs, zero costs, 2-minute setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/basilevincenzo/ai-code-reviewer" rel="noopener noreferrer"&gt;https://github.com/basilevincenzo/ai-code-reviewer&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Stars:&lt;/strong&gt; ⭐ (please!)&lt;/p&gt;
&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Code reviews are slow, expensive, and inconsistent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Junior devs miss security issues&lt;/li&gt;
&lt;li&gt;Teams can't afford dedicated reviewers&lt;/li&gt;
&lt;li&gt;Manual reviews take hours&lt;/li&gt;
&lt;li&gt;Knowledge isn't shared&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted a bot that:&lt;br&gt;
✅ Works with ONLY GitHub (no external services)&lt;br&gt;
✅ Catches real bugs automatically&lt;br&gt;
✅ Costs absolutely nothing&lt;br&gt;
✅ Requires zero configuration&lt;/p&gt;
&lt;h2&gt;
  
  
  The Solution: AI Code Reviewer Bot
&lt;/h2&gt;

&lt;p&gt;A pure GitHub Action that:&lt;/p&gt;

&lt;p&gt;🔍 &lt;strong&gt;Finds Security Issues&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL Injection vulnerabilities&lt;/li&gt;
&lt;li&gt;Hardcoded secrets (passwords, API keys)&lt;/li&gt;
&lt;li&gt;Missing input validation&lt;/li&gt;
&lt;li&gt;Debug code left in production&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⚡ &lt;strong&gt;Instant Feedback&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reviews your PR in seconds&lt;/li&gt;
&lt;li&gt;Comments on specific lines&lt;/li&gt;
&lt;li&gt;Provides fix suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💰 &lt;strong&gt;Completely Free&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses GitHub's native capabilities&lt;/li&gt;
&lt;li&gt;No external APIs&lt;/li&gt;
&lt;li&gt;No credit card&lt;/li&gt;
&lt;li&gt;Open source&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1   You open a PR on GitHub
2   GitHub Action is triggered (built-in)
3   Bot downloads changed files from your repo
4   Bot analyzes the code using GitHub's native tools
5   Bot posts comments on your PR
6   You get instant feedback
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Everything stays within GitHub. No external dependencies.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;

&lt;p&gt;When you open a PR with this code:&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;getUserById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SELECT * FROM users WHERE id = &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;database&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;sk-1234567890&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Debug&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The bot will comment:&lt;br&gt;
🔴 CRITICAL SQL Injection vulnerability detected. User input is concatenated directly into SQL query.&lt;br&gt;
Suggestion: Use parameterized queries db.query('SELECT * FROM users WHERE id = ?', [id])&lt;br&gt;
Why? Concatenating user input allows attackers to execute arbitrary SQL.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Is Different
&lt;/h2&gt;

&lt;p&gt;❌ &lt;strong&gt;Other Solutions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Require external APIs&lt;/li&gt;
&lt;li&gt;Need credit cards&lt;/li&gt;
&lt;li&gt;Add complexity&lt;/li&gt;
&lt;li&gt;Cost money&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;This Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pure GitHub Actions&lt;/li&gt;
&lt;li&gt;Zero external dependencies&lt;/li&gt;
&lt;li&gt;Zero cost&lt;/li&gt;
&lt;li&gt;Dead simple&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Real World Example
&lt;/h2&gt;

&lt;p&gt;I tested this on actual projects and it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Caught a SQL injection in a user query&lt;/li&gt;
&lt;li&gt;Found hardcoded database passwords&lt;/li&gt;
&lt;li&gt;Spotted debug console.log() before production&lt;/li&gt;
&lt;li&gt;Suggested parameterized queries&lt;/li&gt;
&lt;li&gt;Improved team code quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All without leaving GitHub.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who Should Use This?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Solo developers&lt;/strong&gt; - Free security scanning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small teams&lt;/strong&gt; - No budget for expensive tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Startups&lt;/strong&gt; - Keep costs at zero&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning&lt;/strong&gt; - Understand code quality patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Portfolio&lt;/strong&gt; - Show security awareness&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to your GitHub repo&lt;/li&gt;
&lt;li&gt;Create &lt;code&gt;.github/workflows/review.yml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Copy the workflow from: &lt;a href="https://github.com/basilevincenzo/ai-code-reviewer/blob/main/.github/workflows/review.yml" rel="noopener noreferrer"&gt;https://github.com/basilevincenzo/ai-code-reviewer/blob/main/.github/workflows/review.yml&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Save and commit&lt;/li&gt;
&lt;li&gt;Open a PR - bot reviews automatically&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Star the repo ⭐&lt;/li&gt;
&lt;li&gt;Try it on your project&lt;/li&gt;
&lt;li&gt;Open an issue if you find bugs&lt;/li&gt;
&lt;li&gt;Contribute improvements!&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;No external dependencies, no APIs, no costs.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>github</category>
    </item>
  </channel>
</rss>
