Skip to content
Open
Show file tree
Hide file tree
Changes from 6 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
3 changes: 3 additions & 0 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ mod goose2 'ui/goose2'
default:
@just --list

build-debug:
cargo build -p goose-cli --bin goose

# Run all style checks and formatting (precommit validation)
check-everything:
@echo "🔧 RUNNING ALL STYLE CHECKS..."
Expand Down
4 changes: 0 additions & 4 deletions ui/goose2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@ Goose2 is a Tauri 2 + React 19 desktop app.

`just clean` removes Rust build artifacts, `dist`, and `node_modules`. Run `just setup` again before `just dev`.

`just setup` bootstraps a shared managed goose checkout in a home-level cache directory when it does not exist, fast-forwards it, builds a local `goose` binary, and stamps the exact branch/commit it used. `just dev` only does a lightweight preflight against that shared stamp; if the managed checkout is missing, stale, or built from the wrong branch, it warns and tells you to rerun `just setup`. By default the helper uses `~/Library/Caches/goose2-dev` on macOS, or `$XDG_CACHE_HOME/goose2-dev` / `~/.cache/goose2-dev` elsewhere. It prefers `origin/baxen/goose2` and falls back to `origin/main` when that branch does not exist yet.

Override the shared cache root or branch with `GOOSE_DEV_ROOT=/path/to/cache` and `GOOSE_DEV_BRANCH=my/integration-branch`. You can also override the checkout path directly with `GOOSE_DEV_REPO=/path/to/goose`, or the clone source with `GOOSE_DEV_CLONE_URL=...`.

Run `just` to list available commands, or see [justfile](./justfile) for the full recipe definitions.

## Important Files
Expand Down
14 changes: 12 additions & 2 deletions ui/goose2/justfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import '../../Justfile'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove recursive Justfile include

Importing ../../Justfile here creates a cycle because the root Justfile already declares mod goose2 'ui/goose2'; loading either file now requires loading the other again. In practice this prevents just from loading recipes (e.g., just dev / just goose2::dev) until the cycle is broken, so local dev commands become unusable.

Useful? React with 👍 / 👎.


# Derive a stable port from the working directory so the same worktree
# always gets the same port.
vite_port := `python3 -c "import hashlib,os; h=int(hashlib.sha256(os.getcwd().encode()).hexdigest(),16); print(10000 + h % 55000)"`
Expand Down Expand Up @@ -74,10 +76,14 @@ test-e2e-all:
# ── Run ──────────────────────────────────────────────────────

# Start the desktop app in dev mode
dev:
dev: build-debug
#!/usr/bin/env bash
set -euo pipefail

if [[ -z "${GOOSE_BIN:-}" ]]; then
export GOOSE_BIN="$(cargo metadata --format-version 1 | jq -r '.target_directory')/debug/goose"
Comment thread
jamadeo marked this conversation as resolved.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use platform-specific executable suffix for GOOSE_BIN

The new default GOOSE_BIN value hardcodes <target_directory>/debug/goose, but cargo build -p goose-cli --bin goose produces goose.exe on Windows. In that environment, resolve_goose_binary() rejects the override because the path does not exist (ui/goose2/src-tauri/src/services/acp/goose_serve.rs checks GOOSE_BIN with path.exists()), so just dev/just dev-debug fail before the app can start unless users manually set GOOSE_BIN.

Useful? React with 👍 / 👎.

fi

VITE_PORT={{ vite_port }}
export VITE_PORT
PROJECT_DIR=$(pwd)
Expand All @@ -104,10 +110,14 @@ dev:
pnpm tauri dev --features app-test-driver --config "$TAURI_CONFIG"

# Start the desktop app with dev config
dev-debug:
dev-debug: build-debug
#!/usr/bin/env bash
set -euo pipefail

if [[ -z "${GOOSE_BIN:-}" ]]; then
export GOOSE_BIN="$(cargo metadata --format-version 1 | jq -r '.target_directory')/debug/goose"
fi

VITE_PORT={{ vite_port }}
export VITE_PORT
EXTRA_CONFIG="--config {\"build\":{\"devUrl\":\"http://localhost:${VITE_PORT}\",\"beforeDevCommand\":{\"script\":\"exec ./node_modules/.bin/vite --port ${VITE_PORT} --strictPort\",\"cwd\":\"..\",\"wait\":false}}}"
Expand Down
262 changes: 0 additions & 262 deletions ui/goose2/scripts/ensure-local-goose.sh

This file was deleted.

Loading