0.1.0-draft

0005 · 개발 도구

상태: 제안 · 명세 버전: 0.1.0-draft

CLI

첫 수직 구현에는 create, dev, build, doctor 명령으로 같은 앱을 웹·Android·iOS에서 반복 실행하는 경로가 필요하다. 이후 devices, logs, inspect, profile을 추가한다. 명령은 대상 기기·앱 세션·오류 원인을 구분하고, 기계 판독 출력은 버전 있는 스키마로 제공한다.

리로드와 HMR

첫 앱은 저장 후 전체 리로드와 원본 위치가 있는 오류 표시를 지원해야 한다. 상태를 유지하는 HMR은 이후 단계다. 모바일 HMR은 변경 통지, 모듈 수락·정리, 캐시 무효화, 스타일·에셋 갱신을 스피논 런타임에 구현해야 한다. React Fast Refresh의 상태 보존은 HMR과 별도 계약이며 Vue·Svelte도 각자의 상태 보존 조건을 검증한다. 교체 실패 시 전체 리로드의 오류와 상태 손실을 알린다.

디버깅

V8 Inspector 연결은 JavaScript 중단점·스택·콘솔·프로파일링을 위한 개발 경로다. 이것은 브라우저 전체 CDP나 DOM Elements 지원이 아니다. 스피논 노드 ID, 계산된 스타일, 레이아웃, 접근성 의미와 프레임 시간은 별도 UI 조사 인터페이스에 노출한다. Inspector와 UI 조사 연결은 개발 빌드에서만 활성화한다.

후속 개발 호스트와 분석

개발용 미리보기 앱은 Android·iOS의 사전 빌드된 호스트로, QR 코드나 URL에서 개발 번들을 연다. 초기에는 S06의 단일 번들 개발 매니페스트로 런타임·호스트 ABI·네이티브 API 버전을 확인하고, X01 이후에 청크 참조를 확장한다. D02의 서명된 릴리스 매니페스트는 개발용 호스트의 선행 조건이 아니다. 리로드·오류 화면을 제공하며 네이티브 코드 변경에는 호스트 재빌드가 필요하다. HMR과 릴리스 OTA는 각각 별도 계약이다.

UI 조사 도구는 화면 노드와 원본 TSX/JS 위치를 소스맵·빌드 메타데이터로 연결하고 계산된 스타일·박스 모델·규칙 적용 결과를 표시한다. 빌드 분석 도구는 Vite·Rspack의 JS 청크·CSS·에셋 크기 및 빌드 단계 시간을 버전 있는 출력 형식으로 제공한다. 두 도구 모두 개발 빌드에서만 연결한다.

MCP

로컬 stdio 서버가 CLI·개발 서비스와 같은 진단 모델을 읽기 가능한 resource/tool로 제공한다. 첫 범위는 프로젝트·기기 상태, 로그, UI 트리, 성능 스냅샷이다. 공개 미리보기 서버와 연결하지 않는다. 쓰기 작업, 원격 MCP, 임의 JS 평가·셸 실행은 별도 설계와 명시적 범위가 필요하다.

참고: 개발 경험, CLI·MCP 설계.