🆙 Update Step-00 to Step-12 with the latest criteria from D:\_Geulbeot\기준
52
Step-00.md
Normal file
52
Step-00.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# Step 00. 초기화 (Total Reset)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
이전 실행에서 잘못 생성된 파일들을 완전히 제거하고 백지 상태를 만든다.
|
||||||
|
Step-12 통과 실패 후 재실행할 때도 이 단계부터 시작한다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. `D:\prompts` 하위 모든 디렉토리·파일 완전 삭제 (숨김 파일·빈 폴더 포함)
|
||||||
|
2. 삭제 완료 후 경로 재확인
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- D:\prompts 내 파일·폴더 100% Clean
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-01로 이동
|
||||||
|
- 실패 → 재실행
|
||||||
|
|
||||||
|
## Loop 규칙
|
||||||
|
Step-12 실패로 인한 재실행일 경우:
|
||||||
|
- 실패 원인이 된 Step 번호를 이슈에 기록한다
|
||||||
|
- 해당 Step 위키를 수정한 후 Step-00부터 재실행한다
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-00] 초기화 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 삭제된 폴더 수:
|
||||||
|
[완료] 삭제된 파일 수:
|
||||||
|
[오류] 삭제 실패 항목:
|
||||||
|
[확인] D:\prompts 현재 상태:
|
||||||
|
[확인] Loop 회차: 1회차 / N회차 (Step-XX 실패로 인한 재실행)
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인 (없으면 먼저 생성)
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
- issue_number: 진행현황 이슈 번호
|
||||||
|
- body: 채운 코멘트 내용
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-00] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석 (Step이 적용되지 않은 이유, 위키의 어느 부분이 부족했는가)
|
||||||
|
- 코멘트 2: 변경 대상 및 이유 (현재 내용, 변경 제안, 변경 이유, 다른 Step 영향 여부)
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치 (Step 위키 반영 필요 여부, 재실행 필요 여부)
|
||||||
58
Step-01.md
Normal file
58
Step-01.md
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# Step 01. 파일 수집 (Discovery)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
스캔 대상 경로에서 라이브러리·시스템 폴더를 제외하고 실제 작업 파일만 수집한다.
|
||||||
|
|
||||||
|
## 스캔 대상 경로
|
||||||
|
- `D:\crawling`
|
||||||
|
- `D:\for python`
|
||||||
|
- `D:\MYCLAUDE_PROJECT`
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. 아래 경로는 스캔에서 물리적으로 제외한다
|
||||||
|
- node_modules
|
||||||
|
- site-packages
|
||||||
|
- venv
|
||||||
|
- .git
|
||||||
|
- __pycache__
|
||||||
|
2. 위 3개 경로 전체를 재귀 탐색하여 파일 경로 목록을 수집한다 (확장자 무관)
|
||||||
|
3. 수집된 전체 파일 목록을 사용자에게 보고하고 승인을 받는다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 라이브러리·시스템 파일 0건
|
||||||
|
- 3개 경로 모두 스캔 완료
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 사용자 승인 후 → Step-02로 이동
|
||||||
|
- 누락 경로 발견 시 → 재실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-01] 파일 수집 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] D:\crawling 수집 파일 수:
|
||||||
|
[완료] D:\for python 수집 파일 수:
|
||||||
|
[완료] D:\MYCLAUDE_PROJECT 수집 파일 수:
|
||||||
|
[완료] 총 수집 파일 수:
|
||||||
|
[제외] 라이브러리 경로 제외 목록:
|
||||||
|
[오류] 접근 거부 항목: [SKIP: Access Denied]
|
||||||
|
[확인] 사용자 승인 여부:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-01] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
57
Step-02.md
Normal file
57
Step-02.md
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# Step 02. 필터링 (Filtering)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
수집된 전체 파일을 확장자 기준으로 분류하여 판독 대상과 제외 대상을 확정한다.
|
||||||
|
확장자는 미리 고정하지 않는다. 실제 발견된 것을 전부 통계 내고 분류한다.
|
||||||
|
|
||||||
|
## 검토 대상 경로
|
||||||
|
- `D:\crawling`
|
||||||
|
- `D:\for python`
|
||||||
|
- `D:\MYCLAUDE_PROJECT`
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. Step-01 수집 목록 기준으로 발견된 모든 확장자와 수량을 집계한다
|
||||||
|
2. 발견된 확장자를 아래 기준으로 분류한다
|
||||||
|
- 제외 대상: 텍스트·로직이 없는 순수 바이너리
|
||||||
|
(.png .jpg .jpeg .gif .bmp .exe .zip .dll .bin .db .edb .wav .mp3 .mp4 등)
|
||||||
|
- 정밀 검토 대상: 텍스트·로직·프롬프트가 존재할 가능성이 있는 모든 파일
|
||||||
|
(.pdf .hwp .hwpx .xlsx .docx .pptx .py .js .ts .html .css .md .txt .json .yaml .xml .ini .cfg 등)
|
||||||
|
- 판단 불가 확장자: [MANUAL: Review Required] 로 분류하여 사용자에게 보고
|
||||||
|
3. 최종 판독 대상 목록을 사용자에게 보고하고 확정한다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 텍스트·로직이 포함될 수 있는 파일 누락 0건
|
||||||
|
- 판단 불가 확장자 사용자 보고 완료
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-03으로 이동
|
||||||
|
- 재실행 → 누락 확장자 추가 후 재실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-02] 필터링 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 제외된 파일 수 (바이너리):
|
||||||
|
[완료] 정밀 검토 대상 파일 수:
|
||||||
|
[확장자별 통계 - 발견된 전체 나열]
|
||||||
|
|
||||||
|
[MANUAL: Review Required] 판단 불가 확장자:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-02] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
56
Step-03.md
Normal file
56
Step-03.md
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# Step 03. 텍스트 캡처 (Authentic Capture)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
Step-02에서 확정된 판독 대상 파일들의 텍스트를 인코딩 오류 없이 추출하여 scan_full.json에 저장한다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. Step-02 확정 목록 기준으로만 진행한다
|
||||||
|
2. 인코딩 자동 감지 및 교정 (CP949 / UTF-8)
|
||||||
|
3. 파일 유형별 처리
|
||||||
|
- .hwp / .hwpx → pyhwpx 또는 hwp5txt로 텍스트 변환
|
||||||
|
실패 시 → [MANUAL: HWP Review Required] 로 기록하고 다음 파일로 넘어간다
|
||||||
|
- .pdf → PyMuPDF 또는 pdfplumber로 텍스트 추출
|
||||||
|
- .docx → python-docx로 텍스트 추출
|
||||||
|
- .pptx → python-pptx로 텍스트 추출
|
||||||
|
- .xlsx → openpyxl로 텍스트 추출
|
||||||
|
- .py .js .ts .html .css .md .txt .json .yaml .xml .ini .cfg → 직접 읽기 (인코딩 교정)
|
||||||
|
4. 전체 캡처 결과를 scan_full.json으로 저장한다
|
||||||
|
5. 캡처된 파일 목록을 사용자에게 보고하고 승인을 받는다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 한글 가독성 100% (깨진 문자 0)
|
||||||
|
- scan_full.json 정상 생성
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 사용자 승인 후 → Step-04로 이동
|
||||||
|
- 인코딩 오류 다수 → 해당 파일 수동 처리 후 재실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-03] 텍스트 캡처 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 캡처 성공 파일 수:
|
||||||
|
[SKIP: Encoding Error] 목록:
|
||||||
|
[MANUAL: HWP Review Required] 목록:
|
||||||
|
[ERROR: File Corrupted] 목록:
|
||||||
|
[확인] scan_full.json 생성 여부:
|
||||||
|
[확인] 사용자 승인 여부:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-03] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
106
Step-04.md
Normal file
106
Step-04.md
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# Step 04. 블록 해체 및 분류 (Block Decomposition)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
파일 전체가 아닌 블록 단위로 해체하여 Judge-Standard 기준으로 각 블록의 성격을 판단한다.
|
||||||
|
하나의 파일에서 프롬프트, 도메인, 코드도메인, 제외가 동시에 나올 수 있다.
|
||||||
|
|
||||||
|
## 판단 전 반드시 숙지
|
||||||
|
분류 기준은 Judge-Standard 위키를 따른다.
|
||||||
|
아래는 오판을 방지하기 위한 핵심 주의사항이다.
|
||||||
|
|
||||||
|
### 프롬프트 판단 시 주의
|
||||||
|
- .txt / .md 파일 전체가 프롬프트일 수 있다 → 파일 전체 내용을 읽고 판단한다
|
||||||
|
- "당신은 ~입니다", "You are ~", "Act as ~" 로 시작하는 섹션 → 프롬프트 후보일 수 있으나, Judge-Standard 3요소(행동 지시, 가변 블록 포함)를 모두 충족하는지 반드시 추가 확인한다. 해당 문구만으로 프롬프트로 단정하지 않는다
|
||||||
|
- API 호출 코드(`openai.ChatCompletion.create()`, `client.chat.completions.create()` 등)는 프롬프트가 아니다 → 제외
|
||||||
|
- 한 줄짜리 인라인 f-string(`f"다음을 번역해줘:\n{text}"`)은 프롬프트가 아니다 → 제외
|
||||||
|
- `messages` 리스트 내부의 `content` 값만 추출하여 판단한다
|
||||||
|
|
||||||
|
### 도메인 판단 시 주의
|
||||||
|
- 도메인의 범위는 Judge-Standard를 따른다. 미리 한정하지 않는다
|
||||||
|
- CSS/HTML/JS도 재사용 가능하면 도메인이다
|
||||||
|
- .txt / .md 파일 안의 CSS 블록, HTML 구조, JS 함수도 도메인이 될 수 있다
|
||||||
|
|
||||||
|
### 코드도메인 판단 시 주의
|
||||||
|
- Python def / class 단위로 독립 완결되는 것만 해당한다
|
||||||
|
- 경로 설정, API 키, import 문만 있는 블록은 제외
|
||||||
|
- if __name__ == "__main__" 블록은 제외
|
||||||
|
|
||||||
|
## 파일 유형별 해체 방식
|
||||||
|
|
||||||
|
### .txt / .md 파일
|
||||||
|
- 파일 전체 내용을 읽는다
|
||||||
|
- 섹션(##) 단위로 분리하여 각각 판단한다
|
||||||
|
- 파일 전체가 하나의 프롬프트인 경우도 있다 (예: 작성_가이드.txt)
|
||||||
|
- 파일 안에 CSS/HTML/JS 블록이 섞여있으면 해당 블록도 별도 추출한다
|
||||||
|
|
||||||
|
### .py 파일
|
||||||
|
- 멀티라인 문자열 변수(`"""..."""`)
|
||||||
|
- `PROMPT_`, `SYSTEM_`, `system_prompt` 등 프롬프트 관련 변수명의 값
|
||||||
|
- `messages=[...]` 내부 content 값
|
||||||
|
- `def` / `class` 단위 함수·클래스
|
||||||
|
- 위 단위로 분리하여 각각 판단한다
|
||||||
|
|
||||||
|
### .html 파일
|
||||||
|
- `<style>` 태그 → 도메인 후보
|
||||||
|
- `<script>` 태그 → 도메인 후보
|
||||||
|
- 레이아웃 구조 → 도메인 후보
|
||||||
|
- 섹션별로 분리하여 판단한다
|
||||||
|
|
||||||
|
### .json / .yaml 파일
|
||||||
|
- `system`, `prompt`, `messages` 키의 값 → 프롬프트 후보
|
||||||
|
|
||||||
|
## 혼재 파일 처리 원칙
|
||||||
|
하나의 파일에서 여러 분류가 나오면 블록별로 독립 추출하여 각 목적 폴더에 저장한다
|
||||||
|
|
||||||
|
예시: 작성_가이드.txt (1개 파일)
|
||||||
|
- "당신은 전문 퍼블리싱 편집 디자이너입니다..." 섹션 → 프롬프트
|
||||||
|
- CSS 블록 전체 → 도메인
|
||||||
|
- HTML 구조 (box-cover, box-toc 등) → 도메인
|
||||||
|
- JavaScript 페이지네이션 로직 → 도메인
|
||||||
|
|
||||||
|
예시: step3_domain.py (1개 파일)
|
||||||
|
- `def sample_from_pdf(...)` 함수 → 코드도메인
|
||||||
|
- `def sample_from_xlsx(...)` 함수 → 코드도메인
|
||||||
|
- `OPENAI_API_KEY = "sk-..."` → 제외 [SKIP: Config]
|
||||||
|
- `client.chat.completions.create(...)` 호출부 → 제외
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 파일 전체 복사 0건 (반드시 블록 단위 추출)
|
||||||
|
- API 호출 코드가 프롬프트 폴더에 혼입 0건
|
||||||
|
- 한 줄짜리 인라인 문자열이 프롬프트로 분류 0건
|
||||||
|
- .txt / .md 파일 내 실제 프롬프트 누락 0건
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 분류 결과 사용자 보고 후 승인 → Step-05로 이동
|
||||||
|
- 오판 발견 시 → 재실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-04] 블록 해체 및 분류 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 프롬프트로 분류된 블록 수:
|
||||||
|
[완료] 도메인으로 분류된 블록 수:
|
||||||
|
[완료] 코드도메인으로 분류된 블록 수:
|
||||||
|
[완료] 제외 처리된 블록 수:
|
||||||
|
[MANUAL: Review Required] 판단 불가 목록:
|
||||||
|
[MANUAL: Too Short] 목록:
|
||||||
|
[확인] 사용자 승인 여부:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-04] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
51
Step-05.md
Normal file
51
Step-05.md
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# Step 05. 목적 판단 (Purpose Assignment)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
Step-04에서 분류된 각 블록이 어느 목적 폴더로 들어가는지 결정한다.
|
||||||
|
목적 폴더명은 블록 내용을 읽고 귀납적으로 결정한다. 미리 고정하지 않는다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. 각 블록의 핵심 과업을 한 문장으로 요약한다
|
||||||
|
2. 핵심 동사+명사를 추출하여 목적 폴더명을 결정한다 (한글)
|
||||||
|
3. 기존 목적 폴더와 일치하면 수납, 없으면 새 폴더 생성
|
||||||
|
4. 판단 불가 블록은 _검토필요 폴더로 격리한다
|
||||||
|
|
||||||
|
## 폴더명 규칙
|
||||||
|
- 한글 행위동사+명사 조합
|
||||||
|
- 기타, 일반, General 금지 → 반드시 _검토필요로 격리
|
||||||
|
- 목적이 명확히 드러나야 한다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 기타, 일반, General 폴더 0개
|
||||||
|
- _검토필요 외 미분류 블록 0개
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-06으로 이동
|
||||||
|
- _검토필요 항목 다수 → 사용자 판단 요청 후 재실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-05] 목적 판단 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 생성된 목적 폴더 및 블록 수:
|
||||||
|
[격리] _검토필요 이동 항목:
|
||||||
|
[확인] 기타/일반/General 폴더 존재 여부:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-05] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
63
Step-06.md
Normal file
63
Step-06.md
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# Step 06. 정제 (Clean Assignment)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
분류된 블록에서 불순물을 제거하여 실제로 사용 가능한 순수 재료로 정제한다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
|
||||||
|
### 프롬프트 정제
|
||||||
|
1. 코드 블록(def, class, const, import, API 호출 등) 완전 제거
|
||||||
|
2. 자연어 지시문만 남긴다
|
||||||
|
3. 원래 파일이 .txt/.md인 경우 CSS/HTML/JS 블록은 별도 도메인 파일로 분리한다
|
||||||
|
4. 정제 후 실제로 AI에 입력했을 때 의도한 동작이 나오는지 가상 실행으로 확인한다
|
||||||
|
|
||||||
|
### 도메인 정제
|
||||||
|
1. 원본 내용 그대로 보존한다
|
||||||
|
2. 프롬프트 지시문이 섞인 경우 해당 부분만 제거한다
|
||||||
|
3. 코드 주석 중 내용 이해에 필요한 것은 보존한다
|
||||||
|
4. 단순 import문, 경로 설정은 제거한다
|
||||||
|
|
||||||
|
### 코드도메인 정제
|
||||||
|
1. def / class 단위로 독립 완결되도록 정리한다
|
||||||
|
2. 필요한 import문은 함수 상단에 포함시킨다
|
||||||
|
3. if __name__ == "__main__" 블록 제거
|
||||||
|
4. API 키, 경로 설정 변수 제거
|
||||||
|
5. 함수 단독으로 복사해서 다른 프로젝트에 붙여넣어도 동작해야 한다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 프롬프트 파일 내 코드 블록 0개
|
||||||
|
- 도메인 파일 내 프롬프트 지시문 혼입 0건
|
||||||
|
- 코드도메인 파일 단독 동작 가능 여부 확인 완료
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-07로 이동
|
||||||
|
- 정제 실패 항목 → _검토필요로 격리 후 계속
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-06] 정제 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 정제 완료 프롬프트 수:
|
||||||
|
[완료] 정제 완료 도메인 수:
|
||||||
|
[완료] 정제 완료 코드도메인 수:
|
||||||
|
[격리] 정제 실패 → _검토필요 이동 항목:
|
||||||
|
[MANUAL: Review Required] 판단 불가 항목:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-06] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
69
Step-07.md
Normal file
69
Step-07.md
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# Step 07. 파일명 결정 (Output-Driven Naming)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
파일명만 보고 내용을 즉시 유추할 수 있도록 명명한다.
|
||||||
|
Organize-Standard 파일명 규칙을 따른다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. 각 블록의 핵심 과업 명사를 직접 추출한다 (폴더 경로에 의존하지 않는다)
|
||||||
|
2. Organize-Standard 파일명 규칙을 적용한다
|
||||||
|
|
||||||
|
### 프롬프트 파일명
|
||||||
|
```
|
||||||
|
{AI모델}_{목적}_{핵심과업}_v{버전}.md
|
||||||
|
예: Claude_문서생성_A4보고서생성_v01.md
|
||||||
|
예: GPT_문서생성_보고서마스터가이드_v01.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### 도메인 파일명
|
||||||
|
```
|
||||||
|
{용도 또는 분야}_{내용}_v{버전}.md
|
||||||
|
예: A4보고서_CSS인쇄레이아웃_v01.md
|
||||||
|
예: A4보고서_HTML4단구조_v01.md
|
||||||
|
예: A4보고서_JS페이지네이션_v01.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### 코드도메인 파일명
|
||||||
|
```
|
||||||
|
{기능}_Python_v{버전}.py
|
||||||
|
예: PDF텍스트이미지추출_Python_v01.py
|
||||||
|
예: HWPX텍스트추출_Python_v01.py
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 한글 깨짐 또는 내용을 유추할 수 없는 이름 발생 시 _검토필요로 격리한다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 파일명만으로 내용 유추 가능 100%
|
||||||
|
- 한글 깨짐 0개
|
||||||
|
- 기타/일반/미분류 등 무의미한 이름 0개
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-08로 이동
|
||||||
|
- 명명 불가 항목 → _검토필요 격리 후 계속
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-07] 파일명 결정 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 명명 완료 파일 수:
|
||||||
|
[격리] 명명 불가 → _검토필요 이동 항목:
|
||||||
|
[오류] 한글 깨짐 발생 항목:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-07] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
60
Step-08.md
Normal file
60
Step-08.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
# Step 08. Switching 연결 (Reference Switching)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
프롬프트 파일이 참조해야 할 도메인 파일을 연결한다.
|
||||||
|
파일 내용 수정 없이 도메인 버전만 교체하여 프롬프트 동작을 변경할 수 있도록 한다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. 각 프롬프트 파일의 내용을 읽고, 어떤 도메인이 필요한지 파악한다
|
||||||
|
2. 같은 목적 폴더 내 도메인 파일과 연결한다
|
||||||
|
3. 프롬프트 파일 내부에 아래 문법으로 참조를 삽입한다
|
||||||
|
```
|
||||||
|
{{도메인: ../도메인/{세부주제}/{파일명}}}
|
||||||
|
```
|
||||||
|
4. 참조된 도메인 파일이 실제로 존재하는지 전수 확인한다
|
||||||
|
|
||||||
|
### 연결 예시
|
||||||
|
```
|
||||||
|
## 참조 도메인
|
||||||
|
{{도메인: ../도메인/A4보고서_CSS인쇄레이아웃_v01.md}}
|
||||||
|
{{도메인: ../도메인/A4보고서_HTML4단구조_v01.md}}
|
||||||
|
{{도메인: ../도메인/A4보고서_JS페이지네이션_v01.md}}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 버전 스위칭
|
||||||
|
도메인이 업데이트될 경우 참조 파일명의 버전 번호만 변경한다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 모든 프롬프트에 참조 도메인 명시 100%
|
||||||
|
- 깨진 참조 링크 0개
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-09로 이동
|
||||||
|
- 깨진 링크 발견 → 수정 후 재실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-08] Switching 연결 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 연결 완료 프롬프트 수:
|
||||||
|
[오류] 깨진 참조 링크 목록:
|
||||||
|
[MANUAL: Review Required] 도메인 연결 불가 항목:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-08] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
59
Step-09.md
Normal file
59
Step-09.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# Step 09. 최종 통계 보고서 (Final Reporting)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
Step-00~08까지의 모든 과정과 결과를 종합하여 보고서를 작성한다.
|
||||||
|
이 보고서는 Step-12 Audit의 입력 자료가 된다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
1. 진행현황 이슈의 모든 코멘트에서 통계 데이터를 취합한다
|
||||||
|
2. 최종 폴더 트리를 생성하여 포함한다
|
||||||
|
3. 각 분류 결과의 근거를 간략히 명시한다
|
||||||
|
4. D:\prompts\Final_Review_Report.md 로 저장한다
|
||||||
|
|
||||||
|
## 보고서 포함 항목
|
||||||
|
```
|
||||||
|
## 1. 전체 통계
|
||||||
|
- 총 수집 파일 수:
|
||||||
|
- 제외 파일 수:
|
||||||
|
- 프롬프트 추출 수:
|
||||||
|
- 도메인 추출 수:
|
||||||
|
- 코드도메인 추출 수:
|
||||||
|
- _검토필요 격리 수:
|
||||||
|
|
||||||
|
## 2. 목적 폴더별 자산 현황
|
||||||
|
| 목적 폴더 | 프롬프트 | 도메인 | 코드도메인 |
|
||||||
|
|
||||||
|
## 3. 최종 폴더 트리
|
||||||
|
|
||||||
|
## 4. Loop 이력
|
||||||
|
- 실행 회차:
|
||||||
|
- 이전 실패 원인 (해당 시):
|
||||||
|
- 수정된 Step 위키 (해당 시):
|
||||||
|
```
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 통계 수치와 실제 작업 내용 100% 일치
|
||||||
|
- Final_Review_Report.md 정상 생성
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-10으로 이동
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-09] 최종 통계 보고서 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] Final_Review_Report.md 생성 여부:
|
||||||
|
[확인] 통계 수치 검증 결과:
|
||||||
|
[첨부] 최종 폴더 트리:
|
||||||
|
|
||||||
|
→ 결과: 통과
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
57
Step-10.md
Normal file
57
Step-10.md
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# Step 10. 가변성 검증 (Variability QA)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
프롬프트 파일이 반복 재사용 가능한 템플릿인지 확인한다.
|
||||||
|
완성된 결과물이 아닌, 입력값을 바꿔가며 반복 사용할 수 있는 형태여야 한다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
프롬프트 폴더 내 모든 파일에 대해 아래를 확인한다
|
||||||
|
|
||||||
|
### 확인 1. 가변 블록 존재 여부
|
||||||
|
아래 중 하나 이상이 반드시 존재해야 한다
|
||||||
|
- {변수명}, {content}, {data}
|
||||||
|
- [여기에 입력], [내용을 입력하세요]
|
||||||
|
- {{변수명}}
|
||||||
|
|
||||||
|
### 확인 2. 제약 조건 존재 여부
|
||||||
|
AI의 자유도를 통제하는 조건이 존재해야 한다
|
||||||
|
- 예: "원본 텍스트 절대 변경 금지", "3줄로 요약", "전문가 어조로 작성"
|
||||||
|
|
||||||
|
### 확인 3. 완성문 배제
|
||||||
|
이미 완성된 결과물 텍스트는 프롬프트가 아니다
|
||||||
|
- 보고서 본문, PPT 내용 추출물, 논문 목차 등 → _검토필요로 이동
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 가변 블록 없는 프롬프트 파일 0건
|
||||||
|
- 완성문이 프롬프트 폴더에 혼입 0건
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-11로 이동
|
||||||
|
- 실패 항목 → _검토필요로 이동 후 계속
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-10] 가변성 검증 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 검증 통과 프롬프트 수:
|
||||||
|
[실패] 가변 블록 없음 → _검토필요 이동:
|
||||||
|
[실패] 완성문으로 탈락 → _검토필요 이동:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-10] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
60
Step-11.md
Normal file
60
Step-11.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
# Step 11. 계층 정교화 (Final Refinement)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
전체 폴더 구조와 파일 간 연결을 최종 점검하고 정교화한다.
|
||||||
|
Step-12 Audit을 통과하기 위한 마지막 준비 단계다.
|
||||||
|
|
||||||
|
## 실행
|
||||||
|
|
||||||
|
### 1단계. 도메인 정렬
|
||||||
|
1. 모든 도메인 파일의 파일명·버전 연속성을 확인한다
|
||||||
|
2. 버전 번호가 중간에 비어있으면 채워넣거나 이슈로 기록한다
|
||||||
|
3. 같은 목적 폴더 내 도메인 파일들이 논리적으로 연결되는지 확인한다
|
||||||
|
|
||||||
|
### 2단계. Switching 링크 전수 업데이트
|
||||||
|
1. 도메인 파일명 최종 확정 후 모든 프롬프트 내 참조 링크를 업데이트한다
|
||||||
|
2. 최신 버전 도메인을 참조하고 있는지 확인한다
|
||||||
|
3. 깨진 링크가 없는지 전수 확인한다
|
||||||
|
|
||||||
|
### 3단계. 폴더 구조 최종 확인
|
||||||
|
1. 목적 폴더 내 자산이 10개 이상이면 하위 폴더 세분화를 검토한다
|
||||||
|
2. _검토필요 폴더에 남은 항목을 사용자에게 최종 보고한다
|
||||||
|
3. Organize-Standard 폴더 구조 규칙과 일치하는지 확인한다
|
||||||
|
|
||||||
|
## 통과 기준
|
||||||
|
- 버전 번호 공백 0개
|
||||||
|
- 깨진 Switching 링크 0개
|
||||||
|
- Organize-Standard 폴더 구조 규칙 100% 준수
|
||||||
|
|
||||||
|
## 다음 단계
|
||||||
|
- 통과 → Step-12로 이동
|
||||||
|
- 미비 항목 → 수정 후 재실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-11] 계층 정교화 - YYYY-MM-DD
|
||||||
|
|
||||||
|
[완료] 도메인 재정렬 완료 수:
|
||||||
|
[완료] Switching 링크 업데이트 완료 수:
|
||||||
|
[오류] 버전 공백 발견 항목:
|
||||||
|
[오류] 깨진 링크 발견 항목:
|
||||||
|
[보고] _검토필요 잔여 항목:
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
문제 발생 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-11] 문제 요약
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 원인 분석
|
||||||
|
- 코멘트 2: 변경 대상 및 이유
|
||||||
|
- 코멘트 3: 해결 방향 및 임시 조치
|
||||||
88
Step-12.md
Normal file
88
Step-12.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
# Step 12. 최종 Audit (The Ultimate Audit)
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
구축된 라이브러리 전체를 검증하는 최종 방어선이다.
|
||||||
|
이 기준은 절대 변경하지 않는다.
|
||||||
|
Step-12 실패 시 원인이 된 Step을 찾아 해당 Step 위키를 수정하고 Step-00부터 재실행한다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Audit 기준
|
||||||
|
|
||||||
|
### 기준 A. 프롬프트 폴더 검사
|
||||||
|
각 프롬프트 파일을 열어 아래를 확인한다
|
||||||
|
|
||||||
|
1. 실제로 사용 가능한 지시문인가
|
||||||
|
- AI에 그대로 입력했을 때 의도한 작업이 시작되는가
|
||||||
|
- 단순 코드 추출물, API 호출 코드, 완성된 보고서 본문이 아닌가
|
||||||
|
|
||||||
|
2. 가변 블록이 있어 반복 재사용이 가능한가
|
||||||
|
- 입력값을 바꿔가며 반복 사용할 수 있는 구조인가
|
||||||
|
|
||||||
|
3. 참조 도메인이 연결되어 있고 해당 파일이 실제 존재하는가
|
||||||
|
|
||||||
|
### 기준 B. 도메인 폴더 검사
|
||||||
|
각 도메인 파일을 열어 아래를 확인한다
|
||||||
|
|
||||||
|
1. 프롬프트가 참조했을 때 실제로 도움이 되는 재료인가
|
||||||
|
- 작업 수행에 필요한 지식, 기준, 템플릿, 코드 등이 담겨있는가
|
||||||
|
|
||||||
|
2. 내용이 온전히 보존되어 있는가
|
||||||
|
- 깨진 한글, 잘린 내용, 빈 파일이 없는가
|
||||||
|
|
||||||
|
3. 다른 분류(프롬프트 지시문, 일회성 실행 코드 등)가 섞여있지 않은가
|
||||||
|
|
||||||
|
### 기준 C. 코드도메인 폴더 검사
|
||||||
|
각 코드도메인 파일을 열어 아래를 확인한다
|
||||||
|
|
||||||
|
1. 다른 프로젝트에 그대로 가져다 써도 동작하는가
|
||||||
|
- API 키, 절대 경로, 프로젝트 고유 변수가 포함되어 있지 않은가
|
||||||
|
|
||||||
|
2. 함수·클래스 단위로 독립 완결되어 있는가
|
||||||
|
|
||||||
|
### 기준 D. 전체 구조 검사
|
||||||
|
1. Organize-Standard 파일명 규칙을 준수하고 있는가
|
||||||
|
2. Organize-Standard 폴더 구조 규칙을 준수하고 있는가
|
||||||
|
3. 깨진 한글 파일명이 없는가
|
||||||
|
4. 빈 폴더가 없는가
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 판정
|
||||||
|
|
||||||
|
### 통과 조건
|
||||||
|
기준 A, B, C, D 모두 이상 없음 → 전체 완료
|
||||||
|
|
||||||
|
### 실패 시 처리 (Loop)
|
||||||
|
1. 실패한 파일과 기준을 이슈에 기록한다
|
||||||
|
2. 어느 Step에서 발생한 문제인지 원인을 추적한다
|
||||||
|
3. 해당 Step 위키에 개선 내용을 반영한다
|
||||||
|
4. Step-00부터 재실행한다
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 진행현황 이슈 코멘트 템플릿
|
||||||
|
```
|
||||||
|
### [Step-12] 최종 Audit - YYYY-MM-DD (N회차)
|
||||||
|
|
||||||
|
[기준A 프롬프트] 실패 항목:
|
||||||
|
[기준B 도메인] 실패 항목:
|
||||||
|
[기준C 코드도메인] 실패 항목:
|
||||||
|
[기준D 전체구조] 실패 항목:
|
||||||
|
|
||||||
|
→ 최종 판정: 전체 완료 / 실패 → Step-XX 위키 수정 후 Step-00 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gitea 등록 (MCP 호출)
|
||||||
|
1. "진행현황" 이슈 번호 확인
|
||||||
|
2. 코멘트 템플릿을 채운다
|
||||||
|
3. create_issue_comment 호출
|
||||||
|
|
||||||
|
실패 시:
|
||||||
|
1. create_issue 호출 → 제목: [Step-12] Audit 실패 - 원인 Step-XX
|
||||||
|
2. 해당 이슈에 create_issue_comment 3회 호출
|
||||||
|
- 코멘트 1: 실패 항목 및 원인 분석 (어느 Step의 문제인가)
|
||||||
|
- 코멘트 2: 해당 Step 위키 변경 내용 및 이유
|
||||||
|
- 코멘트 3: Step-00 재실행 선언 및 예상 개선 사항
|
||||||
Reference in New Issue
Block a user