macOS λ©λ΄λ° μ±. λ Mac κ° Claude Code Β· Claude Desktop Β· Codex CLIμ μ€μ / μΈμ / λ©λͺ¨λ¦¬λ₯Ό μλ λκΈ°νν©λλ€.
β οΈ νμ¬ μν: 1:1 λ Mac λκΈ°ν. ad-hoc μλͺ (Developer ID + 곡μ¦μ v1.2 μμ ). μΈλΆ λΌμ΄λΈλ¬λ¦¬ 0, μΈλΆ μλΉμ€ 0.
- μ€μΉ β μΈ κ°μ§ path μ€ νλ
- μ 체 νλ¦ β λ Mac μ²μλΆν° λκΉμ§
- 무μμ νλ
- π§ For Human β μ¬μ©μ κ°μ΄λ
- π€ For LLM β Claude Code λ± AI λκ΅¬λ‘ μμ ν λ
λ€λ₯Έ Macμμ git cloneλ§ ν ν κ·Έ ν΄λμμ Claude Codeλ₯Ό μ΄κ³ ν λ§λ:
μ΄ νλ‘μ νΈ μ€μΉν΄μ μ€νν΄μ€
Claude Codeκ° μλμΌλ‘ CLAUDE.mdμ "Install workflow" μΉμ
μ μ½κ³ λ€μμ μ²λ¦¬ν©λλ€:
bash scripts/install.shμ€ν (Xcode CLT / Homebrew / xcodegen μλ)- Universal Release λΉλ +
/Applications/ClaudeSync.appμ€μΉ + launch - macOSκ° λ¬»λ GUI promptλ€ (Remote Login, FDA, Local Network)μ μ¬μ©μμκ² λͺ μμ μΌλ‘ μλ΄
- Onboarding 6λ¨κ³ λ§λ²μ¬λ‘ κ°μ΄λ
LLMμ΄ λͺ» νλ λΆλΆ (μμ€ν λ€μ΄μΌλ‘κ·Έ ν΄λ¦, Onboarding λ²νΌ ν΄λ¦)μ μ¬μ©μμκ² μ νν μ΄λλ₯Ό ν΄λ¦νλΌκ³ μλ΄ν©λλ€.
π‘ μ¬μ μꡬ: λ€λ₯Έ Macμ Claude Codeκ° μ€μΉλμ΄ μμ΄μΌ ν¨ + git cloneμ΄ λλ μμ΄μΌ ν¨. Claude Codeκ° μμΌλ©΄ Path B λλ Cλ₯Ό μ¬μ©.
λ Mac κ°κ°μ ν°λ―Έλμμ λκ°μ΄ ν λ²μ©:
curl -fsSL https://raw.githubusercontent.com/Two-Weeks-Team/ClaudeSync/main/scripts/web-install.sh | bashμ΄ ν μ€μ΄ μλμΌλ‘:
- GitHub Releasesμμ latest .dmg λ€μ΄λ‘λ (SHA-256 verification)
- mount β
/Applications/ClaudeSync.appλ³΅μ¬ β quarantine μ κ±° - launch + λ©λ΄λ° λ±μ₯ νμΈ
Xcode/Homebrew/git λͺ¨λ μμ΄λ λμν©λλ€ β GitHub Actionsκ° λ―Έλ¦¬ λΉλν Universal binary DMGλ₯Ό λ°μμ μ€μΉλ§ ν©λλ€. λΉ macOS 15 Macμμλ μ½ 30μ΄ μμ μλ£.
λ§μ½ GitHub Releaseκ° μμ§ μκ±°λ λ€μ΄λ‘λ μ€ν¨νλ©΄, μλμΌλ‘ source build path(Xcode νμ)λ‘ fallback. κ°μ λ‘ source build μνλ©΄
CLAUDESYNC_FORCE_SOURCE=1νκ²½λ³μ.
μ΄ ν μ€μ΄ μλμΌλ‘:
| λ¨κ³ | 무μ | μ¬μ©μ μ λ ₯ |
|---|---|---|
| 1 | Xcode Command Line Tools μ€μΉ (μμΌλ©΄) | macOS μμ€ν λ€μ΄μΌλ‘κ·Έμμ "μ€μΉ" |
| 2 | git β μμ€ clone (~/.claudesync/source) |
μμ |
| 3 | Homebrew μ€μΉ (μμΌλ©΄ λΉλνν) | μμ |
| 4 | xcodegen μ€μΉ | μμ |
| 5 | Universal Release λΉλ (~60μ΄) | μμ |
| 6 | /Applications/ClaudeSync.app μ€μΉ + Gatekeeper quarantine μ κ±° |
μμ |
| 7 | μ± launch | μμ |
μ’ λ£ ν ν°λ―Έλμ λ€μ λ¨κ³ μλ΄κ° νκ΅μ΄λ‘ μΆλ ₯λ©λλ€.
β οΈ Xcode μ체λ μλ μ€μΉ λΆκ° β Apple μ μ± μ CLIλ‘ μ€μΉ λͺ» ν¨. Mac App Storeμμ "Xcode" κ²μ ν ν λ²λ§ μ€μΉ (λμ©λ, 30λΆ~1μκ° μμ). μ€μΉ ν μ λͺ λ Ή μ€ν.
git clone https://github.com/Two-Weeks-Team/ClaudeSync.git
cd ClaudeSync
bash scripts/install.shinstall.shλ κΈ°λ³Έ non-interactive (μλ yes). prompt λͺ¨λ μνλ©΄ CLAUDESYNC_INTERACTIVE=1.
| Path | μ¬μ©μ μ λ ₯ | Xcode νμ? | LLM νμ? | μμ μκ° |
|---|---|---|---|---|
| B (curl ν μ€, DMG) β | curl ... ν μ€ | β μμ΄λ λ¨ | β | ~30μ΄ |
| A (AI μμ, source) | "μ΄ νλ‘μ νΈ μ€μΉν΄μ μ€νν΄μ€" ν λ§λ | β (LLMμ΄ λΉλ) | β Claude Code | ~2λΆ |
| C (μλ, source) | git clone + cd + bash | β | β | ~2λΆ |
π‘ μΆμ² μμ: μΌλ° μ¬μ©μλ B (Xcode μ λ°μλ λ¨). μ½λλ₯Ό μ΄ν΄λ³΄κ±°λ μμ νλ €λ κ°λ°μλ A λλ C.
| 쑰건 | μ΄λ»κ² νμΈ |
|---|---|
| macOS 15 (Sequoia) μ΄μ | μ¬κ³Ό λ©λ΄ β μ΄ Macμ κ΄νμ¬ |
| κ°μ Wi-Fi / κ°μ LAN | μμͺ½ Macμ Wi-Fi μ΄λ¦ μΌμΉ νμΈ |
| Xcode μ€μΉλ¨ | Mac App Store β "Xcode" κ²μ |
μμͺ½ Macμμ κ°κ° ν°λ―Έλ μ΄κ³ :
curl -fsSL https://raw.githubusercontent.com/Two-Weeks-Team/ClaudeSync/main/scripts/web-install.sh | bashλΉλ + μ€μΉ + launchκΉμ§ μ΄ 1~2λΆ. μμͺ½μ΄ λμμ μ€νλμ΄λ 무방.
μ€μΉ μλ£ ν μμͺ½ Macμ νλ©΄ μ°μΈ‘ μλ¨ λ©λ΄λ°μ μν λ μμ΄μ½μ΄ λ±μ₯ν©λλ€.
[νλ©΄ μ°μΈ‘ μλ¨ λ©λ΄λ°]
ββ μν
λ μμ΄μ½ (ClaudeSync)
β
β¦ π β β π΄ π΅ π¬ π₯ π π π‘ ββββ ν΄λ¦
μ²μ launchνλ©΄ macOSκ° λ€μμ 묻μ΅λλ€ β λͺ¨λ "νμ©" ν΄λ¦:
| Prompt | λ΅ |
|---|---|
| "ClaudeSyncμ(λ₯Ό) μ¬μκ² μ΅λκΉ?" (첫 launchλ§) | μ΄κΈ° |
| "ClaudeSyncμ΄(κ°) λ‘컬 λ€νΈμν¬μ μλ λλ°μ΄μ€λ₯Ό μ°Ύκ³ μ°κ²°νλ €κ³ ν©λλ€." | νμ© |
λ©λ΄λ° μν λ μμ΄μ½ ν΄λ¦ β popover λ±μ₯ β νλ¨ "Onboarding" λ²νΌ ν΄λ¦ β λ³λ μλμ° μ΄λ¦Ό.
μλμ°μλ 6λ¨κ³κ° μμλλ‘:
ββββββββββββββββββββββββββββββββββββββββ
β Welcome to ClaudeSync β β νμ¬ step νμ
ββββββββββββββββββββββββββββββββββββββββ€
β Step 1 of 3 β Remote Login β
β β
β β Remote Login is OFF β
β [Open System Settings] [Check now] β
β [Continue]
ββββββββββββββββββββββββββββββββββββββββ
| Step | 무μ | μ¬μ©μ μ‘μ |
|---|---|---|
| β Welcome | νμ νλ©΄ | "Continue" ν΄λ¦ |
| β‘ Remote Login | sshd νμ± κ²μ¬ | "Open System Settings" β μμ€ν μ€μ μμ "μ격 λ‘κ·ΈμΈ" ν κΈ ON β μλμ°λ‘ λμμ "Check now" β λ Ήμ β β "Continue" |
| β’ Full Disk Access | FDA κ²μ¬ | "Open System Settings" β μ κΈ ν΄μ β "+" λ²νΌ β /Applications/ClaudeSync.app μ ν β "Continue" |
| β£ Discovery | λ€λ₯Έ Mac λ°κ²¬ λκΈ° | λ€λ₯Έ Macμ΄ κ°μ λ¨κ³ λλ¬νλ©΄ λͺ©λ‘μ μλ λ±μ₯ β μμ "Pair" ν΄λ¦ |
| β€ Pairing Code | 6μ리 μ½λ νμ | λ€λ₯Έ Mac νλ©΄μ μ½λμ μκ°μ μΌμΉ νμΈ |
| β₯ Confirm | μ΅μ’ νμΈ | "Confirm β codes match" ν΄λ¦ β μλμΌλ‘ SSH ν€ + TLS νΈλμ °μ΄ν¬ + λκΈ°ν μμ |
Mac Aμ μ¬μ©μκ° β£μμ "Pair" ν΄λ¦νλ©΄, Mac Bμ λ©λ΄λ° popoverμ μλμΌλ‘ λ°°λκ° λ±μ₯:
βββββββββββββββββββββββββββββββββββββββββ
β π΅ ClaudeSync Searching for peerβ¦ β
βββββββββββββββββββββββββββββββββββββββββ€
β Pair request from MacA β
β β
β 284579 β β 6μ리 μ½λ (μμͺ½ λμΌν΄μΌ ν¨)
β β
β [Accept β codes match] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββ
Mac B μ¬μ©μ: μ½λκ° Mac A νλ©΄κ³Ό μΌμΉνλ©΄ "Accept β codes match" ν΄λ¦ β Mac Aμ Onboardingμ΄ μλμΌλ‘ Step β₯λ‘ λμ΄κ° β Mac A μ¬μ©μκ° "Confirm β codes match" ν΄λ¦ β μμͺ½ λͺ¨λ "Watching" μν β λκΈ°ν μμ.
νμ΄λ§μ ν λ²λ§. μμνλμ΄ μμͺ½ Macμ μ¬μμν΄λ μλ 볡μ.
| νλͺ© | κ° |
|---|---|
| λκΈ°ν λμ | ~/.claude/, ~/Library/Application Support/Claude/, ~/.codex/, ~/Documents/GitHub/ |
| λ°κ²¬ | Bonjour _claudesync._tcp (κ°μ LAN) |
| νμ΄λ§ | 6μ리 μκ° νμΈ μ½λ + 16-byte nonce + Ed25519 SSH ν€ μλ κ΅ν |
| μ μ‘ | rsync over SSH (openrsync νΈν) |
| 보μ | TLS + nonce + known_hosts strict + HMAC-signed prefs (10 layers) |
| 리μμ€ | Idle 25MB Physical Footprint, 0 leaks |
| μμ‘΄μ± | macOS 15+ + Xcode λ§ β μΈλΆ λΌμ΄λΈλ¬λ¦¬ 0, μΈλΆ μλΉμ€ 0 |
μ¬κ³Ό λ©λ΄ β μμ€ν
μ€μ β μΌλ° β 곡μ β μ°μΈ‘μμ "μ격 λ‘κ·ΈμΈ" ν κΈ ON.
ν΄μ λμ΄ μμΌλ©΄ νμ΄λ§ ν rsyncκ° "Connection refused (port 22)"λ‘ μ€ν¨ν©λλ€.
μ¬κ³Ό λ©λ΄ β μμ€ν
μ€μ β κ°μΈμ 보 λ³΄νΈ λ° λ³΄μ β μ 체 λμ€ν¬ μ κ·Ό κΆν:
- μ’νλ¨ μλ¬Όμ ν΄λ¦ β Touch ID λλ λΉλ°λ²νΈλ‘ μ κΈ ν΄μ
- "+" λ²νΌ β Finder λ€μ΄μΌλ‘κ·Έ μ΄λ¦Ό
/Applications/ClaudeSync.appμ ν β "μ΄κΈ°"- λͺ©λ‘μ ClaudeSync λ±μ₯νκ³ ν κΈμ΄ μΌμ Έμλμ§ νμΈ
κ±°λΆνλ©΄ ~/Library/Application Support/Claude λ³κ²½μ κ°μ λͺ» ν¨ β Claude Desktop μΈμ
λκΈ°ν μ λ¨.
첫 launch μ μλ prompt. κ±°λΆνμΌλ©΄:
μ¬κ³Ό λ©λ΄ β μμ€ν
μ€μ β κ°μΈμ 보 λ³΄νΈ λ° λ³΄μ β λ‘컬 λ€νΈμν¬ β ClaudeSync ν κΈ ON.
βββββββββββββββββββββββββββββββββββββββββββββββ
β π΅ ClaudeSync β
β Watching for changes β β νμ¬ μν
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Coordinator β
β Watching for changes β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β [pairing banner β νμ΄λ§ μ§ν μ€μΌ λλ§ νμ]β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Peers on this network β
β β’ MacBookAir (kim) [Paired β] β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Targets β
β π Claude Code 3λΆ μ [β³] β
β π Claude Desktop λ°©κΈ [β³] β
β π Codex CLI 1μκ° μ [β³] β
β π Projects β [β³] β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Recent Activity β
β β Synced successfully β
β β Synced successfully β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β [Onboarding] [Settingsβ¦] [Quit] β
βββββββββββββββββββββββββββββββββββββββββββββββ
| μ¦μ | μ΄λμ 보μ΄λ | ν΄κ²° |
|---|---|---|
| λ©λ΄λ° μν λ μμ΄μ½μ΄ μμ | λ©λ΄λ° μ°μλ¨ | LSUIElement μ±μ΄λΌ Dock μμ. λ€λ₯Έ λ©λ΄λ° μμ΄μ½μ κ°λ €μ‘μΌλ©΄ βλλκ·Έλ‘ μμΉ μ‘°μ |
| "Searching for peer..." 무ν | λ©λ΄λ° popover μλ¨ | (1) μμͺ½ Macμ΄ κ°μ Wi-FiμΈμ§ νμΈ (2) νμ¬/μΉ΄ν Wi-Fiλ mDNS μ°¨λ¨ κ°λ₯ (3) μμͺ½ Macμ΄ λ©λ΄λ°μ λ±μ₯ν μνμΈμ§ νμΈ |
| "Failed: rsync exit=255" | λ©λ΄λ° popoverμ Recent Activity | μμͺ½ Macμμ μμ€ν μ€μ β μΌλ° β 곡μ β "μ격 λ‘κ·ΈμΈ" ON νμΈ |
| "Failed: peer clock skew Ns" | Onboarding μλμ° λλ λ©λ΄λ° banner | λ Macμ μκ° μ°¨μ΄ 30μ΄ μ΄κ³Ό. μμͺ½ Macμμ μμ€ν μ€μ β μΌλ° β λ μ§ λ° μκ° β "μλμΌλ‘ μκ° μ€μ " μΌκΈ° |
| "another instance is already running" | ν°λ―Έλ (install.sh μ¬μ€ν μ) | killall ClaudeSync ν bash scripts/install.sh λ€μ |
| "Control channel is plaintext" μ£Όν© banner | λ©λ΄λ° popover μλ¨ | openssl λλ½. brew install openssl ν ClaudeSync μ¬μμ (μμ΄λ νμ΄λ§/λκΈ°νλ μ μ λμ) |
| λκΈ°νκ° λ무 μμ£Ό μΌμ΄λ¨ | Recent Activityκ° 5λΆ λ΄ 50+ ν | Settings (β,) β Excludes νμμ μμ£Ό λ³κ²½λλ νμΌ ν¨ν΄ μΆκ° |
| Onboarding μλμ° μ¬λΌμ§ | λ©λ΄λ° popoverμμ λ€μ "Onboarding" ν΄λ¦ | |
| νμ΄λ§ ν λ€λ₯Έ Macμ΄ μ 보μ | Settings β "Forget paired peer" ν΄λ¦ β μ²μλΆν° λ€μ |
killall ClaudeSync # 1) μ± μ’
λ£
rm -rf /Applications/ClaudeSync.app ~/.claudesync # 2) μ± + λ°μ΄ν° μ κ±°
sed -i '' '/claudesync@/d' ~/.ssh/authorized_keys # 3) (μ ν) authorized_keys μ 리
# μμͺ½ Macμμ κ°μ΄ μ§ν- β 3λ μ΄μ Mac (1:1λ§)
- β ν΄λΌμ°λ κ²½μ (LAN μ§κ²°λ§)
- β iCloud Drive Β· Dropbox λ체 (AI λꡬ νκ²½ μ μ©)
- β Windows / Linux
νλ‘μ νΈ: macOS λ©λ΄λ° νΈλ μ΄ μ± (Swift 6, SwiftUI MenuBarExtra)
λͺ©μ : λ Mac κ° Claude/Codex μ€μ Β·μΈμ
Β·λ©λͺ¨λ¦¬ λκΈ°ν
μ μ‘: rsync over SSH + Bonjour λ°κ²¬ + Ed25519 ν€ νμ΄λ§ + TLS
μ μ±
: μΈλΆ μμ‘΄μ± 0, sandbox μμ, macOS 15+ μ μ©
μν: v1.1.0 (μ½λλ v1.1.1 ν¨μΉ ν¬ν¨), 214/214 tests green
λ€μ: Developer ID μλͺ
+ λ Mac μ€κΈ° κ²μ¦ (μ¬μ©μ μ격μ¦λͺ
νμ)
HANDOFF.mdβ κ°μ₯ μ΅μ μν, μ΄λμ μ΄μ΄μΌ ν μ§CLAUDE.mdβ νλ‘μ νΈ κ·μΉ (Tech stack, branch μ μ± , openrsync νΈν flag)docs/reports/2026-05-05-v1.1.0-defense-in-depth.htmlβ κ°μ₯ μ΅κ·Ό λ§μΌμ€ν€docs/prd/PRD.mdβ 무μμ λ§λλκ°docs/specs/TECHNICAL_SPEC.mdβ μ΄λ»κ² (5269 lines, νμ μ grep)
# λΉλ νμΈ
xcodegen generate # project.yml -> .xcodeproj
xcodebuild -scheme ClaudeSync -configuration Debug -destination 'platform=macOS' build
# ν
μ€νΈ (μ 체 ~12μ΄, 214/214 ν΅κ³Όν΄μΌ ν¨)
xcodebuild -scheme ClaudeSync -configuration Debug -destination 'platform=macOS' test
# Release + Universal binary + DMG
bash scripts/release-build.sh # -> .build/release-DD/.../ClaudeSync.app
bash scripts/measure-footprint.sh "<app>" # -> Physical Footprint vs PRD G4 50MB
bash scripts/package.sh # -> dist/ClaudeSync-1.1.0.dmg
# One-shot install (μ¬μ©μκ° λ Mac κ°κ°μμ μ€ν)
bash scripts/install.sh
# μλͺ
Β·κ³΅μ¦ (μ¬μ©μ μ격μ¦λͺ
νμ β LLMμ΄ μ§μ λͺ» ν¨)
export CODESIGN_IDENTITY="Developer ID Application: ..."
export NOTARY_PROFILE=ClaudeSync
bash scripts/package.shClaudeSync/
βββ App/ β @main + @Observable AppEnvironment (DI 컨ν
μ΄λ)
βββ Coordinator/ β 3-pump λΌμ°ν° (watcher / batch / results)
βββ Discovery/ β Bonjour (NWBrowser/NWListener) + ControlMessage + TLS
βββ FileWatcher/ β FSEvents -> 2s debounce -> 3-Tier λΌμ°ν°
βββ Pairing/ β 6μ리 μ½λ + nonce + clock skew + λ¨μΌ μλ
β βββ Preflight/ β Remote Login / FDA / SSH connectivity
βββ Persistence/ β preferences.json (HMAC) + history.json + paired peer
βββ SSH/ β Ed25519 ν€ + authorized_keys + known_hosts + wrapper
βββ Sync/ β rsync builder + queue + ConflictResolver (newer-wins)
βββ UI/ β MenuBarRootView + Settings + Onboarding
βββ Utilities/ β ProcessRunner + Logger + LaunchAtLogin
β + NetworkResilience + SingleInstanceGuard
βββ Resources/ β Info.plist + entitlements + AppIcon
ClaudeSyncTests/ β 26 μ€μνΈ / 214 ν
μ€νΈ
scripts/ β install / web-install / release-build / measure-footprint / package
docs/
βββ prd/ β PRD
βββ specs/ β Technical spec, Test strategy
βββ references/ β Tech references
βββ reports/ β Phase 1~6 + v1.0/v1.0.1/v1.1.0 milestones (HTML)
βββ screenshots/ β λ©λ΄λ° / μ¬μ©μ κ°μ΄λμ© μΊ‘μ²
βββ DEMO_TWO_MACS.md β λ Mac μ€κΈ° μμ° κ°μ΄λ
- β μΈλΆ λΌμ΄λΈλ¬λ¦¬ μΆκ° κΈμ§ (SPM dependency 0 μ μ± )
- β Sandbox μΌκΈ° κΈμ§ (rsync/ssh-keygen/openssl μ€ν λͺ» ν¨)
- β GNU rsync μ μ© flag μ¬μ© κΈμ§ (openrsync νΈνλ§:
--archive --compress --delete --update --itemize-changes --partial --timeout=30) - β Squash merge κΈμ§ (
gh pr merge --merge) - β μ¬μ©μμκ² ν
μ€νΈλ‘ λ¬»μ§ λ§λΌ β
AskUserQuestionλκ΅¬λ§ - β λ³΄κ³ λ₯Ό ν
μ€νΈλ§μΌλ‘ λλ΄μ§ λ§λΌ β HTML λ³΄κ³ μ (
docs/reports/) μμ±
| λ§ν | ν΄κ²° |
|---|---|
| "matching destinations" warning | 무ν΄. 무μ |
| Swift 6 actor 격리 μλ¬ | nonisolated λλ @MainActor λͺ
μ |
| Settings λ³κ²½μ΄ syncμ λ°μ μ λ¨ | AppEnvironment.applyPreferences()κ° builderλ₯Ό swapν΄μΌ ν¨ |
| μ Swift νμΌμ΄ μ»΄νμΌ μ λ¨ | xcodegen generate λ€μ |
setenv("HOME") ν
μ€νΈ race |
parallelTesting λΉνμ±ν λλ homeDirectory μ£Όμ
|
| TLS handshake μ€ν¨ | ~/.claudesync/tls/server.p12 κΆν 0o600 + openssl κ²½λ‘ νμΈ (μμΌλ©΄ plaintext fallback λμ) |
xcodebuild testκ° μ¦μ exit |
SingleInstanceGuardκ° λ€λ₯Έ ClaudeSync.app λ°κ²¬ β XCTest νκ²½λ³μ κ°μ§λ‘ μλ skipλμ§λ§, μ λλ©΄ CLAUDESYNC_DISABLE_SINGLE_INSTANCE=1 |
HANDOFF.mdμ "Resume Prompt" μΉμ
μ΄ νμ μ΅μ . v1.1.0 κΈ°μ€:
μ΄μ μΈμ μμ ClaudeSync v1.1.0κΉμ§ μλ£νμ΅λλ€ (TLS, nonce, known_hosts, HMAC, auto recovery, single-instance, install.sh, web-install.sh). HANDOFF.mdλ₯Ό μ½κ³ νμ¬ μνλ₯Ό νμ ν ν, μλͺ +κ³΅μ¦ / λ Mac μ€κΈ° κ²μ¦ / GitHub Release μ€ μ¬μ©μκ° μνλ μμ μ μ§ννμΈμ. ν μ€νΈ 214/214 κ·Έλ¦°.
μ€ν¬λ¦°μ·μ μ¬μ©μκ° μ§μ docs/screenshots/μ PNGλ‘ μΆκ°νλ κ²μ΄ κ°μ₯ μ νν©λλ€. κΆμ₯ μΊ‘μ² (Shift+Cmd+4 β μμ λλκ·Έ):
| νμΌλͺ | 무μμ μΊ‘μ² |
|---|---|
docs/screenshots/menubar-tray.png |
λ©λ΄λ° μ°μλ¨ μν λ μμ΄μ½ μμ (μ΄λ―Έ μλ μΊ‘μ²λ¨) |
docs/screenshots/menubar-popover.png |
μν λ ν΄λ¦ ν λνλλ popover μ 체 |
docs/screenshots/onboarding-step1.png |
Onboardingμ Remote Login λ¨κ³ |
docs/screenshots/onboarding-pair.png |
Onboardingμ 6μ리 μ½λ νμ νλ©΄ |
docs/screenshots/menubar-pair-banner.png |
λ©λ΄λ°μ Pair request λ°°λ |
μΆκ° ν READMEμ ν΄λΉ μΉμ
μ  μΆκ°.
λ΄λΆ νλ‘μ νΈ.
- GitHub: https://github.com/Two-Weeks-Team/ClaudeSync
- λ§μΌμ€ν€λ³ κ²°μ κ³Όμ κ³Ό ν¨μΉ μ΄μ :
docs/reports/μ HTML λ³΄κ³ μλ€
μ΄ νλ‘μ νΈλ Claude Code (Anthropic Opus 4.7)μ νμ΄ μ½λ©μΌλ‘ μμ±λμμ΅λλ€.