See workspace policy: /Users/home/Workspace/CLAUDE.md
/Users/home/Workspace/CLAUDE.md/Users/home/Workspace/Apps/AGENTS.md/Users/home/Workspace/Apps/Nexus/AGENTS.md← nearest, wins on conflicts- Relevant
~/.skills/guides
- Purpose: Native macOS Safari bookmark manager (reads
~/Library/Safari/Bookmarks.plistvia plistlib) - Package:
nexus| Entry:python -m nexus.main - Launch:
./run_preview.sh - Build:
nexusbuildorrazorbuild Nexus| Push:nexuspushorrazorpush Nexus - Toolchain:
uv sync→uv run ruff check .→uv run ty check src --python-version 3.13 - Tests:
uv run pytest tests/ -v - razorcore: editable dep at
../.razorcore ⚠️ macOS Full Disk Access required — without it,Bookmarks.plistraisesPermissionError. Grant in System Settings → Privacy & Security → Full Disk Access.- Always open plist in binary mode:
open(path, "rb")— macOS uses binary plist format, not XML
applescript/builder.py— pure AppleScript string construction (no asyncio, no subprocess); fully testable on any platformapplescript/poller.py— async Safari state queries;run_applescript(),wait_for_safari_ready(),check_safari_status()core/safari.py— coordinator only; no raw AppleScript strings