cowork-sync

cowork-sync

저장한 수정이 git 원격만으로 모든 팀원 클론에 전달됩니다.

cowork-sync는 git 브랜치 하나의 작업 트리를 팀원들의 클론 사이에서 실시간으로 맞춰 주는 Claude Code 플러그인으로, 별도 서버 없이 프로젝트 자체의 git 원격 저장소만 사용합니다.

미리보기v0.1.1-preview는 GitHub 프리릴리스입니다. 테스트용 저장소에서만 사용하세요.

설치

Claude Code 세션에서, 한 줄씩
/plugin marketplace add Kingyoungmins/cowork-sync
/plugin install cowork-sync@cowork-sync
또는 셸에서
claude plugin marketplace add Kingyoungmins/cowork-sync
claude plugin install cowork-sync@cowork-sync

참여하는 모든 PC에 플러그인을 설치하고, 각자 자기 클론을 가지고 있어야 합니다. /reload-plugins를 실행하거나 Claude Code를 다시 시작해 플러그인을 불러온 뒤, 내 클론에서 /cowork-sync:cowork start를 입력하세요.

해결하려는 문제

작은 팀이 Claude Code로 코드베이스 하나를 함께 고칩니다. push와 pull이 자꾸 부딪히니 팀은 차례를 정해 일하게 됩니다. 한 사람이 일을 끝내고 push 한 뒤 알리면, 다음 사람이 pull 하는 식입니다. 팀이 바라는 건 공유 스프레드시트에 가까운 경험입니다. 모두가 같은 파일에서 동시에 일하고, 각자의 Claude는 다른 사람이 무엇을 고치고 있는지 아는 것이죠.

cowork-sync는 그중 앞부분을 다룹니다. 팀원은 각자 자기 PC에서, 자기 클론으로, 자기 Claude Code 세션을 띄워 저장소 하나의 브랜치 하나에서 일합니다. 누군가 파일을 저장하면 그 변경이 다른 모든 사람의 작업 트리에 전달됩니다.

뒷부분인 ‘각자의 Claude가 다른 사람이 무엇을 고치고 있는지 아는 것’은 계획 단계이며 이번 미리보기에는 없습니다. 지금은 Claude가 동기화를 알지 못하고, Claude의 수정도 다른 저장된 파일과 똑같이 동기화됩니다.

이번 미리보기의 대상: 비공개 원격 저장소를 둔 테스트용 저장소에서 실시간 동기화를 시험해 보려는 사람입니다. 실제 운영 중인 저장소나 공개 저장소에는 맞지 않습니다.

동작 방식

클론마다 백그라운드 프로세스(데몬)가 하나씩 돌아갑니다. 데몬들은 이미 쓰고 있는 git 원격 저장소의 사용자 지정 ref 두 개로 작업을 주고받습니다. 그 사이에 끼는 별도 서버는 없습니다.

cowork-sync가 두 클론 사이에서 수정을 옮기는 방식PC 두 대에 각각 Claude Code 세션, 작업 트리, cowork-sync 데몬이 있습니다. 각 데몬은 저장된 수정을 git 원격 저장소에 push 하고, 팀원의 수정을 fetch 합니다. 원격에서는 refs/cowork/main/board와 refs/cowork/main/code가 공유 작업을 담고, refs/heads/main에는 push 하지 않습니다. 별도 서버는 없습니다.내 PCClaude Code 세션또는 파일을 저장하는 어떤 편집기든저장작업 트리각자의 클론감지써 넣기cowork-sync 데몬클론마다 하나자기만의 git 인덱스로 읽음팀원 PCClaude Code 세션또는 파일을 저장하는 어떤 편집기든저장작업 트리각자의 클론감지써 넣기cowork-sync 데몬클론마다 하나자기만의 git 인덱스로 읽음git 원격 저장소비공개, 유일한 전달 경로refs/heads/main내 브랜치:push 하지 않음데몬들이 함께 쓰는 사용자 지정 refrefs/cowork/main/boardfast-forward로만 이어지는체인, 기준 기록refs/cowork/main/code가장 최근 공유 트리의미러pushfetchpushfetch cowork-sync가 두 클론 사이에서 수정을 옮기는 방식PC 두 대에 각각 Claude Code 세션, 작업 트리, cowork-sync 데몬이 있습니다. 각 데몬은 저장된 수정을 git 원격 저장소에 push 하고, 팀원의 수정을 fetch 합니다. 원격에서는 refs/cowork/main/board와 refs/cowork/main/code가 공유 작업을 담고, refs/heads/main에는 push 하지 않습니다. 별도 서버는 없습니다.내 PCClaude Code 세션또는 파일을 저장하는 어떤 편집기든저장작업 트리각자의 클론감지써 넣기cowork-sync 데몬클론마다 하나자기만의 git 인덱스로 읽음pushfetchgit 원격 저장소비공개, 유일한 전달 경로refs/heads/main내 브랜치: push 하지 않음데몬들이 함께 쓰는 사용자 지정 refrefs/cowork/main/boardfast-forward로만 이어지는 체인, 기준 기록refs/cowork/main/code가장 최근 공유 트리의 미러pushfetch팀원 PCcowork-sync 데몬클론마다 하나자기만의 git 인덱스로 읽음감지써 넣기작업 트리각자의 클론저장Claude Code 세션또는 파일을 저장하는 어떤 편집기든
예: main 브랜치를 함께 쓰는 PC 두 대. 각 데몬은 저장된 수정을 refs/cowork/main/board와 refs/cowork/main/code에 올리고, 팀원의 수정을 자기 작업 트리에 써 넣습니다. 브랜치 자체(refs/heads/main)에는 push 하지 않습니다.

파일을 저장하면 일어나는 일

  1. Claude Code든 다른 편집기든, 파일을 저장합니다. 내 클론의 데몬이 이를 감지합니다. 데몬은 자기만의 비공개 git 인덱스로 파일을 읽으며, 내 인덱스는 건드리지 않습니다.
  2. 데몬이 변경을 원격 저장소에 올립니다. refs/cowork/<branch>/board는 fast-forward로만 이어지는 보드 커밋 체인이자 기준 기록이고, refs/cowork/<branch>/code는 가장 최근 공유 트리의 미러입니다.
  3. 모든 push는 리스(--force-with-lease)로 보호되는 fast-forward입니다. 그래서 어떤 PC도 다른 PC의 갱신을 덮어쓸 수 없습니다. 두 PC가 동시에 push 하면, 진 쪽이 다시 fetch 한 뒤 재시도합니다.
  4. 팀원들의 데몬이 변경을 fetch 하고, 명시적인 병합 기준(merge base)을 지정해 git merge-tree로 병합합니다.
  5. 각 데몬이 결과를 자기 작업 트리에 씁니다. 파일은 데몬이 마지막으로 읽은 바이트 그대로일 때만 써지므로, 방금 저장한 내 수정이 덮어써지는 일은 없습니다. 파일 묶음은 전부 쓰거나 전혀 쓰지 않습니다.

알아 둘 점

  • 두 사람이 같은 줄을 바꾸면 한 버전이 이깁니다. 다른 버전은 클론에 보류(hold) 기록으로 보관되며 버려지지 않습니다. 다만 미리보기에는 이를 보거나 되살리는 명령이 아직 없습니다.
  • 미리보기는 내 브랜치(refs/heads/<branch>)에 절대 push 하지 않습니다. 일반 git fetch는 사용자 지정 ref를 내려받지 않으므로 평소의 git 이력은 깨끗하게 유지됩니다.
  • 설정, 훅, CI 파일(.claude/, CLAUDE.md, .github/workflows/, .gitattributes 등)은 실시간으로 동기화되지 않습니다. 이런 파일은 평소처럼 git 커밋으로만 옮겨집니다.
  • 비밀 정보처럼 보이는 이름의 새 파일(.env, *.pem, *.key, id_rsa*, *credentials* 등)은 공유되지 않습니다. 1 MiB를 넘는 새 파일도 공유되지 않고, 50 MiB 이상인 파일은 실시간으로 동기화되지 않습니다.
  • 호스트 부하를 낮추려고 팀 전체가 push 예산을 나눠 씁니다. 분당 12회, 제한이 걸린 뒤 30분 동안은 6회입니다. 데몬의 루프는 활동 중일 때 2.5초, 한가할 때 10초마다 돌아갑니다.
  • HEAD를 움직이는 git 명령(commit, switch, checkout, pull, merge, rebase, stash)을 실행하면 HEAD가 제자리로 돌아올 때까지 동기화가 멈춥니다(freeze). 이런 명령은 동기화를 중지한 뒤 실행하세요. 보드의 이력이 다시 쓰이는 일이 생기면, 복구될 때까지 모든 PC의 동기화가 멈춥니다.

내 PC 밖으로 나가는 것

  • 가는 곳: 내 클론의 git 원격 저장소 하나뿐이며, git을 통해서만 갑니다. 데몬은 git의 입력 프롬프트를 끈 채로 git을 자식 프로세스로 실행하고, 데몬 번들은 Node 네트워크 모듈을 하나도 불러오지 않습니다.
  • 보내는 것: 동기화 범위 안에서 내가 저장한 파일의 경로와 내용, 그리고 보드 커밋. 저장소를 읽을 수 있는 사람은 누구나 이를 가져갈 수 있으며, 미리보기는 원격 저장소가 비공개인지 확인하지 않습니다.
  • 내 이름: 공유 커밋에는 표시 이름이 붙습니다. --name을 주면 그 이름, 아니면 git user.name, 그것도 없으면 “cowork peer”입니다. 커밋의 이메일 주소 칸에는 임의로 만든 값이 들어가며, 내 git 이메일은 쓰지 않습니다.
  • 참여 기록: PC가 보드에 참여하면 표시 이름, 플러그인 버전, 플러그인 해시, 프로토콜 번호, core.autocrlf 설정값, 저장소 필터 드라이버의 해시 지문(경로는 담지 않음)이 보드에 남습니다. 첫 PC가 동기화를 시작할 때는 호스트를 확인하려고 잠깐 쓰는 확인용 ref를 push 했다가 지웁니다.
  • 내 PC에 남는 것: .git/cowork/status.json, 데몬 로그(.git/cowork/log/daemon-0.jsonl), 보류 기록, 그리고 127.0.0.1에서만 접속을 받는 읽기 전용 뷰어(선택).
  • 설계상 텔레메트리, 오류 보고, 업데이트 확인, 분석은 두지 않으며, 소스 린트가 뷰어의 로컬 서버를 뺀 모든 곳에서 Node 네트워크 모듈을 막습니다. 설계 규칙과 린트일 뿐, 독립적인 감사를 받은 것은 아닙니다.

요구 사항과 명령

필요한 것

  • Claude Code 2.1.270 이상.
  • Node.js 20 이상(PATH에서 실행할 수 있어야 함).
  • git 2.43 이상. 더 낮은 git이면 start가 거부합니다.
  • Windows, macOS 또는 Linux.
  • 사용자 지정 ref(refs/cowork/*)를 받아 주고 --force-with-lease를 실제로 적용하는 비공개 git 원격 저장소. GitHub는 둘 다 됩니다. 첫 PC의 start가 호스트를 확인해 보고, 조건에 맞지 않으면 거부합니다.
  • git 자격 증명 도우미(credential helper)에서 가져오는 자격 증명. git의 입력 프롬프트가 꺼져 있으므로, 자격 증명이 없으면 응답 없이 멈추는 대신 거부 메시지가 나옵니다.
  • 참여하는 모든 PC에 플러그인을 설치하고 각자 자기 클론을 둡니다. .git은 작업 트리와 같은 볼륨에 있어야 합니다.

명령

Claude Code는 플러그인의 명령 이름을 /cowork-sync:cowork로 붙이므로, 이 이름을 전부 입력하세요. 같은 동작을 터미널에서도 node "<플러그인 폴더>/dist/cli.js" <동작> 형태로 실행할 수 있으며, /cowork-sync:cowork view가 그 경로를 출력해 줍니다.

명령하는 일
/cowork-sync:cowork start [--branch <b>]이 저장소의 현재 브랜치에서 동기화를 시작합니다. 첫 번째 PC가 원격 저장소에 공용 보드를 만들고, 이후의 PC는 그 보드에 참여합니다. 데몬은 백그라운드에서 계속 실행됩니다.
/cowork-sync:cowork status짧은 요약을 출력합니다. 상태(ok, degraded, offline, frozen, down 등), 브랜치, 아직 올리거나 반영하지 못한 것을 보여 줍니다.
/cowork-sync:cowork view읽기 전용 뷰어를 여는 명령을 출력합니다. 뷰어는 터미널에서만 열립니다. 출력된 명령을 터미널에서 실행하면 브라우저에서 열립니다. 아직 뷰어 프로세스가 없는 빌드라면 RF_VIZ_START_FAILED로 거부합니다.
/cowork-sync:cowork stop데몬을 깔끔하게 멈춥니다. 내 파일은 그대로 남습니다.
/cowork-sync:cowork help명령 목록을 보여 줍니다.

start는 --publish=all|none(처음 시작할 때 커밋하지 않은 로컬 작업을 공유할지, 이 PC에 둘지), --remote <name>, --name <display name>도 받습니다.

명령이 거부될 때는 코드가 붙은 이유와, 실행할 명령이 적힌 next: 줄을 출력합니다.

start가 확인하는 것

  • 메인 클론에서 실행해야 합니다. 연결된 워크트리(linked worktree)나 서브모듈은 거부합니다.
  • 브랜치가 체크아웃되어 있고, 원격 저장소에 있으며, 원격보다 앞서거나 뒤처지지 않아야 합니다. 병합이나 리베이스가 진행 중이어도 안 됩니다.
  • 원격의 fetch URL과 push URL이 같아야 하고, insteadOf 재작성이 적용되지 않아야 합니다.
  • 클론마다 데몬은 하나만 돌 수 있습니다.
  • 처음 시작할 때 커밋하지 않은 변경이 있으면 선택을 묻습니다. 팀과 공유할지, 이 PC에만 둘지 고르세요.

업데이트, 제거, 정리

이 마켓플레이스는 자동으로 업데이트되지 않습니다. 업데이트하려면 /plugin marketplace update cowork-sync를 실행한 뒤 claude plugin update cowork-sync@cowork-sync를 실행하세요. 플러그인을 지우려면 claude plugin uninstall cowork-sync@cowork-sync를 실행합니다.

동기화를 중지하거나 플러그인을 지워도 원격 저장소의 사용자 지정 ref는 남습니다. 모든 PC가 멈춘 뒤에 직접 지울 수 있습니다. 예:

git push origin --delete refs/cowork/main/board refs/cowork/main/code

지금 되는 것과 미리보기의 한계

v0.1.1-preview에서 되는 것

  • 여러 클론 사이에서 브랜치 하나의 작업 트리를 실시간으로 동기화. 전달 경로는 git 원격 저장소뿐입니다.
  • 클론마다 데몬 하나. 첫 PC가 공용 보드를 만들고 이후 PC가 참여합니다. 비정상 종료나 중지 뒤에 다시 start 하면 저장된 상태에서 이어 가며, 잃어버린 로컬 상태를 다시 만듭니다.
  • 보드 이력이 다시 쓰이면 동기화를 멈추고, recover 단계로 되살립니다.
  • 방금 저장한 수정을 덮어쓰지 않으며, 파일 묶음은 전부 쓰거나 전혀 쓰지 않습니다.
  • 같은 줄 충돌에서 두 버전을 모두 남깁니다. 하나는 보드에, 다른 하나는 클론의 보류 기록으로.
  • 설정, 훅, CI 파일은 실시간 동기화되지 않으며, 비밀 정보처럼 보이는 이름의 새 파일은 공유되지 않습니다.
  • git 명령으로 HEAD가 움직이면 동기화를 멈추고, HEAD가 돌아오면 다시 이어 갑니다.
  • 클론마다 상태 파일과 JSON lines 형식의 데몬 로그.
  • start, status, stop, view, help를 갖춘 /cowork-sync:cowork 명령.
  • 팀의 보드를 브라우저에 그려 주는 읽기 전용 뷰어의 핵심 부분. 터미널에서 띄우며 영어만 지원합니다(view 관련 한계 참고).

지금까지 시험한 것

  • 실제 GitHub 저장소에 클론 두 개를 두고 시험했습니다. 서로 다른 파일을 고친 경우, 같은 파일의 10줄 떨어진 곳을 고친 경우, 같은 줄을 고친 경우 모두 두 클론이 같은 상태로 끝났고, 이력도 fast-forward로만 이어진 한 줄이었습니다.
  • 호스팅 CI가 Windows, macOS, Linux에서 각각 Node 20과 Node 24로 모든 검사를 돌립니다. 로컬 bare 원격 저장소와 시뮬레이터를 씁니다.

미리보기의 한계

안전과 개인정보

  • 원격 저장소가 비공개인지 확인하지 않습니다. 비공개 저장소를 쓰세요. 저장소를 읽을 수 있는 사람은 누구나 refs/cowork/*를 가져갈 수 있습니다.
  • 파일 내용에서 비밀 정보를 찾지 않습니다. 새 파일의 이름만 봅니다. 동기화되는 파일에 비밀 정보를 넣지 마세요.
  • 쓰기 권한이 있는 팀원을 신뢰한다는 전제입니다. 그들의 수정이 내 작업 트리에 그대로 써집니다. 소중한 것은 백업해 두세요.

아직 없는 것

  • Claude가 동기화를 알지 못합니다. 훅, MCP 도구, 함수 단위 선점(claim), Claude 간 협업이 없습니다.
  • 공유 작업을 커밋으로 만드는 save 단계가 없고, pause, resume, doctor, uninstall 명령도 없습니다.
  • 보류 기록을 보거나 되살리는 명령이 없습니다.
  • view는 터미널 명령을 출력만 합니다. 뷰어 프로세스가 없는 빌드는 RF_VIZ_START_FAILED로 거부합니다.
  • 메시지는 영어로만 나옵니다. 일부 거부 메시지는 아직 없는 /cowork doctor를 가리키거나, /cowork-sync:cowork 대신 /cowork라고만 적습니다.

시험이 덜 된 부분

  • 실제 GitHub 시험은 두 클론의 엔진을 한 프로세스 안에서 돌렸습니다. 서로 다른 두 컴퓨터에서 돌리는 시험은 아직 남아 있습니다.
  • 실제 호스트로는 GitHub만 써 봤습니다. 사용자 지정 ref를 거부하는 호스트는 지원하지 않는 것으로 보세요.

저장소와 평소 사용

  • 연결된 워크트리와 서브모듈은 거부합니다.
  • HEAD를 움직이는 git 명령을 쓰면 동기화가 멈춥니다. 먼저 동기화를 중지하세요.
  • 동기화를 중지하거나 플러그인을 지운 뒤에도 사용자 지정 ref는 원격에 남습니다. 직접 지워야 합니다.
  • 자동 시작이 없습니다. 재부팅이나 로그아웃 뒤에는 start를 다시 실행하세요.
  • 자동 업데이트가 없습니다.
  • 개인 프로젝트입니다. 제보에는 시간 나는 대로 답하며, 보안 수정은 최신 미리보기에만 들어갑니다.

로드맵

첫 정식 공개 릴리스인 v1을 목표로 한 계획입니다. 계획일 뿐이며 날짜는 정해져 있지 않습니다.

  • 보류와 변경 묶음: 보류 기록 보기와 되살리기, 대량 변경 차단기, 되돌림 감지기.
  • 함수 단위 선점: Python, JS/TS, C#은 심볼 단위로, 그 밖의 텍스트 파일은 블록 단위로.
  • Claude Code 연동: 훅, 편집 게이트, MCP 도구, 로컬 IPC.
  • Claude 간 협업: 충돌 처리 흐름, 요청과 응답, 세션에 보내는 알림.
  • 전체 명령: start, stop, pause, resume, save, adopt, recover, uninstall, status, doctor. 원격 저장소 비공개 확인, 비밀 정보 검사, 6개 언어 메시지.
  • 세션에 묶인 동기화: Claude Code 세션이 열려 있는 동안, 또는 /cowork start --human <minutes>로 정한 시간 동안만 동기화. 공개 원격 저장소는 거부.
  • 호스트: GitHub, GitLab, Gitea. 시작할 때 사용자 지정 ref와 리스 지원이 확인되는 경우에 한합니다.
  • 뷰어 2: 슬래시 명령으로 쓰는 view, 6개 언어, WebM과 GIF 내보내기, 하이라이트 모음. 뷰어 2의 마지막 작업이 첫 정식 공개 릴리스입니다.
  • 호스트에 따라 달라지는 작업을 내놓기 전에 할 시험: 다른 네트워크에 있는 두 번째 PC, 강제 로그아웃을 포함한 24시간 자격 증명 시험, 대화형 터미널과 VS Code에서의 시험.

끝난 일과 다음 일은 개발자 노트 docs/STATUS.md(영어)에 있습니다.

라이선스, 쉬운 말로

cowork-sync는 소스 공개형(source-available)이며, Functional Source License 1.1에 미래 라이선스로 Apache License 2.0을 붙인 FSL-1.1-ALv2를 따릅니다. 저작권 2026 Youngmin Seo.

  • 경쟁 목적의 사용만 빼면 어떤 목적으로든 사용, 복사, 수정, 공유할 수 있습니다.
  • 경쟁 목적의 사용이란 이 소프트웨어, 또는 본질적으로 같은 일을 하는 것을 상용 제품이나 서비스로 다른 사람에게 제공하는 것을 말합니다.
  • 내부 사용, 비상업적 교육과 연구, 라이선스를 받은 사람을 위한 전문 서비스는 허용됩니다.
  • 각 릴리스는 공개된 지 2년 뒤부터 Apache License 2.0으로 이용할 수 있습니다.
  • 보증은 없으며, 상표권은 주지 않습니다.
  • 기여하려면 기여자 라이선스 계약(CLA)이 필요합니다. 풀 리퀘스트에 댓글을 달아 동의합니다.

이 요약은 라이선스 자체가 아닙니다. 조건은 LICENSE.md(영어)에 있으며, 이 파일은 fsl.software의 공식 FSL-1.1-ALv2 원문입니다. CLA는 CONTRIBUTING.md에 설명되어 있습니다.

자주 묻는 질문

실제 프로젝트에 써도 되나요?

아니요. 초기 미리보기이며 완성된 제품이 아닙니다. 테스트용 저장소에서만 쓰고, 소중한 것은 백업해 두세요.

서버가 있나요? 내 코드는 어디로 가나요?

서버는 없습니다. 전달 경로는 프로젝트의 git 원격 저장소뿐입니다. 저장한 파일은 그 원격의 사용자 지정 ref 두 개, refs/cowork/<branch>/board와 refs/cowork/<branch>/code로 갑니다.

어떤 git 호스트에서 되나요?

사용자 지정 ref를 받아 주고 --force-with-lease를 적용하는 호스트입니다. GitHub는 둘 다 되며, 첫 PC의 start가 호스트를 확인해 통과하지 못하면 거부합니다. 실제로 써 본 곳은 GitHub뿐이고, GitLab과 Gitea는 v1 계획에 들어 있습니다.

내 브랜치에 push 하거나 이력을 어지럽히나요?

아니요. 미리보기는 refs/heads/<branch>에 절대 push 하지 않으며, 일반 git fetch는 사용자 지정 ref를 내려받지 않습니다. 이 ref는 직접 지우기 전까지 원격에 남습니다.

두 사람이 같은 줄을 고치면 어떻게 되나요?

한 버전이 이깁니다. 진 버전은 그 사람의 클론에 보류 기록으로 보관되며 버려지지 않습니다. 이를 보거나 되살리는 명령은 아직 없습니다.

내 Claude가 팀원의 Claude와 조율하나요?

이번 미리보기에서는 아닙니다. Claude는 동기화를 알지 못하며, Claude의 수정도 다른 저장된 파일과 똑같이 동기화됩니다. 훅, MCP 도구, 선점, 협업은 계획되어 있습니다.

공개 저장소에 써도 되나요? 공유된 작업은 누가 볼 수 있나요?

비공개 원격 저장소만 쓰세요. 저장소를 읽을 수 있는 사람은 누구나 refs/cowork/*를 가져갈 수 있고, 미리보기는 원격이 비공개인지 확인하지 않습니다.

공유된 작업을 커밋으로 만들려면요?

아직 save 단계가 없습니다. 전체 명령과 함께 들어올 예정입니다. 동기화 중에는 HEAD를 움직이는 git 명령을 실행하지 말고, 먼저 동기화를 멈추세요.

수정이 얼마나 빨리 전달되나요?

미리보기의 종단 간 지연 시간은 발표된 수치가 없습니다. 데몬의 루프는 활동 중일 때 2.5초마다 돌고, 팀 전체가 분당 push 12회(제한 뒤에는 6회) 예산을 나눠 씁니다.

동기화하는 동안 Claude Code를 켜 둬야 하나요? 다른 편집기에서도 되나요?

플러그인 설치와 명령 실행은 Claude Code에서 하고, 같은 동작을 터미널에서도 실행할 수 있습니다. start 뒤에는 데몬이 백그라운드에서 계속 돌며, 무엇으로 저장했든 저장된 파일을 감지합니다. 코드를 보면, 미리보기의 데몬은 Claude Code 세션이 열려 있는지와 상관없이 중지할 때까지 계속 돌아갑니다.

.env나 키 파일도 공유되나요?

비밀 정보처럼 보이는 이름의 새 파일(.env, *.pem, *.key, id_rsa*, *credentials* 등)은 공유되지 않습니다. 하지만 파일 내용은 아직 검사하지 않으니, 동기화되는 파일에 비밀 정보를 넣지 마세요.

회사에서 써도 되나요? 기여할 수 있나요?

FSL-1.1-ALv2에서 내부 사용은 허용됩니다. 이 소프트웨어나 본질적으로 비슷한 것을 상용 제품이나 서비스로 남에게 제공하는 것은 안 됩니다. 각 릴리스는 공개 2년 뒤 Apache-2.0이 됩니다. 기여에는 CLA가 필요하며, 풀 리퀘스트에 댓글을 달아 동의합니다.