본문으로 건너뛰기
cccskills
무료GitHub에 공개

designer-skills

Designer subsystem patterns for LlamaFarm. Covers React 18, TanStack Query, TailwindCSS, and Radix UI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(5)

  • SKILL.md4.9 KB
  • performance.md11.7 KB
  • radix.md12.7 KB
  • tailwind.md8.8 KB
  • tanstack-query.md9.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Designer Skills for LlamaFarm

Framework-specific patterns and checklists for the Designer subsystem (React 18 + TanStack Query + TailwindCSS + Radix UI).

Overview

The Designer is a browser-based project workbench for building AI applications. It provides config editing, chat testing, dataset management, RAG configuration, and model selection.

Tech Stack

TechnologyVersionPurpose
React18.2UI framework with StrictMode
TypeScript5.2+Type safety
TanStack Queryv5Server state management
TailwindCSS3.3Utility-first CSS
Radix UI1.xAccessible component primitives
Vite6.xBuild tooling and dev server
React Routerv7Client-side routing
Vitest1.xTesting framework
axios1.xHTTP client
framer-motion12.xAnimations

Directory Structure

designer/src/
  api/          # API service modules (axios-based)
  assets/       # Static assets and icons
  components/   # Feature-organized React components
    ui/         # Radix-based primitive components
  contexts/     # React Context providers
  hooks/        # Custom hooks (TanStack Query wrappers)
  lib/          # Utilities (cn, etc.)
  types/        # TypeScript type definitions
  utils/        # Helper functions
  test/         # Test utilities, factories, mocks

Prerequisites: Shared Skills

Before applying Designer-specific patterns, ensure compliance with:

Framework-Specific Guides

GuideDescription
tanstack-query.mdQuery/Mutation patterns, caching, invalidation
tailwind.mdTailwindCSS patterns, theming, responsive design
radix.mdRadix UI component patterns, accessibility
performance.mdFrontend optimizations, bundle size, lazy loading

Key Patterns

API Client Configuration

// Centralized client with interceptors
export const apiClient = axios.create({
  baseURL: API_BASE_URL,
  headers: { 'Content-Type': 'application/json' },
  timeout: 60000,
})

// Error handling interceptor
apiClient.interceptors.response.use(
  response => response,
  (error: AxiosError) => {
    if (error.response?.status === 422) {
      throw new ValidationError('Validation error', error.response.data)
    }
    throw new NetworkError('Request failed', error)
  }
)

Query Client Configuration

const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      staleTime: 60_000,
      gcTime: 5 * 60_000,
      retry: 2,
      retryDelay: attemptIndex => Math.min(1000 * 2 ** attemptIndex, 30_000),
      refetchOnWindowFocus: false,
    },
    mutations: { retry: 1 },
  },
})

Class Merging Utility

// lib/utils.ts - Always use cn() for Tailwind classes
import { clsx, type ClassValue } from 'clsx'
import { twMerge } from 'tailwind-merge'

export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs))
}

Theme Provider Pattern

const ThemeContext = createContext<ThemeContextType | undefined>(undefined)

export function useTheme() {
  const context = useContext(ThemeContext)
  if (!context) throw new Error('useTheme must be used within ThemeProvider')
  return context
}

// Apply via Tailwind dark mode class strategy
useEffect(() => {
  document.documentElement.classList.toggle('dark', theme === 'dark')
}, [theme])

Component Conventions

Feature Components

  • Located in components/{Feature}/ directories
  • One component per file, named after the component
  • Co-located with feature-specific types and utilities

UI Primitives

  • Located in components/ui/
  • Wrap Radix UI primitives with Tailwind styling
  • Use forwardRef for ref forwarding
  • Set displayName for DevTools

Icons

  • Located in assets/icons/
  • Functional components accepting SVG props
  • Use lucide-react for standard icons

Testing

// Use MSW for API mocking
import { server } from '@/test/mocks/server'
import { renderWithProviders } from '@/test/utils'

beforeAll(() => server.listen())
afterEach(() => server.resetHandlers())
afterAll(() => server.close())

test('renders with query data', async () => {
  renderWithProviders(<MyComponent />)
  await screen.findByText('Expected text')
})

Checklist Summary

CategoryCriticalHighMediumLow
TanStack Query3432
TailwindCSS2342
Radix UI3321
Performance2432

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8362026년 6월 10일 업데이트

Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues. Auto-detects domain (frontend/backend) from file paths.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8362026년 6월 10일 업데이트

Commit changes, push to GitHub, and open a PR. Includes quality checks (security, patterns, simplification). Use --quick to skip checks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8362026년 6월 10일 업데이트

Best practices for the Common utilities package in LlamaFarm. Covers HuggingFace Hub integration, GGUF model management, and shared utilities.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8362026년 6월 10일 업데이트

Configuration module patterns for LlamaFarm. Covers Pydantic v2 models, JSONSchema generation, YAML processing, and validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8362026년 6월 10일 업데이트

Electron patterns for LlamaFarm Desktop. Covers main/renderer processes, IPC, security, and packaging.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8362026년 6월 10일 업데이트

llama-farm의 스킬 모두 보기

이 스킬의 문제 신고