Files
oh-my-openagent/.opencode/command/get-unpublished-changes.md

4.2 KiB

description
description
Compare HEAD with the latest published npm version and list all unpublished changes
IMMEDIATELY output the analysis. NO questions. NO preamble.

CRITICAL: DO NOT just copy commit messages!

For each commit, you MUST:

  1. Read the actual diff to understand WHAT CHANGED
  2. Describe the REAL change in plain language
  3. Explain WHY it matters (if not obvious)

Steps:

  1. Run git diff v{published-version}..HEAD to see actual changes
  2. Group by type (feat/fix/refactor/docs) with REAL descriptions
  3. Note breaking changes if any
  4. Recommend version bump (major/minor/patch)

Output Format:

  • feat: "Added X that does Y" (not just "add X feature")
  • fix: "Fixed bug where X happened, now Y" (not just "fix X bug")
  • refactor: "Changed X from A to B, now supports C" (not just "rename X")
!`npm view oh-my-opencode version 2>/dev/null || echo "not published"` !`node -p "require('./package.json').version" 2>/dev/null || echo "unknown"` !`git tag --sort=-v:refname | head -1 2>/dev/null || echo "no tags"` !`npm view oh-my-opencode version 2>/dev/null | xargs -I{} git log "v{}"..HEAD --oneline 2>/dev/null || echo "no commits since release"` !`npm view oh-my-opencode version 2>/dev/null | xargs -I{} git diff "v{}"..HEAD --stat 2>/dev/null || echo "no diff available"` !`npm view oh-my-opencode version 2>/dev/null | xargs -I{} git diff "v{}"..HEAD --stat 2>/dev/null | tail -1 || echo ""` ## Unpublished Changes (v{published} → HEAD)

feat

Scope What Changed
X 실제 변경 내용 설명

fix

Scope What Changed
X 실제 변경 내용 설명

refactor

Scope What Changed
X 실제 변경 내용 설명

docs

Scope What Changed
X 실제 변경 내용 설명

Breaking Changes

None 또는 목록

Files Changed

{diff-stat}

Suggested Version Bump

  • Recommendation: patch|minor|major
  • Reason: 이유
## Oracle 배포 안전성 검토 (사용자가 명시적으로 요청 시에만)

트리거 키워드: "배포 가능", "배포해도 될까", "안전한지", "리뷰", "검토", "oracle", "오라클"

사용자가 위 키워드 중 하나라도 포함하여 요청하면:

1. 사전 검증 실행

bun run typecheck
bun test
  • 실패 시 → Oracle 소환 없이 즉시 " 배포 불가" 보고

2. Oracle 소환 프롬프트

다음 정보를 수집하여 Oracle에게 전달:

## 배포 안전성 검토 요청

### 변경사항 요약
{위에서 분석한 변경사항 테이블}

### 주요 diff (기능별로 정리)
{각 feat/fix/refactor의 핵심 코드 변경 - 전체 diff가 아닌 핵심만}

### 검증 결과
- Typecheck: ✅/❌
- Tests: {pass}/{total} (✅/❌)

### 검토 요청사항
1. **리그레션 위험**: 기존 기능에 영향을 줄 수 있는 변경이 있는가?
2. **사이드이펙트**: 예상치 못한 부작용이 발생할 수 있는 부분은?
3. **Breaking Changes**: 외부 사용자에게 영향을 주는 변경이 있는가?
4. **Edge Cases**: 놓친 엣지 케이스가 있는가?
5. **배포 권장 여부**: SAFE / CAUTION / UNSAFE

### 요청
위 변경사항을 깊이 분석하고, 배포 안전성에 대해 판단해주세요.
리스크가 있다면 구체적인 시나리오와 함께 설명해주세요.
배포 후 모니터링해야 할 키워드가 있다면 제안해주세요.

3. Oracle 응답 후 출력 포맷

🔍 Oracle 배포 안전성 검토 결과

판정: SAFE / ⚠️ CAUTION / UNSAFE

리스크 분석

영역 리스크 레벨 설명
... 🟢/🟡/🔴 ...

권장 사항

  • ...

배포 후 모니터링 키워드

  • ...

결론

{Oracle의 최종 판단}