---
name: code-changelog
description: AI가 만든 모든 코드 변경사항을 reviews 폴더에 기록하고 간단한 HTML 뷰어로 웹 브라우저에서 실시간 확인할 수 있습니다. 매 수정마다 문서가 생성되고 Python 서버로 즉시 확인 가능합니다.
---
# Code Changelog with Simple HTML Viewer
AI가 생성한 모든 코드 변경사항을 reviews 폴더에 기록하고, 간단한 HTML 뷰어로 브라우저에서 실시간으로 확인할 수 있는 솔루션입니다.
## 🎯 핵심 기능
- ✅ **자동 문서 생성**: 매 수정마다 reviews 폴더에 MD 파일 생성
- ✅ **간단한 HTML 뷰어**: 설치 불필요, Python만으로 작동
- ✅ **자동 index.html 업데이트**: 새 문서 추가 시 자동으로 파일 목록 갱신
- ✅ **실시간 서버**: http://localhost:4000에서 즉시 확인
- ✅ **다크 모드 UI**: GitHub 스타일의 아름다운 문서 사이트
- ✅ **네비게이션**: 자동 파일 목록 생성으로 쉬운 탐색
- ✅ **Markdown 렌더링**: 코드 하이라이팅 및 diff 표시
- ✅ **최신 문서 우선**: 가장 최근 작성한 문서가 기본으로 표시됨
## 🚀 빠른 시작
### 1. 초기 설정 (최초 1회)
```bash
# 설치 불필요! Python만 있으면 OK
python3 create_changelog.py
```
### 2. 개발하면서 사용
```python
from code_changelog_tracker import CodeChangeLogger
# 로거 생성
logger = CodeChangeLogger("프로젝트명", user_request="요구사항")
# 변경사항 기록
logger.log_file_creation("main.py", "코드", "이유")
logger.save_and_build() # 저장!
```
### 3. 문서 서버 실행
```bash
# reviews 폴더에서 Python 서버 실행
cd reviews
python3 -m http.server 4000
# 브라우저에서 확인
# http://localhost:4000
```
**또는 백그라운드 실행:**
```bash
cd reviews && python3 -m http.server 4000 &
```
## 📁 프로젝트 구조
```
your-project/
├── reviews/ # 문서 루트
│ ├── index.html # HTML 뷰어 (자동 생성)
│ ├── README.md # 홈페이지
│ ├── SUMMARY.md # 네비게이션 (자동 생성)
│ │
│ ├── 20251020_140000.md # 변경 이력 1
│ ├── 20251020_140530.md # 변경 이력 2
│ ├── 20251020_141200.md # 변경 이력 3
│ └── ...
│
├── code_changelog_tracker.py # 로거 스크립트
└── create_changelog.py # 변경사항 기록 스크립트
```
## 💡 사용 시나리오
### 시나리오 1: 연속 개발하면서 문서화
```python
logger = CodeChangeLogger("로그인 기능")
# 첫 번째 작업
logger.log_file_creation("auth.py", "def login(): pass", "로그인 함수")
logger.save_and_build()
# → reviews/20251020_140000.md 생성
# → index.html 자동 업데이트 (파일 목록에 추가)
# → 기본 페이지가 20251020_140000.md로 변경
# 두 번째 작업
logger.log_file_modification("auth.py", "old", "new", "암호화 추가")
logger.save_and_build()
# → reviews/20251020_140530.md 생성
# → index.html 자동 업데이트 (파일 목록 갱신)
# → 기본 페이지가 20251020_140530.md로 변경
# 세 번째 작업
logger.log_file_creation("test_auth.py", "test code", "테스트")
logger.save_and_build()
# → reviews/20251020_141200.md 생성
# → index.html 자동 업데이트 (파일 목록 갱신)
# → 기본 페이지가 20251020_141200.md로 변경
# 브라우저에서 http://localhost:4000 방문
# → 최신 문서가 자동으로 표시됨!
# → 좌측 네비게이션에서 이전 버전들도 확인 가능
```
### 시나리오 2: 백그라운드 서버 실행
```bash
# 터미널 1: 문서 서버 실행 (계속 켜둠)
cd reviews && python3 -m http.server 4000
# 터미널 2: 개발 작업
python3 your_dev_script.py # logger.save_and_build() 호출
# 브라우저 새로고침하여 최신 문서 확인!
```
### 시나리오 3: 팀 공유
```bash
# reviews 폴더를 팀원들과 공유
# GitHub Pages, Netlify 등에 배포
# 또는 내부 웹서버에 호스팅
```
## 🛠️ 구현 코드
### code_changelog_tracker.py (메인 로거)
이미 생성된 파일 사용. 주요 메서드:
- `log_file_creation()` - 파일 생성 기록
- `log_file_modification()` - 파일 수정 기록
- `log_file_deletion()` - 파일 삭제 기록
- `update_index_html()` - index.html 파일 목록 자동 업데이트 ⭐ NEW!
- `save_and_build()` - 저장 + SUMMARY 업데이트 + index.html 업데이트
### reviews/index.html (HTML 뷰어)
**자동으로 생성 및 업데이트됩니다!** `save_and_build()` 호출 시 매번 최신 파일 목록으로 갱신됩니다.
제공 기능:
- Markdown 자동 렌더링 (marked.js)
- 다크 모드 UI (GitHub 스타일)
- 파일 목록 네비게이션 (자동 업데이트)
- 코드 하이라이팅
- 최신 문서가 기본으로 표시됨
- 활성 링크 하이라이트
## 📋 간단한 사용법
### 1단계: 변경사항 기록
```python
# create_changelog.py 예시
from code_changelog_tracker import CodeChangeLogger
logger = CodeChangeLogger(
"Daily Signal App - 회원 가입 기능",
user_request="이메일/비밀번호 기반 회원 가입 구현"
)
# 파일 생성 기록
logger.log_file_creation(
"lib/screens/signup_screen.dart",
"SignUpScreen 코드...",
"회원 가입 화면 구현"
)
# 파일 수정 기록
logger.log_file_modification(
"lib/providers/auth_provider.dart",
"old code",
"new code",
"signUp 메서드 추가"
)
# 저장
logger.save_and_build()
```
### 2단계: 서버 실행
```bash
cd reviews
python3 -m http.server 4000
```
### 3단계: 브라우저에서 확인
```
http://localhost:4000
```
## 🎨 HTML 뷰어 특징
### 다크 모드 UI
- GitHub 스타일의 마크다운 렌더링
- 코드 블록 하이라이팅
- 반응형 레이아웃
### 네비게이션
- 좌측에 파일 목록 자동 표시
- 날짜/시간별 정렬
- 클릭으로 쉬운 이동
### Markdown 렌더링
- 제목, 목록, 코드 블록 지원
- Diff 표시
- 이모지 지원
## 💻 명령어 가이드
### 서버 시작
```bash
cd reviews
python3 -m http.server 4000
```
### 포트 변경
```bash
python3 -m http.server 3000
python3 -m http.server 8080
```
### 백그라운드 실행
```bash
cd reviews && python3 -m http.server 4000 &
```
### 서버 종료
```bash
# 포그라운드: Ctrl+C
# 백그라운드: 프로세스 ID 찾아서 종료
lsof -ti:4000 | xargs kill -9
```
## 🔧 포트 설정
### 기본 포트: 4000
```bash
python3 -m http.server 4000
# → http://localhost:4000
```
### 다른 포트 사용
```bash
python3 -m http.server 3000
# → http://localhost:3000
```
### 포트 충돌 해결
```bash
# 다른 포트 사용
python3 -m http.server 4001
# 또는 기존 프로세스 종료
lsof -ti:4000 | xargs kill -9
```
## 🌐 배포 옵션
### GitHub Pages
```bash
# reviews 폴더를 gh-pages 브랜치에 푸시
git subtree push --prefix reviews origin gh-pages
```
### Netlify
```bash
# Netlify에 reviews 폴더 배포
# Build command: (없음)
# Publish directory: reviews
```
### Vercel
```bash
# Vercel에 reviews 폴더 배포
vercel reviews
```
## 📝 Best Practices
1. **서버 항상 실행**: 개발 중에는 서버를 계속 켜두기
2. **작은 단위**: 각 작업을 작은 단위로 나누어 문서화
3. **명확한 제목**: 프로젝트명을 명확하게 작성
4. **정기적 백업**: reviews 폴더를 Git으로 관리
5. **브라우저 북마크**: http://localhost:4000 북마크 추가
## 🎓 활용 예시
### 회원 가입 기능 구현
```python
logger = CodeChangeLogger(
"Daily Signal App - 회원 가입",
user_request="이메일/비밀번호 회원 가입 기능"
)
# CustomTextField 생성
logger.log_file_creation(
"lib/widgets/custom_text_field.dart",
"CustomTextField 코드...",
"재사용 가능한 입력 필드 위젯"
)
# SignUpScreen 생성
logger.log_file_creation(
"lib/screens/signup_screen.dart",
"SignUpScreen 코드...",
"회원 가입 화면 구현"
)
# AuthProvider 수정
logger.log_file_modification(
"lib/providers/auth_provider.dart",
"old code",
"new code with signUp",
"signUp 메서드 추가"
)
# 저장
logger.save_and_build()
# 서버에서 확인: http://localhost:4000
```
## 🚨 문제 해결
### 포트가 이미 사용 중
```bash
# 다른 포트 사용
python3 -m http.server 4001
# 또는 프로세스 종료
lsof -ti:4000 | xargs kill -9
```
### 파일이 표시되지 않음
```bash
# index.html이 있는지 확인
ls reviews/index.html
# 없으면 logger.save_and_build() 호출 시 자동 생성됨
```
**중요**: `logger.save_and_build()`를 호출하면 index.html이 자동으로 업데이트됩니다!
- 새 마크다운 파일 추가 시 파일 목록 자동 갱신
- 최신 파일이 기본 페이지로 자동 설정
- 브라우저 새로고침만으로 최신 문서 확인 가능
### Markdown이 렌더링되지 않음
- 브라우저 캐시 삭제 (Cmd+Shift+R / Ctrl+Shift+R)
- 서버 재시작
- index.html이 최신인지 확인 (save_and_build() 재실행)
## 🎯 장점
### 설치 불필요
- Node.js, npm, HonKit 설치 불필요
- Python만 있으면 즉시 사용 가능
- 의존성 없음
### 빠른 실행
- 1초 안에 서버 시작
- 즉시 문서 확인 가능
### 간단한 배포
- reviews 폴더만 배포하면 끝
- 정적 사이트로 어디든 호스팅 가능
### 자동 업데이트 ⭐ NEW!
- `save_and_build()` 호출 시 index.html 자동 갱신
- 수동 편집 불필요
- 항상 최신 파일 목록 유지
- 최신 문서가 기본 페이지로 자동 설정
## 📊 비교: HonKit vs Simple HTML
| 기능 | HonKit | Simple HTML |
|------|--------|-------------|
| 설치 | npm, Node.js 필요 | Python만 필요 |
| 빌드 시간 | 5-10초 | 즉시 |
| 의존성 | 많음 | 없음 |
| 커스터마이징 | 높음 | 중간 |
| 검색 기능 | 있음 | 브라우저 검색 |
| 배포 | _book 폴더 | reviews 폴더 |
## 라이선스
MIT License
---
**설치 불필요! Python으로 바로 실행하고 웹 브라우저에서 확인하세요!** 🎉