> ## Documentation Index
> Fetch the complete documentation index at: https://kxp.wyhil.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tutorial

> Prometheus 튜토리얼

## 튜토리얼 소개

이 튜토리얼에서는 Prometheus의 강력한 AI 에이전트 기능을 활용하여, 설계부터 실행까지 단 몇 줄의 대화만으로 게시판 서비스를 구축하는 과정을 학습합니다. 개발자는 복잡한 문법 고민 없이 구현하고자 하는 '의도'만 전달하면 됩니다.

***

## 0. 시작하기 전 : 환경 설정 (Setup)

바이브 코딩을 시작하기 전, Java 기반의 Spring Boot 프로젝트가 로컬 환경에서 원활하게 작동할 수 있도록 기본적인 셋팅이 필요합니다.

### 1. Java 개발 환경 설정

컴퓨터에 다음 도구들이 설치되어 있는지 확인하세요.

* JDK (Java Development Kit) : 버전 17 이상 설치를 권장합니다.
* Build Tool : Maven 또는 Gradle이 설치되어 있어야 합니다. (Prometheus는 두 환경 모두 지원합니다.)

### 2. Spring Initializr 설정 (start.spring.io)

새로운 프로젝트를 생성할 때 [start.spring.io](https://start.spring.io)에서 다음과 같은 설정으로 프로젝트를 내려받아 IDE에서 열어주세요.

| 항목           | 설정값                                                            |
| :----------- | :------------------------------------------------------------- |
| Project      | Maven 또는 Gradle                                                |
| Language     | Java                                                           |
| Spring Boot  | 3.x.x (최신 안정 버전)                                               |
| Java         | 17 또는 21                                                       |
| Dependencies | Spring Web, Spring Data JPA, H2 Database, Lombok, Thymeleaf 등등 |

> Tip: 환경 설정이 어렵다면 Prometheus에게 "Java 개발 환경을 확인하고 부족한 설정을 도와줘"라고 말해보세요. `run_terminal_command` 도구를 통해 현재 시스템 상태를 점검해 줍니다.

***

## 1. 게시판 서버 만들기 (Backend)

가장 먼저 데이터 저장과 비즈니스 로직을 담당할 서버 환경을 구축합니다.

### 실행 방법

채팅창에 다음과 같이 입력하여 AI에게 서버 개발을 지시하세요.

> Prompt : "Spring Boot와 JPA를 사용해서 기본적인 게시판 서버를 만들어줘. 제목, 내용, 작성자 필드가 있는 Board 엔티티가 필요해. H2 데이터베이스를 사용하고, 기본적인 CRUD를 수행하는 Service와 Controller까지 한 번에 생성해줘."

### 작동 원리

* Tools 활용 : AI는 `create_new_file` 도구를 사용하여 프로젝트 구조에 맞는 Java 파일들을 생성합니다\[cite: 4, 5, 7].
* Logic Create : 사용자의 요구사항을 분석하여 게시글 저장, 조회, 수정, 삭제에 필요한 비즈니스 로직을 자동으로 설계합니다.

***

## 2. 게시판 화면 만들기 (Frontend)

서버와 연동하여 사용자가 실제로 게시글을 확인하고 작성할 수 있는 화면을 구성합니다.

### 실행 방법

서버 생성이 완료되면 이어서 레이아웃 변경 및 화면 생성을 요청합니다.

> Prompt : "방금 만든 서버와 연동되는 타임리프(Thymeleaf) 기반의 HTML 화면을 만들어줘. 목록 페이지는 깔끔한 테이블 형식이면 좋겠고, 글쓰기 버튼을 누르면 작성 폼이 나오게 해줘. 디자인은 Bootstrap을 써서 현대적인 느낌으로 부탁해."

### 작동 원리

* Layout Change : AI가 `edit_existing_file`을 통해 HTML 파일의 구조를 잡고 Bootstrap 클래스를 입혀 세련된 레이아웃을 완성합니다.
* 통합 : 생성된 서버 API와 프론트엔드 폼(Form)을 자동으로 연결하여 데이터가 정상적으로 오갈 수 있게 합니다.

***

## 3. 실행하기 (Execution)

작성된 코드를 빌드하고 실제로 서비스가 돌아가는지 확인하는 단계입니다.

### 실행 방법

터미널 명령어를 직접 입력하는 대신 AI에게 실행을 요청하세요.

> Prompt : "프로젝트를 빌드하고 서버를 실행해줘. 실행이 완료되면 브라우저에서 접속할 수 있는 로컬 주소(URL)를 알려주고, 테스트용 게시글을 하나 등록하는 SQL문도 실행해줘."

### 작동 원리

* System Control : AI가 `run_terminal_command` 도구를 실행하여 빌드 및 실행 명령을 대신 수행합니다\[cite: 13, 17, 18].
* SQL 생성 : AI가 데이터베이스 구조에 맞는 SQL 쿼리를 생성하여 테스트 데이터를 DB에 즉시 삽입합니다.

***

## ⚠️ 중요: 오류 수정 및 상호작용 (Iterative Debugging)

LLM이 생성하는 코드는 항상 완벽하지 않을 수 있으며, 환경 차이나 버전 호환성 문제로 인해 한 번에 실행되지 않을 수 있습니다. 하지만 이것은 실패가 아니라 바이브 코딩의 자연스러운 과정입니다.

* 오류 메시지 전달 : 빌드 에러나 런타임 오류가 발생하면, 터미널에 나타난 오류 내용을 그대로 복사하여 AI에게 전달하세요.
* 상호작용을 통한 수정 : "이 에러가 왜 발생했는지 분석하고 고쳐줘"라고 요청하면, AI는 `read_file`로 코드를 다시 검토하고 `edit_existing_file`로 수정안을 제안합니다.
* 지속적인 피드백 : "이 부분은 내가 원하는 동작이 아니야" 혹은 "다른 방식으로 코드를 짜줘"와 같이 피드백을 주고받으며 코드를 완성해 나가는 것이 바이브 코딩의 핵심입니다.

***

## 💡 바이브 코딩 핵심 팁

* 끊김 없는 대화 : "로그인 기능도 추가해줘", "인기글 로직을 업데이트해줘"와 같이 튜토리얼 이후의 작업도 대화하듯 이어나갈 수 있습니다.
* Rules 참조 : 프로젝트의 특정 코딩 표준이 있다면 AI가 Rules를 참고하여 여러분의 팀 스타일에 맞는 코드를 작성합니다.
* 안전한 실행 : 모든 도구 실행 전 Ask First 모드를 활용하여 AI가 어떤 파일을 고치고 어떤 명령을 내리는지 검토하세요.
