Commit 0358860495e9

Vincent Demeester <vincent@sbr.pm>
2026-02-02 12:31:14
Add pi coding agent support to shpool-ssh-wrapper
- Add pi/* and pi:*/* session patterns for Pi coding agent - Add review-pi/* for review sessions with Pi - Update documentation and examples to include Pi usage - Pi sessions use existing claude-hooks via Pi extension wrapper
1 parent 8fcf4cc
Changed files (1)
tools
shpool-ssh-wrapper
tools/shpool-ssh-wrapper/default.nix
@@ -58,7 +58,8 @@ pkgs.writeScriptBin "shpool-ssh-wrapper" ''
   #   copilot/*       - GitHub Copilot CLI
   #   opencode/*      - OpenCode CLI
   #   oco/*           - OpenCode with Vertex AI
-  #   review-<tool>/* - Review sessions with specified tool (cr, copilot, opencode, oco)
+  #   pi/*            - Pi coding agent
+  #   review-<tool>/* - Review sessions with specified tool (cr, copilot, opencode, oco, pi)
   #
   # Model selection (optional):
   #   claude:opus/home      - Use opus model
@@ -67,6 +68,8 @@ pkgs.writeScriptBin "shpool-ssh-wrapper" ''
   # Examples:
   #   ssh host/claude/home                    # Claude in ~/src/home
   #   ssh host/claude:opus/home               # Claude with opus in ~/src/home
+  #   ssh host/pi/home                        # Pi coding agent in ~/src/home
+  #   ssh host/pi:sonnet/home                 # Pi with sonnet in ~/src/home
   #   ssh host/review-copilot/pr-123="prompt" # Review with copilot
 
   set -euo pipefail
@@ -171,6 +174,14 @@ pkgs.writeScriptBin "shpool-ssh-wrapper" ''
           # OpenCode with Vertex AI session
           run_ai_session "$SESSION_NAME" "oco" "oco"
           ;;
+      pi:*/*)
+          # Pi coding agent with model selection
+          run_ai_session "$SESSION_NAME" "pi" "pi"
+          ;;
+      pi/*)
+          # Pi coding agent session
+          run_ai_session "$SESSION_NAME" "pi" "pi"
+          ;;
       review-cr/*|review-claude/*)
           # Review with Claude Code (cr)
           if [ -z "$WORK_DIR" ]; then
@@ -223,6 +234,19 @@ pkgs.writeScriptBin "shpool-ssh-wrapper" ''
           fi
           run_with_command "$SESSION_NAME" "oco" "$WORK_DIR"
           ;;
+      review-pi/*)
+          # Review with Pi coding agent
+          if [ -z "$WORK_DIR" ]; then
+              if ${pkgs.shpool}/bin/shpool list 2>/dev/null | grep -q "^$SESSION_NAME "; then
+                  exec ${pkgs.shpool}/bin/shpool attach -f "$SESSION_NAME"
+              else
+                  echo "Error: new review sessions require a prompt (use session=prompt syntax)" >&2
+                  echo "Example: ssh host/review-pi/pr-123=\"Review https://github.com/...\"" >&2
+                  exit 1
+              fi
+          fi
+          run_with_command "$SESSION_NAME" "pi" "$WORK_DIR"
+          ;;
       *)
           # If work directory specified, cd into it before attaching
           if [ -n "$WORK_DIR" ]; then