feat(pipeline): YouTube Tab → PDF 자동 추출 파이프라인 초기 구현
- 5단계 파이프라인: 다운로드 → 프레임 추출 → 패턴 감지 → 중복 제거 → PDF 생성 - 3가지 패턴 지원: overlay, split, scroll - MSE 기반 픽셀 비교 프레임 중복 제거 - split 모드: 42% 크롭 + 밝기 필터 + Tab 라인 검증 - overlay 모드: 320x120 정규화 + 슬라이딩 윈도우 비교 - 프로젝트 문서 초기 작성 (architecture, tech-stack, STATUS, known-issues)
This commit is contained in:
45
.agent/references/conventions.md
Normal file
45
.agent/references/conventions.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Coding Conventions
|
||||
|
||||
> AI 에이전트는 코드를 작성하기 전 이 컨벤션을 확인합니다.
|
||||
|
||||
## 네이밍
|
||||
|
||||
| 대상 | 규칙 | 예시 |
|
||||
|------|------|------|
|
||||
| 변수/함수 | camelCase | `getUserData()` |
|
||||
| 클래스 | PascalCase | `UserService` |
|
||||
| 상수 | UPPER_SNAKE_CASE | `MAX_RETRY_COUNT` |
|
||||
| 파일명 | kebab-case | `user-service.js` |
|
||||
| CSS 클래스 | kebab-case | `.nav-header` |
|
||||
|
||||
## 코드 스타일
|
||||
|
||||
- 들여쓰기: (2 spaces / 4 spaces / tab)
|
||||
- 세미콜론: (사용 / 미사용)
|
||||
- 따옴표: (single / double)
|
||||
- 줄바꿈: LF (Unix style)
|
||||
|
||||
## 커밋 메시지
|
||||
|
||||
```
|
||||
<type>(<scope>): <description>
|
||||
|
||||
type: feat|fix|refactor|test|docs|chore|ci|infra
|
||||
scope: (선택)
|
||||
```
|
||||
|
||||
**예시:**
|
||||
- `feat(server): add WebSocket reconnection logic`
|
||||
- `fix(frontend): resolve button overlap on mobile`
|
||||
- `docs: update API documentation`
|
||||
|
||||
## 주석
|
||||
|
||||
- 한국어/영어 혼용 가능
|
||||
- TODO 주석: `// TODO: 설명` 형식
|
||||
- 복잡한 로직에는 반드시 WHY(왜) 주석 추가
|
||||
|
||||
## 테스트
|
||||
|
||||
- 테스트 파일 위치: (예: `__tests__/` 또는 `*.test.js`)
|
||||
- 테스트 네이밍: `should [expected behavior] when [condition]`
|
||||
Reference in New Issue
Block a user