Files
CODE_ASSISTANT/specs/004-tauri-shell/quickstart.md
T
2026-09-16 17:22:14 +09:00

4.0 KiB

Quickstart: Tauri 기준 앱 확인하기

Date: 2026-09-09 | Plan: plan.md

이 문서는 검증용 실행 안내다. 구현 방법은 tasks.md와 코드에 있다.


사전 준비

  • Windows 11 + WebView2 런타임
  • Node 26 / npm 11
  • Rust stable MSVC 툴체인
  • VS C++ 도구 + Windows 11 SDK
rustc --version
cargo --version

A. 자동 검사

cd 2_frontend
npm install
npm run format
npm run lint
npm run test
npm run build

cd ..\4_rust_tauri
npm install
cargo test --manifest-path src-tauri\Cargo.toml

기대: 전부 통과하고 오류·경고로 숨긴 실패가 없다.


B. 브라우저 개발 화면

cd 2_frontend
npm run dev

http://localhost:15173에서 확인:

확인 기대
챗봇 화면 정상 표시
콘솔 오류 없음
코드블록의 붙여넣기 버튼 안 보임
/snippet 직접 이동 화면은 뜨고 요청은 "데스크톱 전용" 오류

C. Tauri 앱 기본 동작

cd 4_rust_tauri
npm run tauri dev
확인 기대
제품명 CodeAssist, 제목표시줄 없음
화면 2_frontend의 현재 화면
트레이 열기 / 항상 위에 고정 / 종료
Ctrl+Shift+7 스니펫 팔레트
Ctrl+Shift+8 챗봇 토글
Ctrl+Shift+9 캡쳐 시작
두 번 실행 새 창 없이 기존 창 소환
창 이동·크기·핀 뒤 재실행 마지막 상태 복원

단축키 등록 실패가 있으면 앱은 계속 돌고 실패한 조합을 알려야 한다.


D. 붙여넣기

대상 앱마다 커서를 둔 뒤 Ctrl+Shift+7 → 스니펫 선택 → Enter:

대상 기대
메모장 선택한 코드가 원문 그대로 붙음
VS Code 선택한 코드가 원문 그대로 붙음
창 전환이 느린 업무용 앱 엉뚱한 창이나 일부만 붙는 일이 없음

추가 확인:

  • 붙여넣기 대상 배지에 직전 앱 이름이 보임
  • 자동 붙여넣기가 실패해도 클립보드에 코드가 남음

느린 앱에서 어긋나면 research R10의 80ms 대기 값을 실제 환경에 맞게 조정한다.


E. 화면 캡쳐

상황 확인
배율 100% 모니터 Ctrl+Shift+9 → 영역 드래그 → 고른 영역과 결과 일치
배율 150% 모니터 같은 흐름에서 결과가 밀리거나 잘리지 않음
두 모니터에 걸친 영역 고른 영역과 결과 일치
Esc 첨부 없이 화면 복귀
드래그 없이 클릭 조용히 취소

캡쳐한 그림을 원본 화면과 나란히 놓고 경계를 확인한다. 어긋나면 DPI 설정이 아니라 논리↔물리 좌표 변환을 본다.


F. 기존 스니펫

  1. %LocalAppData%\CodeAssist\snippets.db가 있는 상태에서 Tauri 팔레트를 연다.
  2. 기존 목록이 보이는지 확인한다.
  3. 스니펫 하나를 만들거나 수정하고 하나를 사용한다.
  4. 앱을 다시 켠다.
  5. 변경 내용·사용 횟수·최근 사용 순서가 유지되는지 확인한다.

기존 DB가 없으면 빈 목록으로 시작해 새 스니펫을 저장할 수 있어야 한다. 스키마와 저널 모드는 바꾸지 않는다.


G. 미구현 처리

구현 중 아직 연결하지 않은 요청은 빈 값으로 성공한 척하지 않고 한글 "아직 안 됨" 오류를 보여야 한다. 최종 완료 때는 이 오류를 내는 필수 기능이 남아 있으면 안 된다.


H. release

cd 4_rust_tauri
npm run tauri build

기대:

  • release 설치물이 만들어짐
  • 설치물과 실행 창의 제품명이 CodeAssist
  • 빌드·실행·검증에 3_windowsApp이 필요하지 않음

마지막으로 specs/004-tauri-shell/report.md에 계획 대비 구현 결과와 검증 증거를 남긴다.