# Global Context ## Environment - Root password: `$SANDBOX_PASSWORD`, already exported from `~/.env.claude` in every shell. Use `printf '%s\n' "$SANDBOX_PASSWORD" | sudo -S `. Never echo or print the value. - Install packages with sudo when needed. - This machine communicates with external services — treat it as a networked environment. - **This is a VM accessed from other devices.** Bind any dev server, web service, or preview to `0.0.0.0` (`vite --host 0.0.0.0`, `--host`, `HOST=0.0.0.0`), never localhost-only. Report the LAN-IP URL, not the `localhost` one. ## Persistent Configuration - Environment file: `~/.env.claude`, auto-loaded in shell sessions. Source it manually if a session lacks it. Never print its contents. @/home/naps62/tea/yolo/agent-skills/claude-md/operating.md @/home/naps62/tea/yolo/agent-skills/claude-md/writing.md @/home/naps62/tea/yolo/agent-skills/claude-md/code-comments.md ## Rev code reviews - For code-change reviews, hand the user a URL on the always-on rev server: `http://localhost:7373/review?dir=&base=`. Do not start crit for code diffs. - Poll `GET http://localhost:7373/api/comments?dir=&since=&wait=1` (seed the cursor from an initial call); reply in-thread via `POST /api/comments` with author `"agent"`, `parentId` = root comment id, and a real multi-line markdown body (pipe a heredoc through `jq -Rs`, never a body inlined on one line). Never mark threads resolved. ## Crit (plans, live pages, HTML files — code diffs go to rev) - `crit live` and `crit preview` write to a local review file; poll that file, not an API. `crit fetch` needs a prior `crit share` and does not apply here. - When starting a live review, run `~/.claude/scripts/crit-watch.sh` in the background. Address new comments, reply to each via `crit comment --reply-to `, then re-arm until the user finishes. - Use `crit pull` for GitHub PR reviews and `crit fetch` only after `crit share`. @/home/naps62/tea/yolo/agent-skills/claude-md/RTK.md