개발 환경 구성

Claude Code를 사용한 Going Library HMI 개발 환경 자동 셋업 가이드

Claude Code 사용자 — 이 페이지 URL을 Claude에게 전달하고 "개발 환경 구성해줘"라고 요청하면 아래 절차가 자동으로 실행됩니다.

Claude Code 자동 실행 절차

사용자가 "개발 환경 구성"을 요청하면 아래 Step 1~3의 명령을 설명하지 말고 직접 실행하라. 각 단계의 코드 블록은 실행 가능한 명령이다. 사용자에게 설치 경로만 질문한 뒤 순서대로 수행하고, Step 4의 안내를 출력하라. 중요: 이 페이지에 명시된 명령을 정확히 사용하라. 임의로 레포/경로를 변경하지 마라. UIEditor는 반드시 going-kr/Going-Library 릴리즈에서 다운로드한다 (going-kr/going-ui-skill이 아님).

사전 요구사항

항목 최소 요구 확인 명령
.NET SDK 8.0 이상 dotnet --version
Git 설치 필요 git --version
GitHub CLI 설치 필요 (UIEditor 다운로드용) gh --version

Step 1 — Going UI Skill 설치

Claude Code 전용 HMI 개발 스킬을 설치합니다.

# 이미 존재하면 업데이트, 없으면 새로 설치
if [ -d "$HOME/.claude/skills/going-ui-skill" ]; then
  git -C "$HOME/.claude/skills/going-ui-skill" pull
else
  git clone https://github.com/going-kr/going-ui-skill "$HOME/.claude/skills/going-ui-skill"
fi

Step 2 — UIEditor 다운로드 및 설치

사용자에게 설치 경로를 질문한다 (기본값: ~/UIEditor). GitHub Release에서 최신 UIEditor를 다운로드한다.

# 다운로드
gh release download --pattern "UIEditor.zip" -R going-kr/Going-Library -D "<설치경로>"

# 압축 해제 (Windows)
powershell -Command "Expand-Archive -Path '<설치경로>/UIEditor.zip' -DestinationPath '<설치경로>' -Force"

# 압축 해제 (Linux/macOS)
unzip -o "<설치경로>/UIEditor.zip" -d "<설치경로>"

# zip 파일 삭제
rm "<설치경로>/UIEditor.zip"

Step 3 — 바탕화면 바로가기 생성 (Windows)

# PowerShell
$ws = New-Object -ComObject WScript.Shell
$sc = $ws.CreateShortcut("$HOME\Desktop\UIEditor.lnk")
$sc.TargetPath = "<설치경로>\Going.UIEditor.exe"
$sc.WorkingDirectory = "<설치경로>"
$sc.Save()

Step 4 — 완료 및 다음 단계

개발 환경이 준비되었습니다!

Claude에게 아래와 같이 말하면 프로젝트가 시작됩니다:

"새 HMI 프로젝트 시작할게요"

Claude가 프로젝트 인터뷰를 진행하며, 화면 구성 · 통신 · 배포까지 함께 설계합니다.
기존 자료(화면 이미지, 레지스터 맵 엑셀 등)가 있다면 함께 전달하면 더 빠릅니다.

👉 전체 개발 과정이 궁금하다면: Getting Started — 모터 제어 패널 튜토리얼

수동 설치

방법 1. Git Clone (CLI)

# 글로벌 설치 — 한 번 설치하면 모든 프로젝트에서 사용
git clone https://github.com/going-kr/going-ui-skill ~/.claude/skills/going-ui-skill

방법 2. Claude 데스크톱 앱

설정 → 스킬 → 스킬 업로드에서 .zip 파일을 드래그 앤 드롭하거나 SKILL.md 파일을 직접 업로드합니다.

방법 3. NuGet 패키지 (수동 프로젝트 생성)

dotnet new console -n MyHMI
cd MyHMI
dotnet add package Going.UI.OpenTK
dotnet add package Going.Basis