agentsclimarketplace

Setup all

Skill rungchan2/frontend-skills/skills/project-packages/skills/setup-all

새 프론트엔드 프로젝트 초기 세팅 시 표준 패키지 설치 + 중앙 setup 파일들을 한 번에 적용하는 마스터 스킬. tailwind cn 유틸, dayjs KST, (추후) TanStack Query, Zustand, Supabase 클라이언트, Server Action/Form 패턴까지 묶어 처리. "프로젝트 초기 세팅", "표준 setup 박아줘", "lib 폴더 표준화", "패키지 표준 적용", "새 프로젝트 부트스트랩" 같은 요청에 트리거. shadcn init 직후 또는 새 Next.js 프로젝트 생성 직후 사용.From its SKILL.md

Install
npx -y skills add rungchan2/frontend-skills --skill setup-all

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.5 KB, as published. Nobody here has run it

Project Packages — 마스터 세팅

새 프로젝트(또는 표준화 안 된 기존 프로젝트)에 본인의 표준 중앙 setup 일괄 적용.

적용 대상 패턴

#스킬설치/생성
1tailwind-cnclsx, tailwind-merge + lib/utils.ts
2dayjs-kstdayjs + lib/dayjs.ts (KST + 한국어 locale + 헬퍼 5종)
3supabase-clients@supabase/ssr + client/server/service-role/middleware 4종
4tanstack-query@tanstack/react-query + query-defaults / query-keys / QueryProvider
5zustand-storezustand + State/Actions 패턴 + user-store
6form-validationreact-hook-form + zod + shadcn form 컴포넌트 + 표준 예시 폼
7package-map(코드 생성 없음) 기능별 패키지 룩업 표만 참고

package-map은 lookup 스킬이라 setup-all에서 자동 실행하지 않는다. 사용자가 패키지 결정 시점에 따로 호출.

워크플로우

1. 사전 점검

다음을 확인하고 사용자에게 보고:

# 프로젝트 루트 / 구조 / 패키지 매니저 식별
ls -la
cat package.json | head -30
ls components.json 2>/dev/null && echo "shadcn already initialized" || echo "shadcn NOT initialized"

확인 항목:

  • src/ 구조 vs 루트 직접
  • 패키지 매니저 (pnpm / npm / yarn / bun)
  • shadcn/ui 초기화 여부 (components.json 존재)
  • 기존 lib/utils.ts, lib/dayjs.ts 유무

2. 사용자에게 적용 범위 확인

"다음 항목을 적용합니다. 빼고 싶은 게 있으면 말씀해주세요:

  • tailwind-cn (lib/utils.ts)
  • dayjs-kst (lib/dayjs.ts)
  • supabase-clients (lib/supabase/* + middleware.ts)
  • tanstack-query (lib/query-* + providers/query-provider.tsx)
  • zustand-store (stores/user-store.ts)
  • form-validation (shadcn form + 예시 폼)"

기본은 전부 적용. 사용자가 일부 제외하면 그것만 건너뜀. 의존 관계:

  • zustand-store의 user-store는 supabase-clients의 client를 import → 함께 적용 권장
  • form-validation은 shadcn 초기화 필요 → components.json 없으면 먼저 npx shadcn@latest init 실행

3. 순서대로 하위 스킬 실행

각 하위 스킬의 SKILL.md를 직접 따라 실행한다. 하위 스킬은 다음 위치에 있다:

skills/project-packages/skills/
├── tailwind-cn/SKILL.md
├── dayjs-kst/SKILL.md
├── supabase-clients/SKILL.md
├── tanstack-query/SKILL.md
├── zustand-store/SKILL.md
└── form-validation/SKILL.md

권장 실행 순서: tailwind-cn → dayjs-kst → supabase-clients → tanstack-query → zustand-store → form-validation. (인프라 의존 관계 순서)

각 스킬은 자체 워크플로우와 assets/ 안의 표준 파일을 갖고 있으므로, 이 마스터 스킬에서 내용을 중복 기술하지 않는다. 위치 결정/패키지 설치/파일 복사 단계는 각 SKILL.md를 그대로 따른다.

4. 통합 산출물 확인

모든 하위 스킬 적용 후:

# 생성된 파일 확인
ls -la lib/utils.ts lib/dayjs.ts 2>/dev/null || ls -la src/lib/utils.ts src/lib/dayjs.ts 2>/dev/null

# 설치된 패키지 확인
cat package.json | grep -E '"(clsx|tailwind-merge|dayjs)"'

5. CLAUDE.md 통합 블록 (선택)

사용자가 원하면 적용한 모든 스킬의 사용 규칙을 CLAUDE.md의 단일 "## 패키지 사용 규칙" 섹션으로 묶어 추가한다. 각 스킬의 규칙을 따로따로 박지 말고 한 섹션으로 정리:

## 패키지 사용 규칙

### 스타일 (tailwind)
- className 결합은 `cn()` 사용. 직접 문자열 결합 금지.
- 통화 표시는 `formatCurrency()` 사용.

### 날짜 (dayjs)
- 모든 dayjs 호출은 `@/lib/dayjs`에서 import. 직접 `from "dayjs"` 금지.
- date-only 문자열은 `parseDateOnly()` 사용. `new Date()` 직접 호출 금지.

### Supabase
- 'use client': `@/lib/supabase/client`
- Server Component / Action / Route Handler: `@/lib/supabase/server` (await)
- 관리자/cron/webhook: `createServiceRoleClient()` (RLS 우회. 일반 흐름 금지)

### React Query
- queryKey는 `@/lib/query-keys`만 사용. 인라인 배열 금지.
- staleTime/gcTime은 컴포넌트에서 오버라이드 금지. SHORT_CACHE_CONFIG / REALTIME_CONFIG 사용.

### Zustand
- store는 State / Actions 인터페이스 분리, initialState 상수, reset() 포함.
- 컴포넌트에서는 selector 사용. store 전체 구독 금지.

### 폼
- react-hook-form + zod + shadcn Form 조합 강제. useState 기반 폼 금지.
- 타입은 `z.infer`로 도출. 별도 interface 금지.
- 서버 검증 에러는 `form.setError`로 매핑.

비-목표

  • 이 스킬은 개별 패턴 세부 결정을 하지 않는다. 그건 각 하위 스킬의 책임.
  • 이 스킬은 shadcn 초기화(shadcn init)나 Next.js 프로젝트 생성을 대신 하지 않는다. 이미 프로젝트가 있다는 가정.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.