Back to Skills

code-templates

verified

실제 코드 템플릿 - Supabase 인증, UI 컴포넌트, 레이아웃

View on GitHub

Marketplace

kreatsaas-marketplace

johunsang/kreatsaas

Plugin

kreatsaas

Development

Repository

johunsang/kreatsaas
1stars

skills/code-templates/SKILL.md

Last Verified

January 16, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/johunsang/kreatsaas/blob/main/skills/code-templates/SKILL.md -a claude-code --skill code-templates

Installation paths:

Claude
.claude/skills/code-templates/
Powered by add-skill CLI

Instructions

# 코드 템플릿

> Claude Code가 프로젝트 생성 시 자동으로 생성하는 실제 코드입니다.

---

## 0. 환경 변수 검증 및 에러 처리

### lib/env.ts
```typescript
// 환경 변수 검증 유틸리티

type EnvConfig = {
  NEXT_PUBLIC_SUPABASE_URL: string
  NEXT_PUBLIC_SUPABASE_ANON_KEY: string
  NEXT_PUBLIC_APP_URL: string
  // 선택적
  STRIPE_SECRET_KEY?: string
  NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY?: string
  OPENAI_API_KEY?: string
}

export function validateEnv(): { valid: boolean; errors: string[] } {
  const errors: string[] = []

  // 필수 환경 변수 체크
  if (!process.env.NEXT_PUBLIC_SUPABASE_URL) {
    errors.push('NEXT_PUBLIC_SUPABASE_URL이 설정되지 않았습니다.')
  } else if (!process.env.NEXT_PUBLIC_SUPABASE_URL.includes('supabase.co')) {
    errors.push('NEXT_PUBLIC_SUPABASE_URL 형식이 올바르지 않습니다. (예: https://xxxxx.supabase.co)')
  }

  if (!process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY) {
    errors.push('NEXT_PUBLIC_SUPABASE_ANON_KEY가 설정되지 않았습니다.')
  } else if (process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY.length < 100) {
    errors.push('NEXT_PUBLIC_SUPABASE_ANON_KEY가 너무 짧습니다. 올바른 키인지 확인하세요.')
  }

  if (!process.env.NEXT_PUBLIC_APP_URL) {
    errors.push('NEXT_PUBLIC_APP_URL이 설정되지 않았습니다. (예: http://localhost:3000)')
  }

  return {
    valid: errors.length === 0,
    errors
  }
}

export function getEnvGuide(): string {
  return `
📋 환경 변수 설정 가이드

1️⃣ .env.local 파일 생성
   프로젝트 루트에 .env.local 파일을 만드세요.

2️⃣ Supabase 키 얻기
   1. https://supabase.com/dashboard 접속
   2. 프로젝트 선택 (없으면 "New Project" 클릭)
   3. 왼쪽 메뉴 → Settings → API
   4. 복사할 값:
      - Project URL → NEXT_PUBLIC_SUPABASE_URL
      - anon public → NEXT_PUBLIC_SUPABASE_ANON_KEY

3️⃣ .env.local 파일 내용
   NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
   NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
   NEXT_PUBLIC_APP_URL=http://localhost:3000

4️⃣ 서버 재시작
   터미널에서 Ctrl+C 누르고 다시 npm run dev

⚠️ 주의사항
   - .env.local은 .gitignore에 포함되어야 합니다
   - 키를 공개 저장소에 올리지 마세요
   - Vercel 배포 시 Environment Variables에 추가하세요
  `
}
```

### app/api/health/route.ts
```typescript
// 환경 변수 및 Sup

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
38382 chars