저장소를 GitHub에 푸시해야 합니다:
cd /Users/gahee/Desktop/YoutubeGPTClaude-main
# Git 초기화 (아직 안 했다면)
git init
git add .
git commit -m "Initial commit"
# GitHub 저장소 연결
git remote add origin https://github.com/SaraHan774/ytt.git
git push -u origin mainGitHub에서 릴리스를 생성하세요:
- GitHub 저장소 페이지로 이동
- "Releases" → "Create a new release"
- Tag version:
v1.0.0 - Release title:
v1.0.0 - Initial Release - 설명 작성 후 "Publish release"
또는 CLI로:
# GitHub CLI 설치 (Homebrew)
brew install gh
# 인증
gh auth login
# 릴리스 생성
gh release create v1.0.0 \
--title "v1.0.0 - Initial Release" \
--notes "첫 공식 릴리스
주요 기능:
- YouTube 영상 전사 (Whisper)
- AI 요약 (Claude)
- 다국어 지원 (한국어/영어/일본어)
- 대화형 설치 마법사
- CLI 인터페이스"릴리스 tarball의 SHA256을 계산하세요:
# 릴리스 tarball 다운로드
curl -L https://github.com/SaraHan774/ytt/archive/refs/tags/v1.0.0.tar.gz -o ytt-1.0.0.tar.gz
# SHA256 계산
shasum -a 256 ytt-1.0.0.tar.gz
# 출력 예시:
# abc123def456... ytt-1.0.0.tar.gzFormula/ytt.rb 파일을 수정하세요:
class Ytt < Formula
desc "YouTube Transcript Tool - AI-powered video transcription"
homepage "https://github.com/SaraHan774/ytt"
url "https://github.com/SaraHan774/ytt/archive/refs/tags/v1.0.0.tar.gz"
sha256 "YOUR_ACTUAL_SHA256_HERE" # 위에서 계산한 값 입력
license "MIT"
# ...
end개인 Homebrew Tap을 만들어 쉽게 배포할 수 있습니다:
# 1. Tap 저장소 생성 (GitHub에서)
# 저장소 이름: homebrew-ytt
# URL: https://github.com/SaraHan774/homebrew-ytt
# 2. 로컬에 클론
git clone https://github.com/SaraHan774/homebrew-ytt.git
cd homebrew-ytt
# 3. Formula 디렉토리 생성
mkdir -p Formula
# 4. Formula 파일 복사
cp /Users/gahee/Desktop/YoutubeGPTClaude-main/Formula/ytt.rb Formula/
# 5. 커밋 및 푸시
git add Formula/ytt.rb
git commit -m "Add ytt formula"
git push origin main#!/bin/bash
# create-homebrew-tap.sh
GITHUB_USER="SaraHan774"
REPO_NAME="ytt"
TAP_REPO="homebrew-${REPO_NAME}"
echo "🍺 Creating Homebrew Tap..."
# 1. GitHub에 Tap 저장소 생성
gh repo create "${TAP_REPO}" --public --description "Homebrew tap for ${REPO_NAME}"
# 2. 클론
git clone "https://github.com/${GITHUB_USER}/${TAP_REPO}.git"
cd "${TAP_REPO}"
# 3. Formula 추가
mkdir -p Formula
cp "../${REPO_NAME}/Formula/ytt.rb" Formula/
# 4. 커밋 및 푸시
git add .
git commit -m "Add ${REPO_NAME} formula"
git push origin main
echo "✓ Tap 생성 완료: ${GITHUB_USER}/${TAP_REPO}"사용자들이 다음과 같이 설치할 수 있습니다:
# Tap 추가
brew tap SaraHan774/ytt
# 설치
brew install ytt
# 또는 한 줄로
brew install SaraHan774/ytt/ytt# 대화형 설정
ytt-init
# 사용
ytt "https://youtube.com/watch?v=xxx" ./output --summarize새 버전 릴리스 시 Formula를 자동으로 업데이트:
#!/bin/bash
# update-formula.sh
VERSION=$1
GITHUB_USER="SaraHan774"
REPO="ytt"
if [ -z "$VERSION" ]; then
echo "Usage: $0 <version>"
echo "Example: $0 1.0.1"
exit 1
fi
echo "🔄 Updating formula for version v${VERSION}..."
# 1. tarball 다운로드
TARBALL_URL="https://github.com/${GITHUB_USER}/${REPO}/archive/refs/tags/v${VERSION}.tar.gz"
curl -L "${TARBALL_URL}" -o "${REPO}-${VERSION}.tar.gz"
# 2. SHA256 계산
SHA256=$(shasum -a 256 "${REPO}-${VERSION}.tar.gz" | awk '{print $1}')
echo "SHA256: ${SHA256}"
# 3. Formula 업데이트
cd "../homebrew-${REPO}"
sed -i.bak "s|url \".*\"|url \"${TARBALL_URL}\"|g" Formula/ytt.rb
sed -i.bak "s|sha256 \".*\"|sha256 \"${SHA256}\"|g" Formula/ytt.rb
rm Formula/ytt.rb.bak
# 4. 커밋 및 푸시
git add Formula/ytt.rb
git commit -m "Update to v${VERSION}"
git push origin main
echo "✓ Formula 업데이트 완료!"사용:
chmod +x update-formula.sh
./update-formula.sh 1.0.1공식 Homebrew Core에 포함시키려면:
- ✅ 안정적인 릴리스 (v1.0.0+)
- ✅ MIT/Apache2 등 OSI 승인 라이선스
- ✅ 활발한 유지보수
- ✅ 30+ GitHub 스타
- ✅ 문서화
# 1. Homebrew 최신화
brew update
# 2. Formula 생성
brew create https://github.com/SaraHan774/ytt/archive/refs/tags/v1.0.0.tar.gz
# 3. Formula 편집
brew edit ytt
# 4. 로컬 테스트
brew install --build-from-source ytt
brew test ytt
brew audit --strict ytt
# 5. PR 생성
cd "$(brew --repository homebrew/core)"
git checkout -b ytt
cp /path/to/Formula/ytt.rb Formula/
git add Formula/ytt.rb
git commit -m "ytt 1.0.0 (new formula)"
git push origin ytt
# 6. GitHub에서 PR 생성
# https://github.com/Homebrew/homebrew-core/compareFormula가 제대로 작동하는지 테스트:
# 1. Tap 제거 (깨끗한 상태에서 테스트)
brew untap SaraHan774/ytt
# 2. 재설치
brew tap SaraHan774/ytt
brew install ytt
# 3. 명령어 테스트
ytt --version
ytt-init --help
ytt-config show-config
# 4. 제거 테스트
brew uninstall ytt
brew untap SaraHan774/ytt자동화 워크플로는 이미 .github/workflows/release.yml에 구성되어 있습니다. release를 publish하면 다음을 자동 수행합니다:
- tarball SHA256 계산
homebrew-ytttap 저장소 cloneFormula/ytt.rb의 top-levelurl/sha256업데이트 (2-space 인덴트 anchor로 resource 블록은 건드리지 않음)- 커밋 후 push
워크플로는 homebrew-ytt 저장소에 push할 토큰이 필요합니다. 이 시크릿이 없으면 워크플로의 첫 단계에서 명확한 에러 메시지와 함께 실패합니다.
설정 절차:
- fine-grained PAT 생성: https://github.com/settings/personal-access-tokens
- Repository access:
homebrew-ytt선택 - Repository permissions → Contents: Read and write
- 만료일 설정 (예: 1년)
- Repository access:
- 메인 저장소에 시크릿 등록:
https://github.com/<owner>/ytt/settings/secrets/actions- Name:
TAP_GITHUB_TOKEN - Secret: 위에서 생성한 PAT 값
- Name:
(classic PAT를 쓴다면 repo scope 전체 권한이 필요합니다.)
토큰을 등록하기 전에 release를 게시해야 한다면, 수동으로 tap을 업데이트할 수 있습니다:
# 1. 새 tarball 다운 + sha256
TAG=v1.4.1
URL="https://github.com/SaraHan774/ytt/archive/refs/tags/${TAG}.tar.gz"
SHA=$(curl -sL "$URL" | shasum -a 256 | awk '{print $1}')
# 2. tap 저장소에서 Formula 업데이트
cd /path/to/homebrew-ytt
sed -i '' "s|^ url \".*\"| url \"${URL}\"|" Formula/ytt.rb
sed -i '' "s|^ sha256 \".*\"| sha256 \"${SHA}\"|" Formula/ytt.rb
# 3. 커밋 + 푸시
git add Formula/ytt.rb
git commit -m "Update ytt to ${TAG}"
git push(macOS BSD sed는 -i에 빈 인자가 필요함. Linux GNU sed는 sed -i 's|...|' 그대로 작동.)
## 설치
### Homebrew (macOS/Linux)
```bash
# Tap 추가
brew tap SaraHan774/ytt
# 설치
brew install ytt
# 사용
ytt-init # 대화형 설정
ytt "https://youtube.com/watch?v=xxx" ./output --summarizepip install -r requirements.txt
pip install -e .
---
## 문제 해결
### Formula 오류 확인
```bash
brew audit --strict ytt
brew style ytt
# Python 버전 확인
brew info python@3.11
# ffmpeg 확인
brew info ffmpeg# 설치 로그
brew install --verbose ytt
# 디버그 모드
brew install --debug ytt