// 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