Commit 5114be4
authored
feat(ci): SPEC-CI-MULTI-LLM-001 — Multi-LLM CI 통합 + Wizard + Auth 수정 (#734)
* feat(ci): SPEC-CI-MULTI-LLM-001 — Multi-LLM CI GitHub Actions 통합
추가된 기능:
- moai github init: GitHub Actions workflow 자동 설정
- moai github auth: Claude/Codex/Gemini/GLM 인증 관리
- moai github status: Runner 버전 확인
- moai github link-spec: GitHub Issue ↔ SPEC 연결
- moai github parse-issue: GitHub Issue 파싱
GitHub Actions Runner:
- 버전 체크 기능 (internal/github/runner/)
- Doctor 통합 (T-27)
- SessionStart Hook 통합 (T-28)
Workflow 템플릿:
- llm-panel.yml: LLM 상태 패널 자동 생성
- claude.yml, claude-code-review.yml: Claude 리뷰
- codex-review.yml: Codex 리뷰 (비공개 레포 전용)
- gemini-review.yml: Gemini 자동 리뷰
- glm-review.yml: GLM 자동 리뷰
문서:
- 4개국어 가이드 (ko/en/ja/zh) 작성 완료
🗿 MoAI <email@mo.ai.kr>
* feat(cli): moai github init 대화형 Wizard 구현
추가된 기능:
- 인터넷 연결 확인 (offline 환경 감지)
- 대화형 CLI Wizard (단계별 설정)
- 다국어 지원 (한국어, 영어, 일본어, 중국어)
- 언어 선택 Step
- LLM 다중 선택 Step (Claude, Codex, Gemini, GLM)
- 모델 설정 Step (LLM별 모델 선택)
- 트리거 설정 Step (PR 자동/코멘트)
- 요약 및 확인 Step
기술 구현:
- internal/github/netcheck.go - 인터넷 연결 확인
- internal/cli/github_wizard.go - Wizard 메인 로직
- internal/cli/github_wizard_messages.go - 다국어 메시지
- internal/cli/github_init.go - Wizard 연동
개선사항:
- 모든 주석을 영어로 변경
- 다국어 메시지 완전 지원
- 오프라인 환경 시 명확한 에러 메시지 및 해결 가이드
🗿 MoAI <email@mo.ai.kr>
* feat(cli): TUI 개선 - GLM 명칭 변경 및 모델 선택 추가
변경사항:
- "GLM (Zhipu AI)" -> "Z.AI" 명칭 변경
- LLM별 모델 선택 TUI Step 추가
- 최종 확인 Yes/No TUI 개선 (← Yes, No →)
개선된 TUI 흐름:
1. 언어 선택 (↑↓ 이동, Enter 선택)
2. LLM 다중 선택 (Space 토글, Enter 확인)
3. 각 LLM별 모델 선택 (NEW!)
- Claude: Opus 4.7 / Sonnet 4.6 / Haiku 4.5
- Codex: GPT-4 / GPT-3.5 Turbo
- Gemini: Pro / Flash
- Z.AI: GLM-4 / GLM-3-Turbo
4. 설정 요약 및 확인 (← Yes / No →)
기술 개선:
- ModelChoiceModel: LLM별 모델 선택 TUI
- YesNoModel: 좌우 화살표 Yes/No 선택
- 다국어 모델명 지원
🗿 MoAI <email@mo.ai.kr>
* feat(cli): 전체 다국어 지원 및 LLM 명칭 변경
다국어 지원 개선:
- 선택한 언어로 모든 TUI 메시지 표시
- 언어별 LLM 선택 프롬프트 다국어화
- 모델 선택 프롬프트 다국어화
- Yes/No 라벨 다국어화 (예/아니오, Yes/No, はい/いいえ, 是/否)
LLM 명칭 변경:
- "Z.AI" -> "GLM (Z.AI)" (더 명확한 표기)
기술 구현:
- Messages.LanguageCode() 메서드로 언어 코드 반환
- LLMModel, ModelChoiceModel, YesNoModel에 *Messages 전달
- GetModelSelectionPrompt()으로 동적 프롬프트 조회
- GetYesNoLabels()로 동적 Yes/No 라벨 조회
🗿 MoAI <email@mo.ai.kr>
* fix(auth): 한국어 주석 영어 변환 + nil 포인터 수정 + 코드 정리
- internal/github/auth/*.go: 모든 한국어 주석/문자열을 영어로 변환
- internal/github/secret.go: maskSecret → MaskSecret export, 주석 영어화
- internal/cli/github_auth.go: nil SecretSetter 크래시 수정, dryRunSecretSetter 추가
- codex.go: interface{} → any modernization
- 테스트 파일: 한국어 테스트명/메시지 영어화
🤖 MoAI <email@mo.ai.kr>
* fix(specs): 완료된 SPEC 상태 일괄 completed 업데이트 + TUI 모델 개선
SPEC 상태 교정 (15개, main merge 이력 기준):
- draft→completed: AGENT-002, HOOK-009, SKILL-002, SRS-001/002/003,
UPDATE-002, DESIGN-001
- planned→completed: WORKTREE-002
- 테이블 형식: CICD-001, SLV3-001, HOOK-008, STATUSLINE-001
- frontmatter 추가: CC297-001
TUI 개선:
- modelDefs 데이터 기반 모델 정의로 통합
- ModelNames 다국어 지원 (ko/en/ja/zh)
- dead code 제거 (LanguageCode, highlightStyle)
🤖 MoAI <email@mo.ai.kr>1 parent 3da4e33 commit 5114be4
81 files changed
Lines changed: 9789 additions & 1897 deletions
File tree
- .moai
- config/sections
- specs
- SPEC-AGENT-002
- SPEC-CC297-001
- SPEC-CI-MULTI-LLM-001
- SPEC-CICD-001
- SPEC-DESIGN-001
- SPEC-HOOK-008
- SPEC-HOOK-009
- SPEC-SKILL-002
- SPEC-SLV3-001
- SPEC-SRS-001
- SPEC-SRS-002
- SPEC-SRS-003
- SPEC-STATUSLINE-001
- SPEC-UPDATE-002
- SPEC-V3R3-HARNESS-LEARNING-001
- SPEC-WORKTREE-002
- docs-site/content
- en/guides
- ja/guides
- ko/guides
- zh/guides
- internal
- cli
- github
- auth
- runner
- workflow
- hook
- template
- templates
- .github
- actions
- codex-bootstrap
- detect-language
- setup-glm-env
- workflows
- .moai/config/sections
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
3 | 8 | | |
4 | 9 | | |
5 | 10 | | |
| |||
0 commit comments