Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/skills/ship-pseudocode/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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. |
Expand Down
6 changes: 4 additions & 2 deletions .agents/skills/ship-pseudocode/scripts/_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading