Metadata-Version: 2.4
Name: aos-git
Version: 0.8.6
Summary: AI-powered Git merge conflict resolver — let AI merge both sides intelligently
License: MIT
Project-URL: Homepage, http://mod.lge.com/hub/esdataplfm/part_de/aos-git.git
Project-URL: Issues, http://mod.lge.com/hub/esdataplfm/part_de/aos-git.git/issues
Keywords: git,merge,conflict,ai,cli
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: click>=8.1
Requires-Dist: rich>=13.0
Requires-Dist: tomli_w>=1.0
Requires-Dist: openai>=1.0
Requires-Dist: anthropic>=0.25
Requires-Dist: questionary>=2.0

# aos — AI-powered Git Helper

git을 몰라도, AI가 충돌을 해결해주는 Git 도우미입니다.

```bash
pip install aos-git
aos init          # 프로젝트 초기화 (최초 1회)
aos setup         # AI + 알림 설정 (최초 1회)
```

---

## 🔥 자주 쓰는 명령어 (이것만 알면 됩니다)

### 프로젝트 처음 설정할 때 (최초 1회)
```bash
aos init          # git hooks + 알림 수신자/관리자 설정
aos setup         # AI 제공자 + SMTP + PyPI 토큰 설정
```

### 매일 하는 작업
```bash
aos checkout -b feature/내브랜치   # 새 브랜치 만들기
# ... 코드 수정 ...
aos add                           # 변경사항 스테이징
aos commit -m "작업 내용"          # 커밋
aos push                          # 원격에 반영
```

### 상대방 변경사항 받기
```bash
aos pull          # 충돌 있으면 AI가 자동 해결
# 또는
aos sync          # 최신 main을 내 브랜치에 반영 (AI 해결)
```

### 브랜치 병합
```bash
aos merge feature/팀원작업         # 브랜치 병합 (충돌 시 AI 해결)
aos push                           # 병합된 main을 원격에 반영
```

### 새 버전 릴리스
```bash
aos release patch                  # 0.8.5 → 0.8.6 (자동 PyPI 배포)
```

### 상태 확인
```bash
aos status        # 지금 뭐가 바뀌었는지
aos log           # 커밋 히스토리 보기
aos branch        # 브랜치 목록
```

---

## 📦 설치

```bash
pip install aos-git
```

### 최초 설정
```bash
aos init           # git hooks + 알림 설정 (프로젝트 1회)
aos setup          # AI + SMTP + PyPI 토큰 (최초 1회)
```

`aos init`은 프로젝트마다 1번, `aos setup`은 내 PC에서 1번만 하면 됩니다.

---

## 📋 전체 명령어

| 명령어 | 설명 |
|--------|------|
| `aos init` | 프로젝트 초기화 (hooks + 알림 설정) |
| `aos setup` | AI 제공자 + SMTP + 토큰 설정 |
| `aos checkout` | 브랜치 전환/생성 (화살표 선택) |
| `aos branch` | 브랜치 목록 보기/삭제 |
| `aos add` | 변경사항 스테이징 |
| `aos commit` | 커밋 (`-a` 플래그로 전체 스테이징) |
| `aos status` | 작업 상태 확인 |
| `aos diff` | 변경사항 상세 보기 |
| `aos log` | 커밋 히스토리 |
| `aos stash` | 작업 임시 저장/복원 |
| `aos pull` | 원격 변경사항 받기 (AI 충돌 해결) |
| `aos push` | 원격에 반영 |
| `aos merge` | 브랜치 병합 (AI 충돌 해결) |
| `aos sync` | main 변경사항을 내 브랜치에 반영 |
| `aos release` | 새 버전 릴리스 (자동 PyPI 배포) |
| `aos config` | 설정 확인/변경 |
| `aos install` | Claude Code 연동 설치 |
| `aos claude` | 프로젝트별 Claude 연동 |

---

## 📖 상세 가이드

### `aos init` — 프로젝트 초기화 (신규)
```bash
aos init                              # 전체 초기화
aos init --hooks-only                 # git hooks만 다시 설치
```
- git hooks 자동 설정 (clone 후 1회 실행)
- 팀원(recipients)과 병합 관리자(mergers) 이메일 등록
- 언제든 다시 실행 가능

### `aos setup` — AI + 알림 설정
```bash
aos setup                             # 전체 설정 (AI + 알림 + 토큰)
aos setup --notify                    # 알림만 다시 설정
aos setup --pypi                      # PyPI 토큰만 등록
```
- AI 제공자: Anthropic / OpenAI / Ollama / Databricks / Custom
- 알림 채널: Email / Slack / Teams

### `aos checkout` — 브랜치 이동
```bash
aos checkout                          # 화살표 키로 선택
aos checkout main                     # 브랜치명 직접 입력
aos checkout -b feature/내작업        # 새 브랜치 생성
aos checkout -b feature/x --push      # 생성 + 원격에 바로 push
```

### `aos merge` — 브랜치 병합 (핵심 기능)
```bash
aos merge feature/팀원작업            # 충돌 시 AI가 자동 해결
aos merge origin/feature/x            # 원격 브랜치 병합
aos merge feature/x --no-fetch        # fetch 없이 바로 병합
```

### `aos sync` — 최신 변경사항 반영
```bash
aos sync                              # origin/main → 내 브랜치
aos sync --base dev                   # origin/dev 기준
```

### `aos release` — 버전 릴리스
```bash
aos release patch                     # 0.8.5 → 0.8.6 (추천)
aos release minor                     # 0.8.6 → 0.9.0
aos release major                     # 0.9.0 → 1.0.0
aos release 1.0.0                     # 원하는 버전 직접 지정
aos release --dry-run                 # 미리보기 (실제 실행 안 함)
```
자동 실행: 버전업 → 커밋 → 태그 → push → PyPI 배포

### `aos config` — 설정 관리
```bash
aos config                            # 현재 설정 보기
aos config --test                     # AI + 알림 연결 테스트
aos config --edit                     # 설정 마법사 재실행
aos config pypi --token pypi-...      # PyPI 토큰 등록
aos config pypi --remove              # PyPI 토큰 삭제
aos config notify --add-recipient 이메일  # 수신자 추가
```

---

## 🔄 팀 워크플로우

### 팀원
```bash
# 1. 작업 시작
aos checkout -b feature/데이터정제

# 2. 코드 수정 후 저장
aos add
aos commit -m "데이터 정제 로직 추가"
aos push

# 3. 알림 받으면 최신 버전 반영
aos sync
aos push
```

### 병합 관리자
```bash
# 1. 팀원 작업을 main에 병합
aos checkout main
aos merge feature/팀원작업       # 충돌 시 AI 해결

# 2. main 반영 (팀원에게 자동 알림)
aos push

# 3. 새 버전 릴리스
aos release patch
```

---

## ⚙️ 동작 방식

### Pre-push Hook
push 시 자동 실행:
- `main` push → 팀원 이메일 알림
- `feature/*` push → 병합 관리자 알림
- `v*.*.*` 태그 push → 자동 PyPI 배포

PyPI 토큰 찾는 순서:
1. 환경변수 `PYPI_API_TOKEN`
2. `~/.aos/config.toml` (`aos setup --pypi`)
3. `~/.pypirc`

### 충돌 해결 흐름
```
충돌 감지 → AI 분석 (BASE/OURS/THEIRS) → 해결안 제안
  → [y] 적용 [N] 건너뜀 [e] 직접 편집 → 자동 커밋
```

---

## ☁️ Claude Code 연동

```bash
aos install          # 전역 skill 설치 (1회)
aos claude install   # 프로젝트 연동 (저장소마다 1회)
```

---

## 요구사항

- Python 3.11+
- git
- Anthropic API 키 또는 Databricks 접근 권한
