Skip to content

Conversation

@RobbieTheWagner
Copy link
Member

@RobbieTheWagner RobbieTheWagner commented Jan 29, 2026

Summary by CodeRabbit

  • Refactor

    • Updated Tailwind CSS configuration and build integration for improved performance.
  • Style

    • Adjusted UI styling including rounded corners, spacing, and layout adjustments across components.
  • Chores

    • Reorganized project dependencies and build configuration.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Jan 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
shepherd-docs Ready Ready Preview, Comment Jan 29, 2026 3:41pm
1 Skipped Deployment
Project Deployment Review Updated (UTC)
shepherd-landing Skipped Skipped Jan 29, 2026 3:41pm

Request Review

@coderabbitai
Copy link

coderabbitai bot commented Jan 29, 2026

📝 Walkthrough

Walkthrough

This change represents a migration from Astro's Tailwind integration to Tailwind CSS v4 with Vite plugin integration. Configuration files are removed from both docs-src and landing directories, dependencies are reorganized into devDependencies, Astro configs are updated to use the new @tailwindcss/vite plugin, and CSS is refactored to use modern @theme syntax with CSS variables.

Changes

Cohort / File(s) Summary
Tailwind Config Removal
docs-src/tailwind.config.mjs, landing/tailwind.config.mjs
Traditional Tailwind configuration files completely removed as configuration moves to new @theme syntax in CSS.
Astro Config Migration
docs-src/astro.config.mjs, landing/astro.config.mjs
docs-src removes Tailwind integration; landing switches from @astrojs/tailwind to @tailwindcss/vite with new vite.plugins configuration block.
Dependency Reorganization
docs-src/package.json, landing/package.json
Dependencies moved to devDependencies: @astrojs/check, @astrojs/sitemap, @astrojs/rss, and Tailwind packages; @tailwindcss/vite added to landing devDependencies.
Landing Component Styling
landing/src/components/ArticleCard.astro, landing/src/layouts/BlogPost.astro, landing/src/pages/pricing.astro
Minor Tailwind class updates: rounded→rounded-sm, max-w-screen-md→max-w-(--breakpoint-md), lg:flex-shrink-0→lg:shrink-0.
Landing CSS Modernization
landing/src/styles/styles.css
Tailwind reset replaced with @import directive, typography plugin enabled, and comprehensive @theme block introducing CSS variables for shadows, colors, fonts, text sizes, containers, and spacing.
Workspace Configuration
pnpm-workspace.yaml
Added "cypress" to onlyBuiltDependencies list.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Poem

Hop, hop, hooray! The Vites are bright,
Tailwind v4 brings fresh delight,
Config files fade to memory's shore,
@theme variables we now adore! 🐰✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main objective of the pull request—migrating the landing project to Tailwind CSS 4.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@qltysh
Copy link

qltysh bot commented Jan 29, 2026

Qlty

Coverage Impact

This PR will not change total coverage.

🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@landing/src/styles/styles.css`:
- Around line 1-4: Enable Tailwind directive parsing in Biome by setting
css.parser.tailwindDirectives to true in your Biome config so the `@import`,
`@plugin` and `@theme` directives in landing/src/styles/styles.css are parsed; then
fix the undefined token referenced on line 111 by either adding a
--color-gray-200 token to the `@theme` section in styles.css (matching the
referenced name) or change the usage of var(--color-gray-200, currentcolor) to
var(--color-grey, currentcolor) to match the existing theme variable.

Comment on lines +1 to +4
@import 'tailwindcss';

@plugin '@tailwindcss/typography';

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Locate Biome config files
echo "=== Looking for Biome config files ==="
fd -a '^biome\.jsonc?$' 2>/dev/null || echo "No exact Biome config found"
find . -name 'biome.json*' -o -name '.biomerc.json*' 2>/dev/null | head -20

echo ""
echo "=== Checking for tailwindDirectives in any config ==="
rg -n "tailwindDirectives" 2>/dev/null || echo "No tailwindDirectives found"

echo ""
echo "=== Examining the CSS file ==="
wc -l landing/src/styles/styles.css 2>/dev/null || echo "File not found"

Repository: shipshapecode/shepherd

Length of output: 296


🏁 Script executed:

#!/bin/bash
# Read the CSS file to see the full context
echo "=== First 20 lines of CSS file ==="
head -20 landing/src/styles/styles.css

echo ""
echo "=== Checking for --color-gray-200 definition ==="
grep -n "color-gray-200" landing/src/styles/styles.css || echo "Not found in grep"

echo ""
echo "=== Checking `@theme` section ==="
sed -n '5,113p' landing/src/styles/styles.css | head -50

Repository: shipshapecode/shepherd

Length of output: 1900


🏁 Script executed:

#!/bin/bash
# Check the actual Biome configuration
echo "=== Biome config content ==="
cat ./biome.json 2>/dev/null || echo "biome.json not found in root"

echo ""
echo "=== Context around line 111 in CSS file ==="
sed -n '105,120p' landing/src/styles/styles.css

echo ""
echo "=== All color-gray references in CSS ==="
grep -n "color-gray" landing/src/styles/styles.css

Repository: shipshapecode/shepherd

Length of output: 2257


🏁 Script executed:

#!/bin/bash
# Check for any gray or grey color definitions
echo "=== All color definitions in `@theme` ==="
grep -n "^\s*--color-" landing/src/styles/styles.css | head -30

Repository: shipshapecode/shepherd

Length of output: 447


🌐 Web query:

Biome CSS linter tailwindDirectives support version 2.3

💡 Result:

Biome v2.3.x added opt-in support for parsing Tailwind-specific CSS directives/functions via css.parser.tailwindDirectives (intended for Tailwind v4 syntax such as @theme, @utility, @apply, etc.). This enables Biome to parse/format (and therefore lint without parse errors) Tailwind-directive CSS when the option is turned on. [1][2][3]

Enable in biome.json:

{
  "css": {
    "parser": {
      "tailwindDirectives": true
    }
  }
}

[2][4]

Or via CLI (added in 2.3.0):

biome lint --css-parse-tailwind-directives=true file.css

[1]

Note: the option is disabled by default. [4]


🏁 Script executed:

#!/bin/bash
# Check if there are any error logs or build errors related to this CSS file
echo "=== Check package.json for Biome/build scripts ==="
grep -A 5 -B 5 "biome\|css\|lint" package.json 2>/dev/null | head -30

echo ""
echo "=== Check for any existing linting issues or error reports ==="
find . -name "*.md" -type f | xargs grep -l "biome\|parse" 2>/dev/null | head -5

Repository: shipshapecode/shepherd

Length of output: 1319


🏁 Script executed:

#!/bin/bash
# Look for Tailwind config and see if there's documentation about CSS parsing
echo "=== Look for tailwind config ==="
fd -a '^tailwind\.' . 2>/dev/null

echo ""
echo "=== Check full color theme definitions to understand the issue ==="
sed -n '5,120p' landing/src/styles/styles.css | grep -A 2 -B 2 "color-"

Repository: shipshapecode/shepherd

Length of output: 672


Enable Tailwind v4 directive parsing in Biome CSS configuration.

The @import, @plugin, and @theme directives in this file require css.parser.tailwindDirectives to be enabled in biome.json. Without it, Biome's CSS linter will fail to parse the file.

Additionally, line 111 references var(--color-gray-200, currentcolor) but --color-gray-200 is not defined in the @theme section (which uses --color-grey instead). Either add the missing token or correct the variable name.

Suggested Biome config change
{
  "css": {
    "parser": {
      "tailwindDirectives": true
    }
  }
}
🧰 Tools
🪛 Biome (2.3.13)

[error] 3-3: Tailwind-specific syntax is disabled.

Enable tailwindDirectives in the css parser options, or remove this if you are not using Tailwind CSS.

(parse)

🤖 Prompt for AI Agents
In `@landing/src/styles/styles.css` around lines 1 - 4, Enable Tailwind directive
parsing in Biome by setting css.parser.tailwindDirectives to true in your Biome
config so the `@import`, `@plugin` and `@theme` directives in
landing/src/styles/styles.css are parsed; then fix the undefined token
referenced on line 111 by either adding a --color-gray-200 token to the `@theme`
section in styles.css (matching the referenced name) or change the usage of
var(--color-gray-200, currentcolor) to var(--color-grey, currentcolor) to match
the existing theme variable.

@RobbieTheWagner RobbieTheWagner merged commit 4c7a49d into main Jan 29, 2026
7 checks passed
@RobbieTheWagner RobbieTheWagner deleted the tailwind-4 branch January 29, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants