From c08ec00f4d2a94586fe669f8cb503ff7afff1905 Mon Sep 17 00:00:00 2001 From: Igor Lins e Silva <4753812+igorls@users.noreply.github.com> Date: Fri, 8 May 2026 02:01:36 -0300 Subject: [PATCH] fix: address Copilot review on PATH visibility (PR #1414) - mempalace/instructions/init.md: only skip Step 4 when `mempalace --version` succeeds. `pip show` / `uv tool list` reporting an install is not enough -- if the package lives in an unactivated venv, Step 5 (`mempalace init ...`) fails with command-not-found. Treat that case as not-installed and re-install via Step 3 into a PATH-visible location. - .codex-plugin/README.md: switch the git-install recipe from `uv sync` to `uv tool install --editable .` so the bundled `plugin.json` (which invokes `mempalace-mcp` by bare name) can launch the MCP server. Plain `uv sync` only puts the script in `.venv/bin/`, which Codex won't find unless the venv is activated first. --- .codex-plugin/README.md | 9 +++++++-- mempalace/instructions/init.md | 13 ++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.codex-plugin/README.md b/.codex-plugin/README.md index d7f4637..2af714c 100644 --- a/.codex-plugin/README.md +++ b/.codex-plugin/README.md @@ -39,12 +39,17 @@ git clone https://github.com/MemPalace/mempalace.git cd mempalace ``` -2. Install the Python package (uv recommended): +2. Install the Python package so the `mempalace-mcp` script lands on + your PATH (the bundled `plugin.json` invokes it by bare name): ```bash -uv sync # or: pip install -e . +uv tool install --editable . # or: pip install -e . ``` + Plain `uv sync` is **not** enough here — it installs the scripts into + `.venv/bin/`, which Codex will not find unless you activate the venv + before launching Codex. + 3. The `.codex-plugin` directory is already in the repo root. Codex CLI will detect it automatically when you run Codex from inside the repository. 4. Initialize your palace: diff --git a/mempalace/instructions/init.md b/mempalace/instructions/init.md index b43ecc4..347367a 100644 --- a/mempalace/instructions/init.md +++ b/mempalace/instructions/init.md @@ -11,12 +11,15 @@ tell the user they need Python 3.9+ installed and stop. ## Step 2: Check if mempalace is already installed -Run `mempalace --version` to see if the CLI is already on the user's PATH. -If it succeeds, report the installed version and skip to Step 4. +Run `mempalace --version`. If it succeeds, the CLI is on PATH — report +the installed version and skip to Step 4. -If that fails, fall back to `pip show mempalace` (and `uv tool list` if `uv` -is available) to detect an existing install. If found, report it and skip -to Step 4. +If `mempalace --version` fails, **do not** skip to Step 4 just because +`pip show mempalace` or `uv tool list` reports the package as installed: +the package may live inside a venv that isn't activated, in which case +Step 5 (`mempalace init ...`) will fail with `command not found`. Treat +that case as not-installed and continue to Step 3, which will (re)install +into a PATH-visible location via `uv tool install` or `pip`. ## Step 3: Install mempalace