diff --git a/.agents/skills/ship-pseudocode/SKILL.md b/.agents/skills/ship-pseudocode/SKILL.md index d06d97fa00319..ca296e22876dd 100644 --- a/.agents/skills/ship-pseudocode/SKILL.md +++ b/.agents/skills/ship-pseudocode/SKILL.md @@ -126,6 +126,7 @@ been done. | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `ERR_UNKNOWN_FILE_EXTENSION ".ts"` | Node 20 on PATH. The ship scripts pick Node 26; a hand-run command must too. | | `command not found: vp` | `node_modules/.bin` missing from PATH. | +| `Rust/Cargo and the requested Rust target` | Rust missing. `brew install rustup`, then `rustup default stable`; `_common.sh` puts its `cargo` on PATH. | | App bundle named `T3 Code.app` | `T3CODE_APP_NAME` not exported for the desktop build. | | `skipped macOS notarization` | No notarytool keychain profile named `pseudocode`. `ROTATION.md` step 6. | | `codesign ... errSecInternalComponent` | The keychain holding the signing key is locked, so `codesign` sees the identity but cannot use the key. | diff --git a/.agents/skills/ship-pseudocode/scripts/_common.sh b/.agents/skills/ship-pseudocode/scripts/_common.sh index a6d6613f64a34..2d0ca407245ef 100644 --- a/.agents/skills/ship-pseudocode/scripts/_common.sh +++ b/.agents/skills/ship-pseudocode/scripts/_common.sh @@ -6,15 +6,17 @@ repo_root() { # /usr/bin first: Xcode's export step passes rsync flags only Apple's rsync accepts. # Node 26, the version package.json pins: the build scripts are TypeScript that Node strips types from. +# Cargo: the desktop build compiles a Rust resource monitor; Homebrew's rustup is keg-only. setup_path() { - local root="$1" node26 + local root="$1" node26 rustup_bin node26="$(ls -d "$HOME"/.nvm/versions/node/v26.* 2>/dev/null | sort -V | tail -1 || true)" [ -n "$node26" ] || node26="$(brew --prefix node@26 2>/dev/null || true)" if [ -z "$node26" ] || [ ! -x "$node26/bin/node" ]; then echo "Node 26 is required. Install it with: brew install node@26" >&2 exit 1 fi - export PATH="/usr/bin:$node26/bin:$root/node_modules/.bin:$PATH" + rustup_bin="$(brew --prefix rustup 2>/dev/null || true)/bin" + export PATH="/usr/bin:$node26/bin:$rustup_bin:$HOME/.cargo/bin:$root/node_modules/.bin:$PATH" } # Branding and identifiers live in .env.local. The desktop build reads T3CODE_APP_NAME and