4 개 location 의 version SOT
버전은 정확히 4 군데에 동시 업데이트되어야 합니다. CHANGELOG.md, pyproject.toml, CLAUDE.md, README.md. `npm run sync-stats` 가 site SOT 와 changelog ts 까지 5 군데. 한 군데라도 누락되면 `geode version` 출력 과 PyPI tarball 메타데이터가 어긋남.
SemVer + 적용 기준
- MAJOR. 호환성 깨짐 (CLI flag 제거, public API rename)
- MINOR. 새 기능 (새 tool, 새 hook, 새 provider)
- PATCH. 버그 수정 / 내부 리팩토링
- 문서 only 변경은 버전 bump 없음
릴리스 워크플로우
# 1. CHANGELOG [Unreleased] -> [vX.Y.Z] — YYYY-MM-DD
# 2. 4 location 동시 bump (CHANGELOG / pyproject / CLAUDE.md / README.md)
# 3. release PR (develop -> main) — develop->main PR 은 Summary + Verification 만
# 4. main 머지 후 .github/workflows/release.yml 가 자동:
# - python -m build
# - twine upload --repository pypi
# - gh release create vX.Y.Z
# 5. 재설치 + 데몬 재기동
kill $(ps aux | grep "geode serve" | grep -v grep | awk '{print $2}')
uv tool install -e . --force
uv sync
geode version # confirm
geode serve &관련 워크플로우
.github/workflows/release.yml. tag → PyPI publish.github/workflows/install-smoke.yml. macOS + Ubuntu 의 install 회귀 슈트.claude/skills/geode-changelog. version 결정 + entry 작성 룰
참조: `CHANGELOG.md`, `.claude/skills/geode-changelog`, `.github/workflows/release.yml`.