rubyforgood / rubyforgood/awbw

Enforce Tailwind conventions in CI (class order + no arbitrary text sizes)

Open
#2,233 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement github_actions
Dominant language
Ruby
Stars
15
Forks
26
Avg merge
12h 42m
Merged PRs (30d)
242

Description

PR #2175 added the tooling to keep Tailwind tidy but nothing enforces it, so main keeps reintroducing arbitrary values (it happened on every rebase of that PR). Convergence is currently manual.

Proposal

Add a CI check (GitHub Actions) that fails when Tailwind conventions drift:

  1. Class order — run ai/tw-sort --check --all (rustywind --check-formatted); non-zero exit if any file is unsorted.
  2. No arbitrary font sizes — grep-gate for text-[…px/rem] in app/views / app/frontend / app/helpers; fail with a pointer to the text-2xs/3xs/4xs scale.

Notes

  • The repo is not yet fully sorted (only touched files converge in #2175), so --check --all would fail today. Options: run the sorter repo-wide first (one big mechanical PR), or scope the check to changed files only until the tree is clean.
  • Keep it fast — rustywind is a native binary; the grep is trivial.

Context: split out of #2175.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review PR #2175 and the existing ai/tw-sort tooling first; inspect how GitHub Actions currently runs checks. Decide whether the check targets all files or changed files while the tree is unsorted, then verify the workflow rejects unsorted Tailwind classes and arbitrary text sizes under app/views, app/frontend, and app/helpers.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, tailwindcss
Domain
ci-cd, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.