Use Gemini Code Assist as a PR Reviewer
Creating Shopify Theme with AI - #3

Search for a command to run...
Creating Shopify Theme with AI - #3

No comments yet. Be the first to comment.
TL;DR 🛒 If your Shopify cart attributes are empty in /cart.js or missing on the order page: Add the input with name="attributes[your-key]" on the cart page Check saved values at {your-store-url}/ca

I didn't think I could ship a web app within a week. Then something happened on a train that changed that. This is the story of how I built and shipped Roka — and what AI actually made possible. The

Intro I set up Biome for a small Next.js app and felt great about it. Then I realized a few days later that the class name sorting I'd configured wasn't doing anything - and the reason was... embarras
Creating Shopify Theme with AI - #4

Gemini Code Assist is a GitHub app that auto-reviews your PRs. It catches real issues (typos, accessibility, naming). You often need /gemini review more than once — it does not catch everything in a single pass. Treat suggestions as hypotheses: test before you merge.
Reviewing AI-generated code is tedious. When Cursor writes 300 lines across 8 files, you either review it properly (slow) or trust it (risky).
Gemini Code Assist is the free option I tried — here's what it catches and where it falls short.
While I was researching Gemini, I found a GitHub app: Gemini Code Assist.
Setup is straightforward. See: https://developers.google.com/gemini-code-assist/docs/set-up-code-assist-github
After I connected it to my repo, it runs automatically on new pull requests.
Once it was live, the practical value showed up quickly.
Typos in variable names and string literals
Missing or undefined variables in Liquid templates
Inconsistent naming across files
For example, I added some styles
height: 100%;
width: 100%;
The review:
Your stylesheet is already using modern CSS logical properties like
inline-sizeandblock-sizein other places. For consistency, it would be best to use them here as well instead of the physical propertiesheightandwidth.
Restructuring overly nested Liquid logic
More descriptive variable names
Missing alt attributes on images
Semantic HTML (for example, correct heading hierarchy)
These catches alone make it worthwhile.
No tool is perfect. Gemini as a PR reviewer has a few friction points worth naming clearly.
The biggest pain point for me: Gemini does not always list all issues in the first review.
For example, I got feedback about a CSS class name. I fixed it, then commented /gemini review to run it again. A few minutes later, I got more comments on other lines.
In practice, I trigger several reviews with /gemini review to collect most of the feedback.
AI makes mistakes — that is common knowledge, and keep it in mind. Treat every suggestion as a hypothesis, not a final answer. Read it, understand it, then test it — especially when it changes logic, not only style.
For example, when I was implementing a richtext field in the section, I got a review message:
For richtext fields, a simple != blank check might not be sufficient. If a user clears the text in the editor, it can leave behind empty HTML tags like
, which would pass the blank check and render an empty element, potentially causing unwanted layout spacing. It's more robust to strip HTML tags and whitespace before checking if the content is blank.
{% if section.settings.paragraph | strip_html | strip != blank %}
{{ section.settings.paragraph }}
{% endif %}
I used this suggested code. What I didn't know was that it would be a syntax error. (my liquid knowledge is limited...) I also forgot to run theme check somehow.
Later I checked the website; the change wasn't there. I checked the Shopify log and realized that the change caused a syntax error. Luckily the error was caught by Shopify's theme deployment system, so the change wasn't released.
In Liquid, filters (|) cannot be used directly inside {% if %} conditions. You need to assign the filtered value to a variable, then use it in the condition.
{%- assign stripped_paragraph = section.settings.paragraph | strip_html | strip -%}
{% if stripped_paragraph != blank %}
{{ stripped_paragraph }}
{% endif %}
Test every suggestion before merging — even the ones that look obviously right.
I might be missing a feature, but I have not found a clean way to mark a comment as “intentionally ignored.” After I resolve a thread and push, Gemini often raises the same suggestion again on the next review.
Note: While writing this, I saw the @gemini-code-assist mention in the marketplace docs. I will try that next time to see if it reduces repeated comments.
Gemini as a PR reviewer is a useful first pass for Shopify theme work. It catches small, high-impact problems that are easy to skip — especially accessibility and readability, where a normal linter helps less.
Repeated comments and multi-pass reviews add steps. But if you expect an automated first reviewer — not a replacement for you or your team — it is worth installing and trying. 😉👉 Gemini Code Assist on GitHub Marketplace.