diff --git a/docs/claude-config/README.md b/docs/claude-config/README.md new file mode 100644 index 0000000..8ff6ca7 --- /dev/null +++ b/docs/claude-config/README.md @@ -0,0 +1,43 @@ +# Claude Code 전역 설정 이동용 사본 + +이 폴더 = 이 프로젝트 작업에서 추출한 Claude Code 전역 스킬/규칙의 사본. +다른 PC에서 아래 경로로 복사하면 동일하게 동작한다. 비밀값 없음(커밋 안전). + +## 파일 + +| 파일 | 종류 | 설치 위치 (다른 PC) | +|---|---|---| +| `iot-airgap-delivery.SKILL.md` | 스킬 (필요 시 자동/수동 호출) | `~/.claude/skills/iot-airgap-delivery/SKILL.md` | +| `iot-verification.rule.md` | 규칙 (전 세션 자동 로드) | `~/.claude/rules/common/iot-verification.md` | + +Windows에서 `~` = `C:\Users\<계정>`. + +## 설치 (다른 PC) + +```bash +# Git Bash / WSL +mkdir -p ~/.claude/skills/iot-airgap-delivery ~/.claude/rules/common +cp iot-airgap-delivery.SKILL.md ~/.claude/skills/iot-airgap-delivery/SKILL.md +cp iot-verification.rule.md ~/.claude/rules/common/iot-verification.md +``` + +```powershell +# PowerShell +New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills\iot-airgap-delivery", "$env:USERPROFILE\.claude\rules\common" | Out-Null +Copy-Item iot-airgap-delivery.SKILL.md "$env:USERPROFILE\.claude\skills\iot-airgap-delivery\SKILL.md" +Copy-Item iot-verification.rule.md "$env:USERPROFILE\.claude\rules\common\iot-verification.md" +``` + +설치 후 새 Claude Code 세션에서 스킬 목록에 `iot-airgap-delivery` 뜨면 성공. + +## 내용 요약 + +- **스킬**: 파생키(HMAC) 구조·번들 재생성 워크플로·403/WAF 디버깅 사다리· + 디스플레이 렌더 오프디바이스 검증·납품 전 병렬 감사 절차. +- **규칙**: 위 중 "항상 지켜야 하는" 행동 규칙만 요약(마스터키 취급, deploy/ 수정 금지, + requests 커스텀 UA 필수, 렌더 PNG 검증 후 배포, 폴링 엔드포인트 인덱스/LIMIT/try-catch). + +## 갱신 방법 + +전역 파일(`~/.claude/...`)을 고친 뒤 이 폴더로 다시 복사해서 커밋. +(전역이 원본, 이 폴더는 배포용 사본.) diff --git a/docs/claude-config/iot-airgap-delivery.SKILL.md b/docs/claude-config/iot-airgap-delivery.SKILL.md new file mode 100644 index 0000000..82676fc --- /dev/null +++ b/docs/claude-config/iot-airgap-delivery.SKILL.md @@ -0,0 +1,90 @@ +--- +name: iot-airgap-delivery +description: Use when working on IoT sensor systems with air-gapped deploy bundles (Pi nodes + shared-hosting PHP server) — covers derived-key auth, bundle regeneration workflow, 403/WAF debugging, display render verification, and pre-delivery audit. Trigger on deploy bundle work, HMAC key mismatch/403 errors, Pi display rendering, or "납품" (delivery) prep. +--- + +# IoT Air-gap Delivery Workflow + +Battle-tested workflow for IoT systems shaped like: sensor nodes (Raspberry Pi / STM32) +→ shared-hosting PHP server (cafe24-style) → optional mini display node, deployed as +self-contained offline bundles generated by a bundle-generator script. + +## 1. Key architecture (get this right first — most repeated confusion) + +- **API_KEY** = master secret. Lives ONLY in: server `config.local.php` + build machine + `deploy/.secrets/api_key.txt`. Never on leaf devices. +- **Derived keys** = `HMAC-SHA256(message=