만들기 전에 정하는 설계 과정

디자인만 있는 상태에서 설계 문서부터 만듭니다

AI 코딩 도구는 무엇을 완성해야 하는지 정하지 않으면 보기 좋은 화면만 만들고 기능과 상태를 빠뜨립니다. 디자인을 코드로 옮기기 전에 무엇을·어디까지 만들지를 문서로 먼저 정합니다.

대상: 바이브 코딩 입문자준비물: 디자인 시안결과물: 설계 문서 세트
설계가 필요한 이유부터 보기

먼저 이해하기

설계 없이 바로 만들면 무엇이 무너지나요

설계는 디자인을 그리는 일이 아니라, 만들 결과의 기준을 문장으로 정하는 일입니다. 기준이 없으면 AI가 값을 추정하고, 사람은 매번 같은 지시를 반복하게 됩니다.

보기 좋은 화면만 나옵니다

원인무엇을 완성해야 하는지 정하지 않아 AI가 겉모습만 만듭니다.

해결PRD에 핵심 기능과 완료 조건을 먼저 적습니다.

로딩·빈 화면·오류가 빠집니다

원인화면의 상태를 정리하지 않아 기본 화면만 구현됩니다.

해결디자인 분석표에 화면별 상태를 먼저 정리합니다.

디자인과 다른 색·간격이 나옵니다

원인디자인 토큰을 확인하지 않아 AI가 값을 추정합니다.

해결분석표에 실제 색·폰트·간격·라운드를 적어 둡니다.

매번 같은 지시를 반복합니다

원인항상 지킬 규칙을 파일로 남기지 않았습니다.

해결프로젝트 규칙 문서에 공통 규칙을 한 번만 적습니다.

다음 작업에서 맥락이 사라집니다

원인완료·진행·문제를 기록하지 않아 이어서 작업하기 어렵습니다.

해결PROJECT_CONTEXT에 현재 상태를 남깁니다.

설계는 이 순서로 진행합니다

  1. 1
    디자인을 먼저 읽습니다

    Figma나 이미지에서 화면·공통 영역·색·폰트·간격·상태를 눈으로 확인합니다. 아직 코드는 만들지 않습니다.

  2. 2
    디자인 분석표를 채웁니다

    확인한 사실만 적고, 확인하지 못한 내용은 추정하지 말고 따로 표시합니다.

  3. 3
    PRD로 완성 기준을 정합니다

    핵심 기능, 화면 목록, 상태, 제외 범위, 완료 조건을 문장으로 적습니다.

  4. 4
    규칙 문서로 항상 지킬 것을 고정합니다

    사용하는 도구에 맞는 규칙 파일(AGENTS·CLAUDE·project_rules)에 공통 규칙을 한 번만 적습니다.

  5. 5
    필요하면 SKILL·CONTEXT를 더합니다

    같은 작업을 반복하면 SKILL을, 여러 번 이어서 작업하면 PROJECT_CONTEXT를 만듭니다.

이 교안의 문서는 어디서 쓰나요

여기서 만든 설계 문서는 다음 과정인 도구 사용 교안과 통합 실전에서 그대로 AI에게 전달합니다.

1단계

디자인을 확인된 사실로 정리합니다

디자인 분석표는 화면, 공통 영역, 색·폰트·간격 같은 토큰, 화면 상태를 눈으로 확인해 적는 문서입니다. 확인하지 못한 내용은 추정하지 말고 아래쪽에 따로 남깁니다.

디자인 분석표design-analysis.md
# [프로젝트명] 디자인 분석표

## 확인한 자료

- 디자인 원본: [Figma 링크 또는 이미지 파일 경로]
- 확인한 화면: [홈, 상세, 검색 등]
- 실제 에셋 위치: [assets/images 등]

## 화면 목록

| 화면 | 목적 | 주요 행동 | 필요한 상태 |
|---|---|---|---|
| [화면명] | [사용자가 해결할 일] | [클릭·입력·이동] | [기본·로딩·빈 상태·오류] |

## 공통 영역

- 헤더: [로고, 메뉴, 현재 메뉴 표시 방식]
- 푸터: [링크, 저작권, 고정 정보]
- 공통 버튼: [기본, hover, focus, disabled]
- 공통 카드: [구조와 반복 규칙]

## 디자인 토큰

- 배경색: [확인한 색상값 또는 변수명]
- 본문색: [확인한 색상값 또는 변수명]
- 강조색: [확인한 색상값 또는 변수명]
- 제목 폰트: [실제 폰트명과 굵기]
- 본문 폰트: [실제 폰트명과 굵기]
- 기본 간격: [4px, 8px 등 확인한 규칙]
- 라운드: [버튼, 카드, 입력창 값]
- 그림자: [사용 위치와 값]

## 반응형

- 360px: [한 열 배치, 숨김 또는 이동하는 요소]
- 768px: [태블릿 배치]
- 1280px: [데스크톱 최대 폭과 열 구성]

## 인터랙션

- 메뉴: [열기·닫기·현재 위치]
- 버튼: [hover·pressed·disabled]
- 스크롤: [디자인에 실제로 있는 동작만 기록]
- 애니메이션: [대상·시작 조건·종료 상태]

## 에셋

- 로고: [실제 파일 경로]
- 이미지: [실제 파일 경로]
- 아이콘: [실제 파일 또는 사용 중인 아이콘 세트]
- 폰트: [실제 파일 또는 공식 로드 주소]

## 확인된 사실

- [디자인과 저장소에서 직접 확인한 내용]

## 아직 확인하지 못한 내용

- [추정하지 말고 질문하거나 확인해야 할 내용]
추정하지 않습니다

디자인에서 직접 확인하지 못한 색·간격·동작은 임의로 채우지 말고 확인이 필요한 항목으로 남깁니다.

2단계

PRD로 완성 기준을 정합니다

PRD는 무엇을 만들고 어디까지 완성해야 하는지 정하는 문서입니다. 핵심 기능, 화면 목록, 화면 상태, 제외 범위, 완료 조건을 문장으로 적어 AI가 겉모습만 만들지 않게 합니다.

PRD.md제품 요구사항 문서

무엇을 만들고 어디까지 완성해야 하는지 정하는 문서입니다. AI가 보기 좋은 화면만 만들고 실제 기능이나 상태를 빠뜨리지 않게 합니다.

저장 위치: [프로젝트 폴더]/PRD.md

PRD.mdPRD.md
# [프로젝트명] PRD

## 1. 제품 개요

[어떤 사용자를 위해 무엇을 만드는지 한 문장으로 작성합니다.]

## 2. 문제 정의

- [현재 사용자가 겪는 문제]
- [기존 방식이 불편한 이유]

## 3. 목표 사용자

- 주요 사용자: [예: 캠핑 장소를 비교하는 20~40대 사용자]
- 사용 환경: [예: 이동 중 모바일, 집에서 데스크톱]

## 4. 제품 목표

- [완성 후 사용자가 할 수 있어야 하는 일]
- [디자인 시안을 구현할 때 반드시 지킬 결과]

## 5. 제외 범위

- [이번 작업에서 만들지 않을 기능]
- [실제 API, 로그인, 결제처럼 포함하지 않을 범위]

## 6. 디자인 기준

- 제공된 [Figma 링크 또는 디자인 파일]을 시각 기준으로 사용합니다.
- 디자인에 없는 화면, 기능, 이미지, 아이콘을 임의로 추가하지 않습니다.
- 새 에셋을 만들기 전에 기존 assets 폴더와 디자인 원본을 확인합니다.
- 확인된 색상, 폰트, 간격, 라운드, 그림자를 우선 사용합니다.

## 7. 핵심 기능

- [기능 이름]: [사용자가 무엇을 할 수 있는지]
- [기능 이름]: [입력과 결과]

## 8. 화면 목록과 목적

### [화면 이름]

- 목적: [이 화면에서 사용자가 해결할 일]
- 주요 행동: [클릭, 입력, 선택, 이동]
- 필요한 정보: [화면에 보여야 할 데이터]
- 이동 경로: [어디에서 들어오고 어디로 이동하는지]

## 9. 사용자 흐름

1. 사용자가 [첫 행동]을 합니다.
2. 화면이 [변경되는 상태]를 보여줍니다.
3. 사용자가 [다음 행동]을 합니다.
4. [완료 결과]를 확인합니다.

## 10. 화면 상태

- 기본 상태: [처음 보이는 내용]
- 로딩 상태: [기다리는 동안 보이는 내용]
- 빈 상태: [결과가 없을 때 다음 행동 안내]
- 오류 상태: [원인과 해결 행동]
- 비활성 상태: [언제 버튼이나 입력이 비활성화되는지]

## 11. 데이터와 저장

- 데이터 출처: [실제 API, 제공된 JSON, 목업 데이터]
- 브라우저 저장: [localStorage 사용 여부와 key]
- 저장하지 않는 정보: [개인정보 등]

## 12. 개발 조건

- HTML, CSS, JavaScript로 구현합니다.
- React, Vue, TypeScript, Tailwind를 추가하지 않습니다.
- 기존 폴더 구조, 공통 스타일, 컴포넌트 역할을 우선 유지합니다.
- 제공된 에셋을 우선 사용합니다.
- 요청 없이 패키지나 외부 라이브러리를 추가하지 않습니다.

## 13. 명명 규칙

- CSS class와 HTML id는 snake_case를 사용합니다.
- 상태 class는 is_active, is_open, is_selected 형식으로 작성합니다.
- 오류 class는 has_error 형식으로 작성합니다.
- JavaScript 변수와 함수는 camelCase를 사용합니다.
- 불리언은 is, has, can, should로 시작합니다.
- 이벤트 함수는 handleXxx 형식으로 작성합니다.

## 14. 반응형 기준

- 모바일: 360px
- 태블릿: 768px
- 데스크톱: 1280px
- 모든 기준에서 페이지 전체 가로 스크롤이 없어야 합니다.

## 15. 접근성

- 클릭 동작은 button, 페이지 이동은 a 요소를 사용합니다.
- 모든 입력은 label 또는 접근 가능한 이름을 가집니다.
- 키보드 focus-visible 상태가 보여야 합니다.
- 색상만으로 상태를 구분하지 않습니다.
- 의미 있는 이미지는 alt를 가집니다.
- prefers-reduced-motion 설정을 반영합니다.

## 16. 인터랙션 라이브러리

- CSS와 기본 JavaScript로 가능한 동작은 별도 라이브러리 없이 구현합니다.
- GSAP은 디자인에 복잡한 등장·전환 모션이 있을 때만 사용합니다.
- ScrollTrigger는 스크롤 위치와 연결된 모션에만 사용합니다.
- Lenis는 부드러운 스크롤이 제품 요구사항일 때만 사용합니다.
- Swiper는 실제 슬라이더나 갤러리에만 사용합니다.

## 17. 검증 방법

- 디자인 시안과 실제 브라우저 화면을 나란히 비교합니다.
- 360px, 768px, 1280px에서 잘림, 겹침, 가로 스크롤을 확인합니다.
- 모든 버튼, 링크, 입력, 메뉴를 실제로 조작합니다.
- 키보드 Tab 순서와 focus-visible을 확인합니다.
- 콘솔 오류와 임시 console.log를 확인합니다.

## 18. 완료 조건

- 모든 화면과 상태가 PRD 및 디자인 시안과 일치합니다.
- 실제 에셋이 누락되지 않습니다.
- 주요 링크, 버튼, 입력, 인터랙션이 동작합니다.
- 반응형, 접근성, 콘솔 오류 검증을 통과합니다.
- 변경 파일, 구현 내용, 검증 결과, 확인하지 못한 부분이 보고됩니다.
바꿔야 할 부분

대괄호 안의 프로젝트 정보, 화면 이름, 기능, 디자인 링크를 실제 내용으로 바꾸세요.

3단계

도구가 항상 지킬 규칙을 고정합니다

규칙 문서는 매 작업마다 반복하던 지시를 한 번만 적어 두는 파일입니다. 사용하는 도구에 맞는 파일을 만들면 됩니다. 규칙 내용은 세 도구가 거의 같습니다.

AGENTS.mdCodex 프로젝트 공통 규칙

Codex가 이 프로젝트에서 항상 지켜야 할 규칙입니다. 같은 지시를 작업마다 반복하지 않게 합니다.

저장 위치: [프로젝트 폴더]/AGENTS.md

AGENTS.mdAGENTS.md
# [프로젝트명] 작업 규칙

## 작업 전 확인

- PRD.md와 디자인 자료를 먼저 읽습니다.
- package.json, lock 파일, 빌드 설정, 기존 폴더 구조를 확인합니다.
- 기존 공통 스타일, CSS 변수, 컴포넌트, 이미지, 아이콘, 폰트를 확인합니다.
- 확인된 사실과 추정을 구분합니다.

## 변경 원칙

- 사용자가 요청한 범위만 수정합니다.
- 기존 코드와 디자인 규칙을 최대한 유지합니다.
- 관련 없는 리팩터링, 파일명 변경, 기능 재작성을 하지 않습니다.
- 기존에 있는 기능과 공통 코드를 먼저 재사용합니다.
- 존재하지 않는 API, 파일, 경로, 에셋을 만들지 않습니다.
- 요청 없이 라이브러리를 설치하지 않습니다.

## 기술 스택

- HTML
- CSS
- JavaScript
- [프로젝트에서 이미 사용하는 라이브러리]
- React, Vue, TypeScript, Tailwind는 추가하지 않습니다.

## HTML

- 의미에 맞는 header, nav, main, section, article, footer를 사용합니다.
- 동작은 button, 페이지 이동은 a 요소를 사용합니다.
- 모든 입력은 label과 연결합니다.
- 아이콘 대신 이모지를 사용하지 않습니다.

## CSS

- 기존 CSS 변수와 디자인 토큰을 먼저 사용합니다.
- CSS class와 HTML id는 snake_case를 사용합니다.
- 상태 class는 is_active, is_open, is_selected 형식으로 작성합니다.
- 오류 class는 has_error 형식으로 작성합니다.
- 불필요한 !important를 사용하지 않습니다.
- 모바일부터 작성하고 360px, 768px, 1280px을 확인합니다.

## JavaScript

- 변수와 함수는 camelCase를 사용합니다.
- 불리언은 is, has, can, should로 시작합니다.
- 이벤트 함수는 handleXxx 형식으로 작성합니다.
- 전역 고정 상수만 UPPER_SNAKE_CASE를 사용합니다.
- 중복 로직은 목적이 분명한 함수로 분리합니다.
- 사용자 입력과 localStorage 데이터는 사용 전에 확인합니다.
- 임시 console.log는 완료 전에 제거합니다.

## 디자인 구현

- 디자인 원본을 시각 기준으로 사용합니다.
- 화면 구조, 간격, 정렬, 색상, 폰트, 상태를 임의로 재해석하지 않습니다.
- 실제 에셋을 우선 사용하고 placeholder URL을 만들지 않습니다.
- 디자인에 없는 기능이나 장식 모션을 추가하지 않습니다.

## Figma MCP

- 구조, 스크린샷, 변수, 디자인 컨텍스트를 순서대로 확인합니다.
- 생성된 코드를 그대로 붙이지 않고 현재 기술 스택에 맞게 해석합니다.
- 실제 에셋은 제공된 다운로드 기능으로 가져옵니다.
- 구현 후 브라우저 화면을 Figma 스크린샷과 비교합니다.

## 접근성과 상태

- 키보드 focus-visible을 확인합니다.
- 로딩, 빈 상태, 오류, 비활성 상태를 구현합니다.
- 색상만으로 상태를 전달하지 않습니다.
- prefers-reduced-motion을 반영합니다.

## 검증과 결과 보고

- [실제 lint 명령]
- [실제 테스트 명령]
- [실제 build 명령]
- 실행하지 않은 검증은 통과했다고 말하지 않습니다.
- 결과에는 변경 파일, 구현 내용, 주요 판단, 검증 결과, 확인하지 못한 부분을 구분해 작성합니다.
바꿔야 할 부분

기술 스택과 검증 명령은 실제 프로젝트에 맞게 바꾸고, 나머지 보존 규칙은 유지하세요.

CLAUDE.mdClaude Code 추가 규칙

Claude Code를 함께 사용할 때 필요한 짧은 연결 문서입니다. 공통 규칙을 복제하지 않고 AGENTS.md를 불러옵니다.

저장 위치: [프로젝트 폴더]/CLAUDE.md

CLAUDE.mdCLAUDE.md
@AGENTS.md

## Claude Code 전용 규칙

- 여러 파일을 수정하는 작업은 구현 전에 계획을 작성합니다.
- 구현 전에 관련 파일, 기존 패턴, 실제 에셋을 확인합니다.
- 디자인 시안과 다른 결정을 해야 한다면 이유와 영향을 먼저 보고합니다.
- 같은 문제가 반복되면 공통 규칙 또는 Skill 보완 필요성을 보고합니다.
- 작업 후 PROJECT_CONTEXT.md에 완료 내용, 남은 문제, 검증 결과를 갱신합니다.
바꿔야 할 부분

AGENTS.md가 프로젝트 루트에 있을 때 그대로 사용할 수 있습니다.

project_rules.mdAntigravity Workspace Rule

Google Antigravity가 프로젝트를 열 때 항상 적용할 규칙입니다. 지정된 rules 폴더에 저장합니다.

저장 위치: [프로젝트 폴더]/.agents/rules/project_rules.md

project_rules.mdproject_rules.md
# [프로젝트명] Project Rules

- 모든 작업 전에 PRD.md와 AGENTS.md를 읽습니다.
- 디자인 원본과 기존 코드에서 확인한 사실을 우선합니다.
- PRD.md에 없는 기능이나 화면을 추가하지 않습니다.
- 기존 폴더 구조, 공통 스타일, 에셋을 먼저 확인하고 재사용합니다.
- Figma MCP를 사용할 때 구조, 스크린샷, 변수, 실제 에셋을 함께 확인합니다.
- 생성된 React 또는 Tailwind 예시는 현재 HTML, CSS, JavaScript 구조에 맞게 다시 작성합니다.
- 360px, 768px, 1280px과 키보드 조작을 확인합니다.
- 구현 후 PROJECT_CONTEXT.md에 완료 내용, 남은 문제, 마지막 검증 결과를 기록합니다.
바꿔야 할 부분

PRD와 AGENTS.md의 실제 위치가 다르면 경로를 바꾸세요.

어떤 파일을 만들까요

Codex는 AGENTS.md, Claude Code는 CLAUDE.md, Antigravity IDE는 project_rules.md를 사용합니다. 여러 도구를 함께 쓰면 함께 만들어 둘 수 있습니다.

4단계

반복 작업은 SKILL로 순서를 고정합니다

같은 작업을 여러 번 반복한다면 SKILL 문서에 실행 순서를 적어 둡니다. SKILL은 진행 일지가 아니라 매번 같은 순서로 확인하게 만드는 절차입니다.

SKILL.md디자인 구현 반복 작업 Skill

디자인을 코드로 옮길 때 매번 같은 순서로 확인하도록 만드는 작업 절차입니다. 진행 일지를 쓰는 파일이 아닙니다.

저장 위치: [프로젝트 폴더]/.agents/skills/design-to-vanilla/SKILL.md

SKILL.mdSKILL.md
---
name: design-to-vanilla
description: 제공된 디자인을 기존 HTML, CSS, JavaScript 프로젝트로 구현하거나 수정할 때 사용합니다.
---

# Design to Vanilla Web

## 목표

제공된 디자인과 실제 에셋을 기준으로 반응형 웹 화면을 정확하게 구현합니다.

## 작업 순서

1. PRD.md와 프로젝트 규칙을 읽습니다.
2. 기존 폴더 구조, 공통 CSS, JavaScript, 에셋을 확인합니다.
3. 화면 목록, 공통 영역, 상태, 사용자 흐름을 정리합니다.
4. Figma가 있으면 구조, 스크린샷, 변수, 디자인 컨텍스트를 확인합니다.
5. 재사용할 기존 코드와 새로 만들 최소 범위를 구분합니다.
6. 의미에 맞는 HTML 구조를 작성합니다.
7. 기존 디자인 토큰으로 CSS와 반응형을 구현합니다.
8. 디자인에 실제로 있는 JavaScript 인터랙션만 구현합니다.
9. 로딩, 빈 상태, 오류, 비활성 상태를 확인합니다.
10. 360px, 768px, 1280px에서 디자인과 비교합니다.
11. 키보드 포커스, 모션 감소 설정, 콘솔 오류를 확인합니다.
12. 변경 파일과 검증 결과를 보고합니다.

## 금지 사항

- React, Vue, TypeScript, Tailwind를 추가하지 않습니다.
- 요청 없이 패키지를 설치하지 않습니다.
- 디자인에 없는 기능, 화면, 이미지, 아이콘, 애니메이션을 만들지 않습니다.
- Figma에서 생성된 코드를 그대로 붙이지 않습니다.
- 모든 요소를 absolute로 배치하거나 디자인 이미지를 배경으로 붙이지 않습니다.
- 검증하지 않은 결과를 완료했다고 보고하지 않습니다.
바꿔야 할 부분

name은 소문자와 하이픈으로 유지하고, description에는 언제 이 Skill을 쓰는지 적으세요.

5단계

이어서 작업하려면 현재 상태를 기록합니다

여러 번에 나눠 작업하면 PROJECT_CONTEXT에 완료·진행·문제를 남깁니다. 작업 방법이 아니라 지금 상태만 적어 다음 작업을 빠르게 이어갑니다.

PROJECT_CONTEXT.md프로젝트 현재 상태 기록

다음 작업자가 이미 끝난 일과 남은 일을 빠르게 파악하는 문서입니다. 작업 방법이 아니라 현재 상태만 기록합니다.

저장 위치: [프로젝트 폴더]/PROJECT_CONTEXT.md

PROJECT_CONTEXT.mdPROJECT_CONTEXT.md
# [프로젝트명] 현재 상태

마지막 업데이트: [YYYY-MM-DD]

## 구현 완료

- [완료한 화면 또는 기능]

## 구현 중

- [현재 수정 중인 화면 또는 기능]

## 확정된 UX 정책

- [예: 모바일 메뉴는 닫힌 상태로 시작]
- [예: 검색 결과가 없으면 검색어 수정 안내 표시]

## 사용 중인 라이브러리

- [라이브러리명]: [사용 목적과 적용 위치]

## 저장 데이터

- localStorage key: [key 이름과 저장 내용]

## 알려진 문제

- [재현 방법과 영향]

## 다음 작업

1. [가장 먼저 할 일]
2. [그다음 할 일]

## 마지막 검증 결과

- 실행 명령: [명령]
- 결과: [통과 또는 실패와 이유]
- 확인 화면: [360px, 768px, 1280px]
- 확인하지 못한 부분: [없으면 없음]
바꿔야 할 부분

작업이 끝날 때마다 날짜와 실제 상태를 갱신하고, 오래된 내용은 그대로 쌓지 말고 현재 기준으로 정리하세요.

정리

어떤 문서를 어디에 두는지 확인합니다

설계 문서는 정해진 위치에 정해진 이름으로 저장해야 도구가 자동으로 찾아 읽습니다.

설계 문서 역할과 위치
문서무엇을 정하나언제저장 위치
디자인 분석표디자인에서 확인한 사실을 정리합니다.제작 시작 전 항상프로젝트 폴더 또는 docs/
PRD.md무엇을 어디까지 만들지 정합니다.항상프로젝트 폴더 바로 아래
AGENTS.mdCodex가 항상 지킬 규칙입니다.Codex 사용 시프로젝트 폴더 바로 아래
CLAUDE.mdClaude Code의 추가 규칙입니다.Claude Code 사용 시프로젝트 폴더 바로 아래
project_rules.mdAntigravity IDE의 상시 규칙입니다.Antigravity IDE 사용 시.agents/rules/
SKILL.md반복 작업의 실행 순서를 정합니다.같은 작업을 반복할 때.agents/skills/[기능명]/
PROJECT_CONTEXT.md현재 완료·진행·문제를 기록합니다.여러 번 이어서 작업할 때프로젝트 폴더 바로 아래

예시

완성된 설계는 이런 모습입니다

실제 프로젝트에서는 폴더 안에 설계 문서가 함께 놓이고, PRD에는 완성 기준이 구체적으로 적힙니다.

폴더 구조 예시

폴더 구조folder-structure.txt
campingcampick/
├─ AGENTS.md
├─ CLAUDE.md
├─ PRD.md
├─ PROJECT_CONTEXT.md
├─ index.html
├─ pages/
│  ├─ onboarding.html
│  ├─ search.html
│  └─ detail.html
├─ css/
│  ├─ common.css
│  └─ pages.css
├─ js/
│  ├─ app.js
│  └─ storage.js
├─ assets/
│  ├─ images/
│  ├─ icons/
│  └─ fonts/
└─ .agents/
   ├─ rules/project_rules.md
   └─ skills/design-to-vanilla/SKILL.md

PRD 예시 일부

PRD 예시PRD.md
# 캠핑캠픽 PRD

## 제품 개요

사용자의 캠핑 취향을 바탕으로 캠핑장을 탐색하고 비교해 찜할 수 있는 반응형 웹 서비스입니다.

## 문제 정의

- 캠핑장 정보가 여러 사이트에 흩어져 비교하기 어렵습니다.
- 가격, 시설, 반려동물 가능 여부처럼 예약 전에 필요한 정보가 한눈에 보이지 않습니다.

## 목표 사용자

- 모바일로 캠핑장을 찾고 데스크톱에서 자세히 비교하는 초보·중급 캠퍼

## 핵심 화면

1. 온보딩: 취향을 선택하거나 건너뜁니다.
2. 홈: 추천 캠핑장과 빠른 검색을 제공합니다.
3. 검색: 검색어와 필터 결과를 보여줍니다.
4. 상세: 예약 전 필요한 정보와 이미지를 비교합니다.
5. 찜: 저장한 캠핑장을 다시 확인합니다.

## 제외 범위

- 실제 회원가입과 로그인
- 실제 예약과 결제
- 디자인에 없는 지도 기능

## 완료 조건

- 제공된 디자인의 주요 레이아웃과 상태가 일치합니다.
- 360px, 768px, 1280px에서 가로 스크롤이 없습니다.
- 검색 결과 없음, 이미지 없음, 상세 데이터 없음 상태가 보입니다.
- 찜 상태가 새로고침 후에도 유지됩니다.
- 키보드로 주요 링크, 버튼, 필터를 사용할 수 있습니다.

마무리

내 디자인으로 설계 문서를 한 번 완성합니다

  1. 1
    디자인 분석표 작성

    내 디자인에서 화면·토큰·상태를 확인해 채웁니다.

  2. 2
    PRD 작성

    핵심 기능과 완료 조건, 제외 범위를 정합니다.

  3. 3
    규칙 문서 작성

    사용할 도구에 맞는 규칙 파일을 만듭니다.

  4. 4
    폴더에 저장

    정해진 위치와 이름으로 각 문서를 저장합니다.

설계 과정 완료 확인
  • 디자인 분석표에 색·폰트·간격·상태를 확인된 사실로 적었습니다.
  • PRD에 핵심 기능·화면·완료 조건·제외 범위가 있습니다.
  • 사용하는 도구에 맞는 규칙 파일을 만들었습니다.
  • 각 문서를 올바른 폴더와 이름으로 저장했습니다.
  • 확인하지 못한 내용을 추정하지 않고 따로 표시했습니다.

다음 과정

설계를 마쳤다면 도구 사용 교안으로 이어집니다

다음 과정에서는 Antigravity IDE, Codex, Claude Code에 이 설계 문서를 전달해 실제 화면을 만드는 방법을 배웁니다.

디자인만 있는 상태에서 시작하는 설계 문서 교안 | 복붙랩