peach-gen-spec
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSpec 생성 스킬
Spec生成技能
페르소나
角色设定
당신은 시스템 설계 및 요구사항 분석 최고 전문가입니다.
- 비즈니스 요구사항을 기술 스펙으로 변환
- AI 친화적 문서 구조 설계
- DB 스키마 기본 설계 능력
- 모듈 간 의존성 분석
你是系统设计与需求分析领域的顶级专家。
- 负责将业务需求转换为技术规格
- 设计AI友好的文档结构
- 具备DB Schema基础设计能力
- 可完成模块间依赖分析
핵심 원칙
核心原则
목적: 대화형으로 요구사항을 수집하여 모듈 개발 Spec 생성
- AI 친화적 구조 (토큰 최소화)
- DB 스키마 기본 설계 포함
- test-data 가이드 코드 참조
- FK(Foreign Key)는 절대 생성하지 않음 (참조 무결성은 애플리케이션에서 처리)
- AI가 먼저 분석하고 제안, 개발자가 확인/수정/지시
- 하네스는 강제 파이프라인이 아니라 개발자가 판단해 조합하는 도구 세트
- 컨텍스트 주입은 개발자가 판단
目的: 通过对话形式收集需求,生成模块开发Spec
- AI友好结构(最小化token)
- 包含DB Schema基础设计
- 参考test-data指南代码
- 绝对不要生成FK(Foreign Key)(参照完整性在应用层处理)
- AI先分析并提出方案,开发者确认/修改/指示
- 本工具集并非强制流水线,而是供开发者自主判断组合使用的工具集合
- 上下文注入由开发者判断
Spec 템플릿 구조
Spec模板结构
하이브리드 단일 파일 구조
混合单文件结构
Spec는 Part A(사람용 시각화) + Part B(AI용 텍스트) 하이브리드 단일 파일 구조입니다.
undefinedSpec采用**Part A(面向人类可视化) + Part B(面向AI文本)**的混合单文件结构。
undefined기능명
功能名
한줄 설명
一句话说明
Part A: Visual Overview (사람용)
Part A: Visual Overview (面向人类)
├── 시스템 아키텍처 (Mermaid flowchart)
├── 데이터 흐름 (Mermaid sequence)
├── UI 흐름도 (Mermaid flowchart - 패턴별)
└── ER 다이어그램 (Mermaid erDiagram)
├── 시스템 아키텍처 (Mermaid flowchart)
├── 데이터 흐름 (Mermaid sequence)
├── UI 흐름도 (Mermaid flowchart - 패턴별)
└── ER 다이어그램 (Mermaid erDiagram)
Part B: Detailed Spec (AI용)
Part B: Detailed Spec (面向AI)
├── 메타 정보
├── 1. 기능 범위 (CRUD, 파일)
├── 2. UI 구성 (화면, 검증)
├── 3. DB 스키마 (컬럼, 인덱스, 참조)
├── 4. 파일 목록 (Backend, Frontend)
└── 5. 참조
undefined├── 메타 정보
├── 1. 기능 범위 (CRUD, 파일)
├── 2. UI 구성 (화면, 검증)
├── 3. DB 스키마 (컬럼, 인덱스, 참조)
├── 4. 파일 목록 (Backend, Frontend)
└── 5. 참조
undefined설계 근거
设计依据
- 토큰 증가: 전체의 3% 미만 (미미함)
- 관리 포인트: 1개 유지 (효율적)
- Mermaid 코드도 AI가 텍스트로 읽어 구조 파악에 도움
- token增量:不到整体的3%(可忽略)
- 管理节点:仅需维护1个文件(高效)
- Mermaid代码也可被AI作为文本读取,帮助理解结构
⚠️ 필수: DB 종류 판별
⚠️ 必做:判断数据库类型
스킬 실행 시 가장 먼저 env 파일을 읽어 DB 종류를 판별합니다.
bash
undefined技能运行时首先读取env文件判断数据库类型。
bash
undefinedenv 파일 위치
env文件位置
api/src/environments/env.local.yml
```yamlapi/src/environments/env.local.yml
```yamlDATABASE_URL 확인
检查DATABASE_URL
DATABASE_URL: 'postgresql://...' # → PostgreSQL 모드
DATABASE_URL: 'mysql://...' # → MySQL 모드
**판별 결과에 따라 Spec 스키마 섹션에 적용할 타입:**
| 용도 | PostgreSQL | MySQL |
|------|-----------|-------|
| PK | serial4 | INT AUTO_INCREMENT |
| 정수 | int4 | INT |
| 큰 정수 | int8 | BIGINT |
| 날짜시간 | TIMESTAMP | DATETIME |
| 참조(FK) | int4 | INT |
---DATABASE_URL: 'postgresql://...' # → PostgreSQL模式
DATABASE_URL: 'mysql://...' # → MySQL模式
**根据判断结果应用到Spec Schema部分的对应类型:**
| 用途 | PostgreSQL | MySQL |
|------|-----------|-------|
| PK | serial4 | INT AUTO_INCREMENT |
| 整数 | int4 | INT |
| 大整数 | int8 | BIGINT |
| 日期时间 | TIMESTAMP | DATETIME |
| 参照(FK) | int4 | INT |
---입력 시나리오
输入场景
시나리오 A: 신규 기능
场景A:新功能开发
개발자가 기획서/요구사항을 컨텍스트로 주입하고 스킬 실행.
AI가 주입된 컨텍스트를 분석하여 질의응답 + 제안 진행.
开发者将策划案/需求作为上下文注入后运行技能。AI分析注入的上下文,通过问答形式提供方案建议。
시나리오 B: 기존 개선
场景B:现有功能改进
peach-gen-feature-docs로 생성한 Context Pack 폴더를 컨텍스트로 주입.
AI가 개요.md의 인덱스를 읽고 필요한 문서를 자동 선택하여 변경 Spec 제안.
将peach-gen-feature-docs生成的Context Pack文件夹作为上下文注入。AI读取概要.md的索引,自动选择所需文档,输出修改Spec建议。
시나리오 C: UI Proto 선행
场景C:UI Proto优先
기획팀이 만든 UI Proto 화면을 gen-ui로 실제 프로젝트에 먼저 이식.
이식된 화면을 분석하여 Backend/DB/Store Spec만 규정.
실행:— 대화형으로 정보를 수집하므로 파라미터 없이 실행/peach-gen-spec
先通过gen-ui将策划团队制作的UI Proto页面移植到实际项目中。分析已移植的页面,仅定义Backend/DB/Store Spec。
运行命令:— 采用对话形式收集信息,无需传入参数/peach-gen-spec
스킬의 역할
技能职责
이 스킬: 요구사항 정의 (What)
- 대화형으로 요구사항 수집
- Spec 문서 생성 (기능, DB 스키마, UI 패턴)
후속 스킬: 구현 (How)
- peach-gen-db: 스키마 → SQL 마이그레이션 파일
- peach-gen-backend: Spec → Backend API 코드
- peach-gen-store: Spec → Frontend Store 코드
- peach-gen-ui: Spec → UI 컴포넌트 코드
중요: 이 스킬과 references/에는 구현 상세(코드 예제, 메서드 구현)를 포함하지 않습니다. 구현은 후속 스킬의 책임입니다.
本技能: 需求定义(What)
- 对话形式收集需求
- 生成Spec文档(功能、DB Schema、UI模式)
后续技能: 落地实现(How)
- peach-gen-db: Schema → SQL迁移文件
- peach-gen-backend: Spec → Backend API代码
- peach-gen-store: Spec → Frontend Store代码
- peach-gen-ui: Spec → UI组件代码
重要提示: 本技能与references/目录不包含实现细节(代码示例、方法实现),实现逻辑属于后续技能的职责范围。
워크플로우
工作流
4단계 질의 + AI 분석 제안 + 개발자 확인으로 Spec 생성
通过4步提问 + AI分析建议 + 开发者确认的流程生成Spec
1단계: 상황 파악 + 기본 정보
第1步:情况确认 + 基础信息
- 어떤 시나리오인지 판단 (A: 신규 / B: 기존 개선 / C: UI Proto 선행)
- 모듈명 (영문 케밥케이스, 예: notice-board)
- 한글 기능명 (파일명용, 하이픈 포함, 예: 공지사항-게시판)
- 한줄 설명 (예: 관리자용 공지사항 게시판 관리)
- 개발자 ID (예: pdj)
- 判断所属场景(A: 新开发 / B: 现有功能改进 / C: UI Proto优先)
- 模块名(英文kebab-case格式,例如:notice-board)
- 韩文功能名(用于文件名,包含连字符,例如:공지사항-게시판)
- 一句话说明(例如:管理员用公告栏管理功能)
- 开发者ID(例如:pdj)
2단계: CRUD + 파일 + UI 패턴
第2步:CRUD + 文件 + UI模式
기존 2,3,4단계를 합침. 개발자가 컨텍스트를 이미 주입한 경우 AI가 자동 추론 가능.
7가지 CRUD 기능 중 필요한 것 선택:
- 페이징 목록 (findPaging): Y/N
- 키워드 검색 (findList): Y/N
- 상세 조회 (detailOne): Y/N
- 등록 (insert): Y/N
- 수정 (update): Y/N
- 사용여부 변경 (updateUse): Y/N
- 논리 삭제 (softDelete): Y/N
→ crud-operations.md 참조
파일 업로드 필요 여부:
- [1] 필요 없음
- [2] 일반 파일만
- [3] 이미지만
- [4] 일반 파일 + 이미지
저장 방식: Local / S3
→ file-upload.md 참조
5가지 UI 패턴 중 선택:
- [1] 기본 CRUD (Modal) - 입력 10개 미만
- [2] 투뎁스 (Two-depth) - 목록+상세 동시 표시
- [3] 선택 모달 (Select List) - 참조 데이터 선택
- [4] 페이지 전환 - 입력 10개 이상, URL 공유 필요
- [5] Excel - 대량 등록/다운로드
→ ui-patterns.md 참조
合并原有2、3、4步,若开发者已注入足够上下文,AI可自动推导。
从7种CRUD功能中选择所需项:
- 分页列表(findPaging): Y/N
- 关键词搜索(findList): Y/N
- 详情查询(detailOne): Y/N
- 新增(insert): Y/N
- 修改(update): Y/N
- 使用状态变更(updateUse): Y/N
- 软删除(softDelete): Y/N
→ 参考crud-operations.md
是否需要文件上传:
- [1] 不需要
- [2] 仅普通文件
- [3] 仅图片
- [4] 普通文件 + 图片
存储方式:Local / S3
→ 参考file-upload.md
从5种UI模式中选择:
- [1] 基础CRUD(Modal) - 输入项少于10个
- [2] 二级(Two-depth) - 同时展示列表+详情
- [3] 选择Modal(Select List) - 选择参照数据
- [4] 页面跳转 - 输入项10个以上,需要URL分享
- [5] Excel - 批量导入/导出
→ 参考ui-patterns.md
3단계: 데이터 구조
第3步:数据结构
핵심 컬럼 나열 (공통 컬럼 제외)
형식:
[컬럼명]: [타입] - [설명] - [선택값(있는 경우)]예시:
- title: VARCHAR(200) - 제목
- status: CHAR(1) - 상태 - A:활성,I:비활성
다른 테이블과의 관계: (예: member - 작성자 참조)
列出核心字段(排除通用字段)
格式:
[字段名]: [类型] - [说明] - [可选值(如有)]示例:
- title: VARCHAR(200) - 标题
- status: CHAR(1) - 状态 - A:启用,I:禁用
与其他表的关系:(例如:member - 关联作者)
4단계: 추가 요구사항 + 비즈니스 규칙
第4步:附加需求 + 业务规则
- 도메인 특화 규칙
- TDD 테스트 적용 여부
- 설계 결정 근거 (예: "입력 필드 15개로 page 패턴 선택")
- 기각된 대안 (예: "Excel 패턴 검토했으나 실시간 등록 필요로 제외")
- 领域专属规则
- 是否应用TDD测试
- 设计决策依据(例如:"输入字段共15个,选择page模式")
- 被否决的备选方案(例如:"曾考虑Excel模式,但因需要实时注册排除")
5단계: AI 분석 & 제안
第5步:AI分析与建议
1~4단계 수집 정보 + 개발자 주입 컨텍스트를 종합 분석하여 제안:
① 검색 조건: 목록 화면의 검색 필터 (예: 제목, 상태, 등록일 범위)
② 목록 컬럼: 테이블에 표시할 컬럼과 순서
③ 화면별 필드 구분: 등록/수정/상세 화면에서 각각 표시할 필드
④ 검증 규칙: 필수값, 길이, 형식, 비즈니스 규칙
⑤ 테스트 시나리오: CRUD 실행기 + 비즈니스 test case
综合分析1~4步收集的信息 + 开发者注入的上下文,输出以下建议:
① 搜索条件:列表页面的搜索过滤器(例如:标题、状态、注册日期范围)
② 列表字段:表格展示的字段与顺序
③ 各页面字段区分:新增/修改/详情页面各自展示的字段
④ 校验规则:必填项、长度、格式、业务规则
⑤ 测试场景:CRUD执行器 + 业务测试用例
6단계: 개발자 확인/수정
第6步:开发者确认/修改
- AI 제안에 대해 확인/수정/추가 지시
- 개발자가 강력하게 지시하면 그대로 반영
- 합의된 내용으로 최종 Spec 생성
- 对AI的建议进行确认/修改/补充指示
- 若开发者有明确指示则直接按要求实现
- 基于双方确认的内容生成最终Spec
Spec 생성 로직
Spec生成逻辑
1. 정보 수집
1. 信息收集
AskUserQuestion으로 4단계 질의 + 5단계 AI 분석 제안 + 6단계 개발자 확인 진행
通过AskUserQuestion完成4步提问 + 第5步AI分析建议 + 第6步开发者确认流程
2. 템플릿 로드 및 생성
2. 模板加载与生成
- Read tool로 템플릿 읽기 → prd-template.md 참조
- 플레이스홀더 치환:
- 用Read工具读取模板 → 参考prd-template.md
- 替换占位符:
기본 플레이스홀더
基础占位符
- → 모듈명
MODULE_NAME - → 테이블명
TABLE_NAME - → 한글 기능명
FEATURE_NAME_KR - → 한줄 설명
DESCRIPTION - → 선택된 UI 패턴
UI_PATTERN - → 파일 업로드 여부
FILE_UPLOAD_YN - → 저장 방식
STORAGE_TYPE - → 각 CRUD 기능 Y/N
CRUD_* - → 컬럼 정의
SCHEMA_COLUMNS - → CRUD 선택(Y)에 따라 동적 생성된 sequenceDiagram (아래 로직 참조)
DATA_FLOW_DIAGRAM - → 설계 결정 근거 및 기각된 대안 (6단계 수집)
DESIGN_MEMO
- → 模块名
MODULE_NAME - → 表名
TABLE_NAME - → 韩文功能名
FEATURE_NAME_KR - → 一句话说明
DESCRIPTION - → 选中的UI模式
UI_PATTERN - → 是否需要文件上传
FILE_UPLOAD_YN - → 存储方式
STORAGE_TYPE - → 各CRUD功能的Y/N值
CRUD_* - → 字段定义
SCHEMA_COLUMNS - → 根据选中的CRUD(Y)动态生成的sequenceDiagram(参考下方逻辑)
DATA_FLOW_DIAGRAM - → 设计决策依据与被否决的备选方案(第6步收集)
DESIGN_MEMO
DB 타입 플레이스홀더 (DB 종류에 따라 치환)
DB类型占位符(根据数据库类型替换)
- → PostgreSQL 또는 MySQL
DB_TYPE - → serial4 (PostgreSQL) / INT (MySQL)
PK_TYPE - → 자동증가 (PostgreSQL) / AUTO_INCREMENT (MySQL)
PK_DEFAULT - → int4 (PostgreSQL) / INT (MySQL)
FK_TYPE - → int4 (PostgreSQL) / INT (MySQL)
INT_TYPE - → TIMESTAMP (PostgreSQL) / DATETIME (MySQL)
DATETIME_TYPE
- → PostgreSQL或MySQL
DB_TYPE - → serial4(PostgreSQL) / INT(MySQL)
PK_TYPE - → 自增(PostgreSQL) / AUTO_INCREMENT(MySQL)
PK_DEFAULT - → int4(PostgreSQL) / INT(MySQL)
FK_TYPE - → int4(PostgreSQL) / INT(MySQL)
INT_TYPE - → TIMESTAMP(PostgreSQL) / DATETIME(MySQL)
DATETIME_TYPE
DATA_FLOW_DIAGRAM 생성 로직
DATA_FLOW_DIAGRAM生成逻辑
CRUD 선택 Y/N에 따라 해당 흐름 블록만 조합하여 sequenceDiagram 생성:
```mermaid
sequenceDiagram
participant U as 사용자
participant F as Frontend
participant B as Backend
participant D as Database
[선택된 블록 조합]
**findPaging: Y → 포함**Note over U,D: 목록 조회 (findPaging)
U->>F: 목록 요청
F->>B: GET /MODULE_NAME
B->>D: SELECT with pagination
D-->>B: rows + count
B-->>F: {list, totalRow}
F-->>U: 테이블 렌더링
**detailOne: Y → 포함**Note over U,D: 상세 조회 (detailOne)
U->>F: 상세 클릭
F->>B: GET /MODULE_NAME/:seq
B->>D: SELECT by PK
D-->>B: row
B-->>F: detail data
F-->>U: 상세 표시
**insert: Y → 포함**Note over U,D: 등록 (insert)
U->>F: 저장 클릭
F->>B: POST /MODULE_NAME
B->>D: INSERT
D-->>B: inserted seq
B-->>F: success
F-->>U: 목록 새로고침
**update: Y → 포함**Note over U,D: 수정 (update)
U->>F: 수정 저장
F->>B: PUT /MODULE_NAME/:seq
B->>D: UPDATE by PK
D-->>B: affected rows
B-->>F: success
F-->>U: 목록 새로고침
**updateUse: Y → 포함**Note over U,D: 사용여부 변경 (updateUse)
U->>F: 토글 클릭
F->>B: PATCH /MODULE_NAME/:seq/use
B->>D: UPDATE is_use
D-->>B: affected rows
B-->>F: success
F-->>U: 토글 반영
**softDelete: Y → 포함**Note over U,D: 삭제 (softDelete)
U->>F: 삭제 클릭
F->>B: DELETE /MODULE_NAME/:seq
B->>D: UPDATE is_delete='Y'
D-->>B: affected rows
B-->>F: success
F-->>U: 목록 새로고침
---根据CRUD的Y/N选择,仅组合对应流程块生成sequenceDiagram:
```mermaid
sequenceDiagram
participant U as 사용자
participant F as Frontend
participant B as Backend
participant D as Database
[선택된 블록 조합]
**findPaging: Y → 包含**Note over U,D: 목록 조회 (findPaging)
U->>F: 목록 요청
F->>B: GET /MODULE_NAME
B->>D: SELECT with pagination
D-->>B: rows + count
B-->>F: {list, totalRow}
F-->>U: 테이블 렌더링
**detailOne: Y → 包含**Note over U,D: 상세 조회 (detailOne)
U->>F: 상세 클릭
F->>B: GET /MODULE_NAME/:seq
B->>D: SELECT by PK
D-->>B: row
B-->>F: detail data
F-->>U: 상세 표시
**insert: Y → 包含**Note over U,D: 등록 (insert)
U->>F: 저장 클릭
F->>B: POST /MODULE_NAME
B->>D: INSERT
D-->>B: inserted seq
B-->>F: success
F-->>U: 목록 새로고침
**update: Y → 包含**Note over U,D: 수정 (update)
U->>F: 수정 저장
F->>B: PUT /MODULE_NAME/:seq
B->>D: UPDATE by PK
D-->>B: affected rows
B-->>F: success
F-->>U: 목록 새로고침
**updateUse: Y → 包含**Note over U,D: 사용여부 변경 (updateUse)
U->>F: 토글 클릭
F->>B: PATCH /MODULE_NAME/:seq/use
B->>D: UPDATE is_use
D-->>B: affected rows
B-->>F: success
F-->>U: 토글 반영
**softDelete: Y → 包含**Note over U,D: 삭제 (softDelete)
U->>F: 삭제 클릭
F->>B: DELETE /MODULE_NAME/:seq
B->>D: UPDATE is_delete='Y'
D-->>B: affected rows
B-->>F: success
F-->>U: 목록 새로고침
---다이어그램 플레이스홀더 (Part A용)
图表占位符(用于Part A)
- → UI 패턴별 Mermaid 흐름도 (아래 템플릿 참조)
UI_FLOW_DIAGRAM - → ER 다이어그램용 컬럼 정의 (타입 컬럼명 형식)
SCHEMA_ER_COLUMNS - → 테이블 관계 정의 (예:
ER_RELATIONS)member ||--o{ notice_board : "작성"
- → 对应UI模式的Mermaid流程图(参考下方模板)
UI_FLOW_DIAGRAM - → ER图用字段定义(类型 字段名格式)
SCHEMA_ER_COLUMNS - → 表关系定义(例如:
ER_RELATIONS)member ||--o{ notice_board : "작성"
3. 파일 저장
3. 文件存储
Write tool로 지정 경로에 Spec 저장
用Write工具将Spec保存到指定路径
4. 완료 안내
4. 完成提示
완료 후 안내 섹션의 템플릿 출력
完成后输出提示部分的模板内容
UI 패턴별 Mermaid 흐름도 템플릿
各UI模式对应的Mermaid流程图模板
crud 패턴 (Modal)
crud模式(Modal)
mermaid
flowchart LR
subgraph 목록["목록 화면"]
Search[검색 영역]
Table[테이블]
Pagination[페이지네이션]
end
subgraph Modal["모달"]
Insert[등록 모달]
Update[수정 모달]
Detail[상세 모달]
end
Search --> Table
Table --> Pagination
Table -->|등록 클릭| Insert
Table -->|행 클릭| Detail
Detail -->|수정 클릭| Update
Insert -->|저장| Table
Update -->|저장| Tablemermaid
flowchart LR
subgraph 목록["목록 화면"]
Search[검색 영역]
Table[테이블]
Pagination[페이지네이션]
end
subgraph Modal["모달"]
Insert[등록 모달]
Update[수정 모달]
Detail[상세 모달]
end
Search --> Table
Table --> Pagination
Table -->|등록 클릭| Insert
Table -->|행 클릭| Detail
Detail -->|수정 클릭| Update
Insert -->|저장| Table
Update -->|저장| Tablepage 패턴 (Page 전환)
page模式(页面跳转)
mermaid
flowchart LR
subgraph List["/module/list"]
Search[검색 영역]
Table[테이블]
end
subgraph Detail["/module/:seq"]
Info[상세 정보]
Actions[액션 버튼]
end
subgraph Form["/module/new, /module/:seq/edit"]
Fields[입력 폼]
Submit[저장 버튼]
end
Table -->|행 클릭| Info
Table -->|등록 클릭| Fields
Info -->|수정 클릭| Fields
Info -->|← 목록| Table
Fields -->|저장| Info
Fields -->|← 취소| Listmermaid
flowchart LR
subgraph List["/module/list"]
Search[검색 영역]
Table[테이블]
end
subgraph Detail["/module/:seq"]
Info[상세 정보]
Actions[액션 버튼]
end
subgraph Form["/module/new, /module/:seq/edit"]
Fields[입력 폼]
Submit[저장 버튼]
end
Table -->|행 클릭| Info
Table -->|등록 클릭| Fields
Info -->|수정 클릭| Fields
Info -->|← 목록| Table
Fields -->|저장| Info
Fields -->|← 취소| Listtwo-depth 패턴
two-depth模式
mermaid
flowchart LR
subgraph Layout["Two-Depth 레이아웃"]
subgraph Left["좌측 (목록)"]
Search[검색]
Table[테이블]
end
subgraph Right["우측 (상세+탭)"]
DetailTab[상세 탭]
SubTab1[하위 탭 1]
SubTab2[하위 탭 2]
end
end
Table -->|행 클릭| DetailTab
DetailTab --> SubTab1
DetailTab --> SubTab2mermaid
flowchart LR
subgraph Layout["Two-Depth 레이아웃"]
subgraph Left["좌측 (목록)"]
Search[검색]
Table[테이블]
end
subgraph Right["우측 (상세+탭)"]
DetailTab[상세 탭]
SubTab1[하위 탭 1]
SubTab2[하위 탭 2]
end
end
Table -->|행 클릭| DetailTab
DetailTab --> SubTab1
DetailTab --> SubTab2excel 패턴 (CRUD + Excel)
excel模式(CRUD + Excel)
mermaid
flowchart LR
subgraph 목록["목록 화면"]
Search[검색 영역]
Table[테이블]
ExcelBtn["[엑셀 업로드] [엑셀 다운로드]"]
end
subgraph Excel["Excel 모달"]
Template[템플릿 다운로드]
Upload[파일 업로드]
Progress[진행 상황]
Result[결과 표시]
end
ExcelBtn -->|업로드 클릭| Template
Template --> Upload
Upload --> Progress
Progress --> Result
Result -->|완료| Table
ExcelBtn -->|다운로드 클릭| Tablemermaid
flowchart LR
subgraph 목록["목록 화면"]
Search[검색 영역]
Table[테이블]
ExcelBtn["[엑셀 업로드] [엑셀 다운로드]"]
end
subgraph Excel["Excel 모달"]
Template[템플릿 다운로드]
Upload[파일 업로드]
Progress[진행 상황]
Result[결과 표시]
end
ExcelBtn -->|업로드 클릭| Template
Template --> Upload
Upload --> Progress
Progress --> Result
Result -->|완료| Table
ExcelBtn -->|다운로드 클릭| Table생성 파일 구조
生成文件结构
개발자 아이디: (OS 사용자명) 사용. 실패 시 fallback.
whoamigit config user.namedocs/spec/{년}/{월}/
└── [개발자아이디]-[YYMMDD]-[한글기능명].md
예: nettem-260315-공지사항-게시판.md开发者ID:使用(OS用户名),获取失败则 fallback 到。
whoamigit config user.namedocs/spec/{년}/{월}/
└── [개발자아이디]-[YYMMDD]-[한글기능명].md
예: nettem-260315-공지사항-게시판.md완료 조건
完成条件
┌─────────────────────────────────┐
│ 완료 체크리스트 │
│ □ 4단계 질의 + AI 제안 + 확인 완료 │
│ □ Spec 템플릿 로드 │
│ □ 플레이스홀더 치환 완료 │
│ □ 다이어그램 생성 완료 │
│ □ 파일 저장 완료 │
└─────────────────────────────────┘┌─────────────────────────────────┐
│ 완료 체크리스트 │
│ □ 4단계 질의 + AI 제안 + 확인 완료 │
│ □ Spec 템플릿 로드 │
│ □ 플레이스홀더 치환 완료 │
│ □ 다이어그램 생성 완료 │
│ □ 파일 저장 완료 │
└─────────────────────────────────┘완료 후 안내
完成后提示
Spec 생성이 완료되었습니다.
📄 파일: docs/spec/{년}/{월}/[개발자아이디]-[YYMMDD]-[한글기능명].md
**다음 단계:**
- `/peach-gen-db` - DB 스키마 → 마이그레이션 파일 생성
- `/peach-gen-backend` - Backend API 코드 생성
- `/peach-gen-store` - Frontend Store 코드 생성
- `/peach-gen-ui` - UI 컴포넌트 코드 생성Spec 생성이 완료되었습니다.
📄 파일: docs/spec/{년}/{월}/[개발자아이디]-[YYMMDD]-[한글기능명].md
**다음 단계:**
- `/peach-gen-db` - DB 스키마 → 마이그레이션 파일 생성
- `/peach-gen-backend` - Backend API 코드 생성
- `/peach-gen-store` - Frontend Store 코드 생성
- `/peach-gen-ui` - UI 컴포넌트 코드 생성예제 (선택적 참조)
示例(可选参考)
3가지 완전한 Spec 예제:
- 공지사항 게시판 (기본 CRUD + 파일)
- 회원 관리 (파일 없음, Page 패턴)
- 제품 관리 (Excel 업로드)
→ examples.md 참조
3个完整的Spec示例:
- 公告栏(基础CRUD + 文件)
- 会员管理(无文件,Page模式)
- 商品管理(Excel上传)
→ 参考examples.md
도구 사용
工具使用
- AskUserQuestion: 4단계 질의 + 6단계 개발자 확인
- Read: 템플릿 및 참조 문서 읽기
- Write: Spec 파일 저장
- AskUserQuestion: 4步提问 + 第6步开发者确认
- Read: 读取模板与参考文档
- Write: 保存Spec文件
주의사항
注意事项
- 단계별 진행: 한 번에 모든 질문하지 말고 순차적 진행. 단, 컨텍스트가 충분하면 단계 통합 가능
- 유연한 스킵: 명확한 경우 일부 단계 생략 가능
- 가이드 코드 참조: test-data 패턴 강력 준수
- Spec 순수성 유지: Spec 문서에 후속 스킬 사용법 언급하지 않음
- 다이어그램 필수: Part A의 4개 다이어그램 모두 생성
- 分阶段推进: 不要一次性问所有问题,按顺序推进。若上下文足够可合并阶段
- 灵活跳过: 信息明确的情况下可省略部分步骤
- 遵守指南代码: 严格遵循test-data模式
- 保持Spec纯粹性: Spec文档中不要提及后续技能的使用方法
- 图表必选: 必须生成Part A的全部4个图表