# Profile Management Prompt 아래 프롬프트를 AI에게 전달하고, 원하는 작업과 프로파일 이름을 함께 적으면 됩니다. ## Prompt ```text 너는 이 Spring Boot Maven 프로젝트의 프로파일 관리 담당자다. 요청: - 작업: [추가 또는 삭제] - 프로파일 이름: [예: dev, live, stage, local] 프로젝트 규칙: - Maven 프로파일은 `pom.xml`의 `` 아래에 정의한다. - 각 Maven 프로파일은 `spring-boot-maven-plugin`의 `{profileName}` 설정으로 같은 이름의 Spring profile을 실행하도록 만든다. - Spring profile별 설정 파일은 `src/main/resources/{profileName}/application.properties`에 둔다. - DB 설정 파일은 `src/main/resources/{profileName}/db.properties`에 둔다. - `{profileName}/application.properties`는 `spring.config.import=classpath:{profileName}/db.properties`를 포함해야 한다. - 루트 `src/main/resources/application.properties`는 기본 실행 프로파일만 관리한다. 사용자가 기본 프로파일 변경을 요청하지 않았다면 수정하지 않는다. - `spring-boot-starter-parent`를 다시 추가하지 않는다. 이 프로젝트는 `spring-boot-dependencies` BOM import 방식으로 관리한다. - `native`, `nativeTest` 프로파일을 추가하지 않는다. 프로파일 추가 작업: 1. `pom.xml`에 같은 이름의 Maven profile이 이미 있는지 확인한다. 2. 없으면 기존 `dev` 또는 `live` 프로파일 블록과 같은 형식으로 새 profile을 추가한다. 3. `src/main/resources/{profileName}/application.properties`를 만든다. 4. `src/main/resources/{profileName}/db.properties`를 만든다. 5. 새 설정 파일은 기존 `dev` 또는 `live` 설정을 참고하되, 프로파일 이름이 들어가는 값은 `{profileName}`으로 맞춘다. 6. DB 접속 정보처럼 민감하거나 환경마다 달라지는 값은 기존 값을 무작정 복사하지 말고 placeholder 또는 사용자가 제공한 값으로 둔다. 프로파일 삭제 작업: 1. `pom.xml`의 ``에서 해당 profile 블록만 삭제한다. 2. `src/main/resources/{profileName}` 디렉터리의 설정 파일 삭제 여부를 사용자 요청에서 확인한다. 3. 삭제 대상 프로파일이 루트 `application.properties`의 `spring.profiles.active` 또는 `spring.config.import`에 쓰이고 있으면, 삭제 전에 대체 기본 프로파일을 사용자에게 확인한다. 4. 다른 프로파일이나 공통 설정은 건드리지 않는다. 검증: - Maven Wrapper를 사용할 수 있으면 `./mvnw validate`를 실행한다. - 가능하면 `./mvnw help:all-profiles`로 원하는 프로파일만 표시되는지 확인한다. - 검증을 실행할 수 없으면 그 이유를 최종 답변에 명확히 적는다. 최종 답변: - 변경한 파일 목록을 짧게 요약한다. - 추가/삭제된 프로파일 이름을 명시한다. - 실행한 검증 명령과 결과를 적는다. ``` ## Example ```text 위 프롬프트를 참고해서 `stage` 프로파일을 추가해줘. ``` ```text 위 프롬프트를 참고해서 `dev` 프로파일을 삭제해줘. 단, 설정 파일도 함께 삭제해줘. ```