Tailwind Alchemist: 코드베이스에서 모든 Tailwind 색상 찾기

발행: (2026년 2월 5일 오전 12:29 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

하드코딩된 Tailwind 색상이 문제인 이유

Tailwind를 사용할 때 색상(또는 배경색)을 요소에 직접 지정하는 경우가 많습니다. 예: bg-blue-500. 이렇게 하면 컴포넌트가 어떻게 보이는지 바로 확인할 수 있지만, 나중에 테마를 변경해야 할 때는 모든 하드코딩된 색상을 찾아 교체해야 하므로 번거롭습니다.

디자인 시스템과 의미론적 네이밍(예: bg-primary)이 이를 해결해 주지만, 많은 프로젝트가 원시 Tailwind 색상 이름이 많이 포함된 템플릿으로 시작합니다. 이러한 색상을 의미론적 이름으로 수동 변환하는 작업은 오류가 발생하기 쉽고 시간이 많이 소요됩니다.

Tailwind Alchemist

Tailwind Alchemist는 TypeScript로 작성된 작은 CLI 도구로, 코드베이스를 스캔하여 아직 사용 중인 기본 Tailwind 색상 이름을 모두 나열합니다. 하드코딩된 색상이 어디에 있는지 파악하고 의미론적 이름(예: DaisyUI)으로 교체할 수 있도록 도와줍니다.

설치 및 기본 사용법

npx tw-alchemist scan -p 'resources/js/**'

기본 출력

Found 28 Tailwind colors:

amber-400
black
blue-100
blue-200
blue-700
blue-800
green-500
green-600
neutral-100
neutral-200
neutral-300
neutral-400
neutral-500
neutral-600
neutral-700
neutral-800
neutral-900
orange-300
red-100
red-200
red-50
red-500
red-600
red-700
violet-500
white
yellow-500
zinc-900

더 자세한 출력

각 색상이 포함된 파일 표시 (-v 플래그)

npx tw-alchemist scan -p 'resources/js/**' -v
Found 28 Tailwind colors:

Color: violet-500 (found in 3 files)
  - resources/js/components/AppHeader.vue
  - resources/js/components/AppLogo.vue
  - resources/js/components/MobileHeader.vue

Color: neutral-500 (found in 5 files)
  - resources/js/components/AppHeader.vue
  - resources/js/components/AppearanceTabs.vue
  - resources/js/components/TextLink.vue
  - resources/js/pages/auth/TwoFactorChallenge.vue
  - resources/js/pages/settings/Profile.vue

...

정확한 라인과 유틸리티 표시 (-vv 플래그)

npx tw-alchemist scan -p 'resources/js/**' -vv
Found 28 Tailwind colors:

Color: violet-500 (3 occurrences)
  - resources/js/components/AppHeader.vue
    - Line 106: text-violet-500
  - resources/js/components/AppLogo.vue
    - Line 10: text-violet-500
  - resources/js/components/MobileHeader.vue
    - Line 28: text-violet-500

Color: neutral-500 (6 occurrences)
  - resources/js/components/AppHeader.vue
    - Line 233: text-neutral-500
  - resources/js/components/AppearanceTabs.vue
    - Line 33: text-neutral-500
  - resources/js/components/TextLink.vue
    - Line 21: dark:decoration-neutral-500
  - resources/js/pages/auth/TwoFactorChallenge.vue
    - Line 100: dark:decoration-neutral-500
    - Line 132: dark:decoration-neutral-500
  - resources/js/pages/settings/Profile.vue
    - Line 244: dark:decoration-neutral-500

...

제한 사항

  • 현재 Tailwind v4만 지원합니다.
  • Context7 플랫폼에서 동작하므로, 리팩터링 시 적절한 MPC와 함께 LLM에서 호출할 수 있습니다.

참여하기

Tailwind Alchemist가 유용하다고 생각되면 GitHub 저장소에 ⭐️ 를 눌러 주세요:
⭐️ https://github.com/your‑username/tw‑alchemist

이슈를 열거나 풀 리퀘스트를 제출하여 Tailwind v5 지원과 같은 기능을 추가해 주세요.

Back to Blog

관련 글

더 보기 »

제목 없음

HTML html 생산 등록 PCP - 파리 도매 / CSS는 아래 CSS 섹션에 포함되어 있습니다 / 배치 저장 📥 Excel .csv로 내보내기 전체 데이터베이스 정리 📋...

CSS 선택자 101: 요소를 정밀하게 타깃팅

소개: 선택자가 없는 CSS는 단지 잡음일 뿐이다 HTML은 웹페이지에 구조를 제공합니다. 하지만 여기 초보자들이 일찍은 충분히 깨닫지 못하는 불편한 진실이 있습니다...

새해 복 많이 받으세요!

소개 이 작품은 Google AI가 주최한 New Year, New You Portfolio Challenge에 제출하는 것입니다. 안녕하세요, 저는 몬트리올에 거주하는 software developer 현우입니다.