AI-powered Git merge conflict resolver — let AI merge both sides intelligently
Project description
aos — AI-powered Git Helper
git을 몰라도, AI가 충돌을 해결해주는 Git 도우미입니다.
pip install aos-git
aos init # 프로젝트 초기화 (최초 1회)
aos setup # AI + 알림 설정 (최초 1회)
🔥 자주 쓰는 명령어 (이것만 알면 됩니다)
프로젝트 처음 설정할 때 (최초 1회)
aos init # git hooks + 알림 수신자/관리자 설정
aos setup # AI 제공자 + SMTP + PyPI 토큰 설정
매일 하는 작업
aos checkout -b feature/내브랜치 # 새 브랜치 만들기
# ... 코드 수정 ...
aos add # 변경사항 스테이징
aos commit -m "작업 내용" # 커밋
aos push # 원격에 반영
상대방 변경사항 받기
aos pull # 충돌 있으면 AI가 자동 해결
# 또는
aos sync # 최신 main을 내 브랜치에 반영 (AI 해결)
브랜치 병합
aos merge feature/팀원작업 # 브랜치 병합 (충돌 시 AI 해결)
aos push # 병합된 main을 원격에 반영
새 버전 릴리스
aos release patch # 0.8.5 → 0.8.6 (자동 PyPI 배포)
상태 확인
aos status # 지금 뭐가 바뀌었는지
aos log # 커밋 히스토리 보기
aos branch # 브랜치 목록
📦 설치
pip install aos-git
최초 설정
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 resolve |
남아 있는 충돌 마커를 AI로 해결 (Ctrl+C 후 재개) |
aos sync |
main 변경사항을 내 브랜치에 반영 |
aos release |
새 버전 릴리스 (자동 PyPI 배포) |
aos config |
설정 확인/변경 |
aos install |
Claude Code 연동 설치 |
aos claude |
프로젝트별 Claude 연동 |
📖 상세 가이드
aos init — 프로젝트 초기화 (신규)
aos init # 전체 초기화
aos init --hooks-only # git hooks만 다시 설치
- git hooks 자동 설정 (clone 후 1회 실행)
- 팀원(recipients)과 병합 관리자(mergers) 이메일 등록
- 언제든 다시 실행 가능
aos setup — AI + 알림 설정
aos setup # 전체 설정 (AI + 알림 + 토큰)
aos setup --notify # 알림만 다시 설정
aos setup --pypi # PyPI 토큰만 등록
- AI 제공자: Anthropic / OpenAI / Ollama / Databricks / Custom
- 알림 채널: Email / Slack / Teams
aos checkout — 브랜치 이동
aos checkout # 화살표 키로 선택
aos checkout main # 브랜치명 직접 입력
aos checkout -b feature/내작업 # 새 브랜치 생성
aos checkout -b feature/x --push # 생성 + 원격에 바로 push
aos merge — 브랜치 병합 (핵심 기능)
aos merge feature/팀원작업 # 충돌 시 AI가 자동 해결
aos merge origin/feature/x # 원격 브랜치 병합
aos merge feature/x --no-fetch # fetch 없이 바로 병합
aos resolve — 남은 충돌 이어서 해결
aos merge / pull / sync 도중 Ctrl+C로 중단됐거나, 수동으로 충돌이 발생했을 때 실행합니다. <<<<<<< 마커가 남은 블록만 골라 AI로 다시 해결하므로, 부분적으로 해결된 상태에서도 안전하게 이어갈 수 있습니다.
aos resolve # 남아 있는 충돌 마커를 AI로 해결
aos resolve --auto # 프롬프트 없이 전부 자동 적용
모두 해결되면 안내에 따라 aos add + aos commit 으로 마무리하면 됩니다.
aos sync — 최신 변경사항 반영
aos sync # origin/main → 내 브랜치
aos sync --base dev # origin/dev 기준
aos release — 버전 릴리스
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 — 설정 관리
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 이메일 # 수신자 추가
🔄 팀 워크플로우
팀원
# 1. 작업 시작
aos checkout -b feature/데이터정제
# 2. 코드 수정 후 저장
aos add
aos commit -m "데이터 정제 로직 추가"
aos push
# 3. 알림 받으면 최신 버전 반영
aos sync
aos push
병합 관리자
# 1. 팀원 작업을 main에 병합
aos checkout main
aos merge feature/팀원작업 # 충돌 시 AI 해결
# 2. main 반영 (팀원에게 자동 알림)
aos push
# 3. 새 버전 릴리스
aos release patch
⚙️ 동작 방식
Pre-push Hook
push 시 자동 실행:
mainpush → 팀원 이메일 알림feature/*push → 병합 관리자 알림v*.*.*태그 push → 자동 PyPI 배포
PyPI 토큰 찾는 순서:
- 환경변수
PYPI_API_TOKEN ~/.aos/config.toml(aos setup --pypi)~/.pypirc
충돌 해결 흐름
충돌 감지 → AI 분석 (BASE/OURS/THEIRS) → 해결안 제안
→ [y] 적용 [N] 건너뜀 [e] 직접 편집 → 자동 커밋
☁️ Claude Code 연동
aos install # 전역 skill 설치 (1회)
aos claude install # 프로젝트 연동 (저장소마다 1회)
요구사항
- Python 3.11+
- git
- Anthropic API 키 또는 Databricks 접근 권한
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aos_git-0.8.15.tar.gz.
File metadata
- Download URL: aos_git-0.8.15.tar.gz
- Upload date:
- Size: 58.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
720fed5f3dd6e7194e20cbb4d022bc55a32833b561f5be834f4eaa5c0e05dfad
|
|
| MD5 |
48128913cc6383bc1ae890f1c8f3cb18
|
|
| BLAKE2b-256 |
af2421d77d42a22eaee80d500f2bfcdb0221dd0d393e136b142ed2d603e08618
|
File details
Details for the file aos_git-0.8.15-py3-none-any.whl.
File metadata
- Download URL: aos_git-0.8.15-py3-none-any.whl
- Upload date:
- Size: 64.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98e2da4a81e91a40d9bce00d3d7e2104e46e4e0092a13ec4ad5b244f18e5ea92
|
|
| MD5 |
b90dae0b934d9912164c9d1c614b534b
|
|
| BLAKE2b-256 |
15d2feb193f177e87725d1315b871fd732f35027bd29f917f48d30ef3a65d278
|