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

+75
View File
@@ -0,0 +1,75 @@
---
name: change-record
description: 기능·정책 변경을 마친 뒤 docs/changes/YYYY-MM-DD-<slug>.md 변경 기록과 src/tests/verification-YYYY-MM-DD-<slug>.json 검증 기록을 저장소 관례대로 작성하고 README·백로그 링크를 연결한다. "변경 기록", "문서화해", "검증 기록", "changes 작성"에 사용한다.
---
# 변경 기록 작성
기존 예: `docs/changes/2026-10-23-developer-signing.md`, `src/tests/verification-2026-10-23-developer-signing.json`. 먼저 가장 최근 기록 하나를 읽고 같은 어조와 구조를 따른다.
## 수집할 사실
기록을 쓰기 전에 실제로 확인한다. 기억이나 추정으로 채우지 않는다.
- `cargo test --locked --workspace` 통과 개수, `npm.cmd test` 통과 개수.
- 실제 도구를 실행했다면 결과 JSON(`releases/<id>/release.json`, `signing-report.json`)의 `buildId`, `status`, `sha256`, `signing`, `installationTest`, `deploymentReady`.
- 실행하지 않은 것: GUI 클릭 시험, Windows VM 설치, 대용량 샘플 재생성 등. 이것도 기록 대상이다.
- 바뀐 오류 코드·CLI 옵션·종료 코드.
## 변경 기록 (`docs/changes/<date>-<slug>.md`)
```markdown
# <기능 이름>
<YYYY-MM-DD>. <무엇을 어디에 추가/변경했는지 두 문장>. <이 변경이 의미하지 않는 것 한 문장>.
## 사용 ← 사용자 절차가 있으면. 정책 변경이면 "## 결정"
1. ...
## 모델과 실행
- 프로젝트: `field = a | b`; 기존 파일 기본값.
- 로컬: ...
- 계획: 무엇을 고정하고 언제 재검사하는지.
- 빌드: 실행 순서.
- 결과: 상태 문자열, 보고서 파일.
- 범위 밖: 이번에 하지 않은 것.
## 확인 결과
- Rust 테스트 N개 통과. 프런트엔드 테스트 N개 통과; TypeScript/Vite 빌드 통과.
- <실제 도구 시험 결과: 상태, 해시 코드>
- <실행하지 않은 검사>를 수행하지 않았다.
증빙: [시험 결과 JSON](../../src/tests/verification-<date>-<slug>.json)
## 근거
- [Microsoft Learn 등 외부 문서](URL)
```
## 검증 JSON (`src/tests/verification-<date>-<slug>.json`)
```json
{
"date": "YYYY-MM-DD",
"checks": { "<camelCaseCheckName>": true },
"builds": { "<label>": { "buildId": "", "status": "", "artifact": "", "sha256": "", "signing": "", "installationTest": "notRun", "deploymentReady": false } },
"tests": { "cargoTestWorkspace": "passed (N)", "npmTest": "passed (N)", "makeAppxIntegration": "notRun" },
"installationTest": "notRun",
"notRun": ["guiClickTest", "windowsVmInstall"]
}
```
- 실제 도구를 돌리지 않았으면 `builds`를 생략하고 `notRun`에 적는다.
- `checks` 값은 실제 확인한 것만 `true`. 확인하지 않은 항목은 넣지 않거나 `"notRun"`.
- 로컬 절대 경로가 포함되면 사용자에게 공유 전 검토를 안내한다. 토큰·개인 키·PFX 비밀번호 금지.
- LF 줄 끝, 2칸 들여쓰기, 끝 개행.
## 연결
1. 루트 `README.md`의 적절한 목록에 한 줄 추가(설계 문서면 "현재 설계와 시안", 그 외 "문서").
2. `src/README.md`에서 바뀐 사용자 절차·CLI·오류 코드 절을 갱신하고 변경 기록으로 링크.
3. 백로그 항목이 진척됐으면 `backlog-status` 스킬.
4. 관련 설계 문서(`docs/code-design/NN-*.md`)에 결정 날짜와 한 단락을 추가. 설계 문서를 다시 쓰지 않는다.
## 어조
선언형 종결. 수식어 없이 사실만. "성공적으로", "완벽히", "안전하게" 같은 평가 단어 금지. 실행하지 않은 것을 숨기지 않는다.