chore: add Claude Code guidelines, rules and skills

- CLAUDE.md: product principles, crate layering, common commands, commits.
- .claude/rules: common, Rust, frontend, Tauri IPC, docs and security rules.
- .claude/skills: check, add-tauri-command, project-model-change,
  change-record, msix-integration-test, backlog-status.

Refs #16

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jychoi4andClaude Opus 5.5 committed 2026-11-11 11:09:05 +09:00
1 parent 7f5540f148
commit 905e6d4eaa
13 files changed
+654

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
---
name: check
description: Installer Studio 저장소의 전체 검사(fmt, clippy, Rust 테스트, 프런트엔드 테스트·빌드, 데스크톱 빌드)를 scripts/Check.ps1과 같은 순서로 실행하고 결과를 보고한다. 커밋 전, PR 전, "검사해", "테스트 돌려", "빌드 확인"에 사용한다.
---
# 전체 검사
`src/scripts/Check.ps1`과 같은 순서를 따른다. 스크립트를 그대로 실행해도 되지만, 어느 단계에서 실패했는지 보고하려면 단계별로 실행한다. 모든 명령은 `D:\networkSetup\src`에서 실행한다.
## 사전 조건
1. 실행 중인 `vite`/`tauri dev`/`msix-studio.exe` 프로세스가 있으면 먼저 종료한다. `npm ci`가 esbuild 파일을 교체하지 못하고, debug 빌드가 실행 파일을 덮어쓰지 못한다.
2. 변경 범위를 보고 빠른 모드와 전체 모드를 정한다.
- Rust만 바뀜: 1~3단계 + 5단계.
- 프런트엔드만 바뀜: 4단계.
- `src-tauri`, 공용 DTO, IPC 계약이 바뀜: 전체.
## 단계
```powershell
# 1. 포맷
cargo fmt --all --check
# 2. 린트 (경고도 실패)
cargo clippy --locked --workspace --all-targets -- -D warnings
# 3. Rust 단위·통합 테스트 (SDK 통합 테스트는 ignored)
cargo test --locked --workspace
# 4. 프런트엔드
cd apps/desktop
npm.cmd ci --no-audit --no-fund
npm.cmd test
npm.cmd run build
cd ../..
# 5. 데스크톱 실행 파일
cargo build --locked -p msix-studio --features custom-protocol
```
MakeAppx 통합 시험까지 요청받았으면 `msix-integration-test` 스킬을 따른다.
## 실패 처리
- `cargo fmt --check` 실패: `cargo fmt --all`을 실행해 고치고 다시 검사한다. 포맷 변경만 커밋 범위에 들어가게 한다.
- clippy 경고: `#[allow]`로 덮지 않는다. 코드를 고친다. 정말 의도된 패턴이면 이유를 주석으로 적고 `allow`를 가장 좁은 범위에 붙인다.
- 테스트 실패: 테스트를 약화시키지 않는다. 실패 출력 전문을 보고에 포함한다.
- `--locked` 실패: `Cargo.lock`/`package-lock.json`이 변경돼야 한다는 뜻이다. 의존성을 의도적으로 바꾼 경우에만 잠금 파일 갱신을 커밋한다.
## 보고 형식
단계별로 통과/실패를 표로 적고, 실행하지 않은 단계는 "실행 안 함"으로 적는다. 실패한 단계는 오류 출력을 코드 블록으로 붙인다. "모두 통과"는 다섯 단계를 실제로 모두 실행했을 때만 쓴다.
| 단계 | 결과 |
| --- | --- |
| fmt | 통과 |
| clippy | 통과 |
| cargo test | 통과 (N개) |
| npm test / build | 통과 (N개) |
| msix-studio build | 실행 안 함 (프런트엔드만 변경) |