// Generates detailed, step-by-step implementation plans for React/Next.js components based on component lists from plan-based-components and optional UI design images. Creates actionable task lists with file paths, dependencies, implementation details, and verification checklists. Use when users want specific implementation guidance for building components.
| name | detailed-implementation-plan |
| description | Generates detailed, step-by-step implementation plans for React/Next.js components based on component lists from plan-based-components and optional UI design images. Creates actionable task lists with file paths, dependencies, implementation details, and verification checklists. Use when users want specific implementation guidance for building components. |
Transform component lists into actionable, step-by-step implementation plans with specific file paths, code structure, dependencies, and verification steps.
This skill processes ONE category at a time:
- [ ] to - [x]) all components in the processed categoryCRITICAL: After generating an implementation plan for a category, you MUST update the component list file to mark those components as planned by changing their checkboxes from - [ ] to - [x].
Generate implementation plans in this exact format:
# [Category Name] 구현 계획
## 개요
[Brief overview of what will be implemented]
- [Key point 1]
- [Key point 2]
---
## Task List
### 0. [Setup Task if needed]
- [ ] Task item 1
- [ ] Task item 2
### 1. [Component 1 Name]
**상태:** - [ ] 미완료 / - [x] 완료
**파일:** `app/path/to/Component.tsx`
**요구사항:**
- [ ] Requirement 1
- [ ] Requirement 2
- [ ] UI requirement (if image provided)
**의존성:**
- dependency 1
- dependency 2
**기본 구조:**
\`\`\`typescript
// Code structure template
\`\`\`
**구현 세부사항:**
- Detail 1
- Detail 2
**완료 조건:**
- [ ] 모든 요구사항 구현 완료
- [ ] 테스트 통과
---
### 2. [Component 2 Name]
**상태:** - [ ] 미완료 / - [x] 완료
**파일:** `app/path/to/Component2.tsx`
...
---
## 구현 순서
1. [Step 1]
2. [Step 2]
3. [Step 3]
---
## 검증 체크리스트
### [Component 1]
- [ ] Verification item 1
- [ ] Verification item 2
### [Component 2]
- [ ] Verification item 1
---
## 참고사항
- Note 1
- Note 2
- [x] in the original component list markdown fileapp/
components/
auth/ - Authentication components
admin/ - Admin-specific components
learning/ - Learning-related components
ui/ - shadcn/ui components
layout/ - Layout components
actions/ - Server actions
contexts/ - React contexts/providers
lib/ - Utilities and helpers
(routes)/ - Page routes
Client Components ("use client"):
Server Components (default):
For each component, provide:
app/components/[category]/ComponentName.tsx
List required packages:
Provide skeleton/template:
"use client" // if needed
import statements
type definitions
component function
return JSX
When image is provided:
List required components to install:
npx shadcn@latest add button input card form
List with installation commands:
npm install react-hook-form zod @hookform/resolvers
Infrastructure First
Base Components
Feature Components
Integration
- [ ] Install dependencies (react-hook-form, zod)
- [ ] Create Zod validation schema
- [ ] Implement form with react-hook-form
- [ ] Add error handling and display
- [ ] Add loading states
- [ ] Connect to server action/API
- [ ] Test validation
- [ ] Test submission
- [ ] Define TypeScript interface
- [ ] Implement static UI
- [ ] Add conditional rendering
- [ ] Add loading skeleton
- [ ] Add empty state
- [ ] Add error state
- [ ] Test with mock data
- [ ] Test responsive design
- [ ] Define context interface
- [ ] Implement context provider
- [ ] Add state management logic
- [ ] Add mutation functions
- [ ] Export custom hook
- [ ] Wrap app with provider
- [ ] Test context consumption
# 인증 (Authentication) 구현 계획
## 개요
Supabase 기반 이메일/비밀번호 인증 시스템 구현
- 로그인 폼 (이메일, 비밀번호)
- 인증 상태 관리 Context
- Server Actions로 인증 처리
---
## Task List
### 0. Supabase 설정
- [ ] Supabase 프로젝트 생성
- [ ] 환경 변수 추가 (.env.local)
- [ ] Supabase 클라이언트 설정
### 1. LoginForm 컴포넌트
**상태:** - [ ] 미완료
**파일:** `app/components/auth/LoginForm.tsx`
**요구사항:**
- [ ] Client Component ("use client")
- [ ] shadcn/ui Form, Input, Button 사용
- [ ] react-hook-form으로 폼 관리
- [ ] Zod 유효성 검증
- [ ] 이메일 필드 (이메일 아이콘)
- [ ] 비밀번호 필드 (잠금 아이콘, 토글 표시)
- [ ] 로그인 버튼 (파란색, 전체 너비)
- [ ] "Forgot password?" 링크
- [ ] "Sign up" 버튼 (outlined 스타일)
**의존성:**
- shadcn/ui: button, input, card, form, label
- react-hook-form
- zod
- @hookform/resolvers
**기본 구조:**
\`\`\`typescript
"use client"
import { useForm } from "react-hook-form"
import { zodResolver } from "@hookform/resolvers/zod"
import * as z from "zod"
const loginSchema = z.object({
email: z.string().email(),
password: z.string().min(6)
})
export function LoginForm() {
const form = useForm<z.infer<typeof loginSchema>>({
resolver: zodResolver(loginSchema)
})
async function onSubmit(data: z.infer<typeof loginSchema>) {
// Call server action
}
return (
<Card>
<Form {...form}>
{/* Form fields */}
</Form>
</Card>
)
}
\`\`\`
**완료 조건:**
- [ ] 모든 요구사항 구현 완료
- [ ] 유효성 검증 테스트 통과
- [ ] 실제 로그인 동작 확인
---
### 2. AuthProvider 컴포넌트
**상태:** - [ ] 미완료
**파일:** `app/contexts/AuthContext.tsx`
**요구사항:**
- [ ] Context로 인증 상태 관리
- [ ] 로그인/로그아웃 함수 제공
- [ ] 사용자 정보 저장
**완료 조건:**
- [ ] Context 생성 및 Provider 구현 완료
- [ ] 앱 전체에서 인증 상태 접근 가능
---
## 구현 순서
1. Supabase 프로젝트 설정 및 환경 변수
2. shadcn/ui 컴포넌트 설치
3. 로그인 서버 액션 생성
4. LoginForm 컴포넌트 구현
5. AuthProvider 구현
6. 로그인 페이지 생성
---
## 검증 체크리스트
### LoginForm
- [ ] 이메일 유효성 검증 작동
- [ ] 비밀번호 유효성 검증 작동
- [ ] 로그인 버튼 클릭 시 서버 액션 호출
- [ ] 에러 메시지 표시
- [ ] 로딩 상태 표시
### AuthProvider
- [ ] 인증 상태 전역 관리
- [ ] 로그인/로그아웃 기능 동작
- [ ] 페이지 새로고침 시 상태 유지
Support incremental development by:
After generating an implementation plan, you MUST update the component list file:
- [ ] to - [x] for each planned componentBefore (Component List):
1. 인증 (Authentication)
- [ ] LoginForm - 로그인 폼
- [ ] AuthProvider - 인증 상태 관리 컨텍스트
2. 어드민 기능
- [ ] CourseCard - 코스 카드
After processing "1. 인증" category:
1. 인증 (Authentication)
- [x] LoginForm - 로그인 폼
- [x] AuthProvider - 인증 상태 관리 컨텍스트
2. 어드민 기능
- [ ] CourseCard - 코스 카드
When the user provides a component list file path, read it, generate the plan for the selected category, then write the updated component list with checked boxes for processed components.
This skill should be used multiple times for different categories:
- [x] in component list- [x] in component list- [x] in component listEach plan should be self-contained and actionable independently.
Workflow Summary:
- [ ] to - [x] for processed components