Electron 데스크톱

CLI-JAW는 Electron 데스크톱 애플리케이션으로도 사용할 수 있습니다. 패키지 빌드는 Node.js 22 sidecar를 포함하므로 전역 npm install 없이도 대시보드 서버를 실행하고 터미널 jaw 명령을 설치할 수 있습니다.

설치

릴리스 또는 수동 desktop-release workflow에서 데스크톱 아티팩트를 다운로드하세요. macOS는 DMG/ZIP, Windows는 NSIS installer/ZIP, Linux는 AppImage로 배포됩니다.

# Build from source:
npm run electron:dist:mac

번들 Sidecar

릴리스 workflow는 패키징 전에 scripts/bundle-sidecar.sh를 실행합니다. Sidecar에는 Node.js 24.17, 컴파일된 서버 출력, 프론트엔드 assets, production dependencies, better-sqlite3 같은 rebuilt native modules, 그리고 server/bin/jaw/server/bin/jaw.cmd CLI shim이 포함됩니다.

플랫폼대상아티팩트
macOSarm64DMG, ZIP
Windowsx64NSIS installer, ZIP
Linuxx64AppImage

Electron main process는 native server module을 직접 import하지 않습니다. 패키지 앱에서는 bundled sidecar를 먼저 찾고, 개발 모드에서는 전역 jaw binary로 fallback합니다.

패널 레이아웃

Electron 앱은 멀티 패널 작업 공간을 제공합니다:

패널위치설명
Dashboard중앙인스턴스, 노트, 보드가 포함된 전체 매니저 대시보드
Terminal하단CLI 명령어용 내장 터미널
Browser우측탭이 있는 Webview 기반 브라우저 (데스크톱 전용)
Diff Viewer우측서버 API 기반 Git diff 패널 (데스크톱 전용)
Folder Panel좌측/우측파일 트리 탐색

브라우저 패널

데스크톱 브라우저 패널은 완전한 브라우징을 위해 webview 태그를 사용합니다. 주요 기능:

Diff 뷰어

diff 패널은 프로젝트의 Git 변경 사항을 표시합니다:

키보드 단축키

전체 목록은 키보드 단축키 참조 문서를 확인하세요. 주요 데스크톱 단축키:

단축키동작
Cmd+T새 브라우저 탭
Cmd+W현재 탭 닫기
Cmd+1-4탭 1-4로 전환
Cmd+R메인 윈도우 새로고침
Cmd+Shift+R강제 새로고침

macOS 권한

Electron 앱이 macOS 자동화 접근 권한을 요청할 수 있습니다. 시스템 환경설정 > 개인 정보 보호 및 보안 > 자동화에서 권한을 허용하세요. 앱의 종료 과정은 시각적으로 표시되며 정리 작업을 안정적으로 처리합니다. 현재 릴리스 아티팩트는 unsigned/un-notarized이므로 macOS 첫 실행 시 우클릭 → 열기가 필요할 수 있습니다.

터미널 명령 설치

패키지 앱은 첫 실행 시 또는 tray menu에서 bundled sidecar shim을 가리키는 터미널 jaw 명령을 설치할 수 있습니다. macOS는 필요 시 admin prompt와 함께 /usr/local/bin에 설치하고, Linux는 ~/.local/bin을 사용합니다. Windows PATH 등록은 NSIS installer script가 처리합니다.

개발

# Run Electron in dev mode (concurrent with jaw server):
npm run electron:dev

# Typecheck/build the Electron app:
npm --prefix electron run build

# Create macOS DMG:
npm run electron:dist:mac