프로젝트
스레드 (/) 화면 왼쪽 사이드바이며, 프로젝트마다 한 행씩 나옵니다.
프로젝트 추가하기
Add project(프로젝트 추가)는 네이티브 폴더 선택기를 엽니다. 이는 렌더러가 아니라 메인 프로세스에서 실행됩니다 — 창 자체에는 파일 시스템 접근 권한이 없습니다 — 그래서 그 자리에서 폴더를 고르는 것 자체가 앱의 다른 부분( 파일의 트리, 뷰어, 터미널)이 그 폴더를 읽어도 좋다는 동의이기도 합니다.
행 구성
프로젝트 이름을 누르면 선택됩니다. 새 스레드는 선택된 프로젝트에서 시작합니다. 이름 아래에는 git 배지가 있고, 오른쪽의 ⋯ 는 작업 목록을 엽니다.
git 배지
main ±3 ↑1 ↓2 형태로 표시됩니다 — 브랜치, 변경된 파일 수(작업 트리와 인덱스, 추적되지 않은 파일을 모두 합친 것), 그리고 upstream보다 앞선 커밋 수와 뒤처진 커밋 수입니다. git 저장소가 아닌 폴더는 배지가 표시되지 않으며, git 상태를 확인하는 데 2초를 넘기는 저장소도 마찬가지입니다. 느린 저장소 하나 때문에 사이드바 전체가 멈추면 안 되기 때문입니다. 응답은 5초 동안 캐시되므로, 프로젝트 사이를 오가며 화면이 다시 그려질 때마다 git을 매번 다시 실행하지는 않습니다.
작업 목록
- Open in Terminal(터미널에서 열기) — 이 프로젝트를 작업 디렉터리로 삼아 터미널 화면을 엽니다.
- Reveal in Finder(파인더에서 보기) — OS의 파일 관리자에서 해당 폴더를 보여줍니다.
- Project settings(프로젝트 설정) — 아래에서 설명합니다.
- Pin to top(맨 위에 고정) / Unpin(고정 해제).
- Remove from list(목록에서 제거)는 먼저 확인을 받습니다. 사이드바 항목만 제거할 뿐 어떤 파일도 건드리지 않으며, 그 프로젝트에서 이미 실행 중인 스레드는 계속 돌아갑니다.
정렬
고정된 프로젝트가 맨 먼저 옵니다. 나머지는 최근에 연 순서대로입니다. 직접 연 적은 없지만 세션이 실행 중이라서 목록에 나타난 프로젝트는 그런 항목들끼리 알파벳 순으로 맨 뒤에 놓입니다.
고정 여부와 최근 사용 순서는 전역 설정 문서의 ide.projects 아래에 저장되므로, 앱을 다시 시작해도 순서가 유지됩니다.
프로젝트 설정
이 시트는 core를 통해 <프로젝트>/.snowpea/settings.json에 씁니다. TUI가 쓰는 것과 같은 settings.set 호출이며 scope: "project"를 씁니다 — 그리고 TUI가 읽는 것과 같은 파일이므로, 여기서 바꾼 내용은 그쪽에서도 보입니다. 편집하는 항목은 세 가지입니다.
- Default mode(기본 모드) — 이 프로젝트의 새 스레드가 시작할 권한 모드 (
plan/accept/auto). - Model(모델) — 이 프로젝트의 에이전트가 무엇으로 도는지. "Inherit from global settings"(전역 설정 상속) 옵션을 고르면 현재 전역 기본값이 무엇인지도 함께 알려 줍니다.
- Backend(백엔드) — local, docker, ssh 중 하나.
프로젝트 설정은 항목별로 전역 설정을 이깁니다. 세션 자신의 /mode나 /model은 둘 다를 이깁니다. inherit으로 남겨 둔 것은 설정에서 결정됩니다.