diff --git a/docs/us-cpa.md b/docs/us-cpa.md index 956ee48..6f019d3 100644 --- a/docs/us-cpa.md +++ b/docs/us-cpa.md @@ -26,7 +26,7 @@ To install the skill for OpenClaw itself, copy the repo skill into the workspace 1. Sync the repo copy into the workspace: ```bash -rsync -a --delete \ +rsync -a --delete --exclude '.venv' \ ~/.openclaw/workspace/projects/stef-openclaw-skills/skills/us-cpa/ \ ~/.openclaw/workspace/skills/us-cpa/ ``` @@ -50,6 +50,8 @@ python3 -m pip install -e '.[dev]' The wrapper prefers `.venv/bin/python` inside the skill directory when present, so OpenClaw can run the workspace copy without relying on global Python packages. +Keep the `--exclude '.venv'` flag on future syncs, otherwise `rsync --delete` will remove the workspace virtualenv. + ## Current Milestone Current implementation now includes: diff --git a/skills/us-cpa/README.md b/skills/us-cpa/README.md index b762c63..817641e 100644 --- a/skills/us-cpa/README.md +++ b/skills/us-cpa/README.md @@ -19,7 +19,7 @@ Install the skill into the OpenClaw workspace copy, not only in the repo checkou 1. Sync the skill into the workspace: ```bash -rsync -a --delete \ +rsync -a --delete --exclude '.venv' \ ~/.openclaw/workspace/projects/stef-openclaw-skills/skills/us-cpa/ \ ~/.openclaw/workspace/skills/us-cpa/ ``` @@ -43,6 +43,8 @@ python3 -m pip install -e '.[dev]' The wrapper now prefers `~/.openclaw/workspace/skills/us-cpa/.venv/bin/python` when present and falls back to `python3` otherwise. +Keep the `--exclude '.venv'` flag on future syncs, otherwise the workspace virtualenv will be deleted by `rsync --delete`. + ## Run Installed entry point: diff --git a/skills/us-cpa/tests/test_cli.py b/skills/us-cpa/tests/test_cli.py index 39a5547..3dbc915 100644 --- a/skills/us-cpa/tests/test_cli.py +++ b/skills/us-cpa/tests/test_cli.py @@ -52,11 +52,13 @@ class UsCpaCliSmokeTests(unittest.TestCase): self.assertIn(".venv/bin/python", readme) self.assertIn("python3 -m ensurepip --upgrade", readme) self.assertIn("python3 -m pip install --upgrade pip setuptools wheel", readme) + self.assertIn("--exclude '.venv'", readme) self.assertNotIn("/Users/stefano/", readme) self.assertIn("OpenClaw installation", operator_doc) self.assertIn("rsync -a --delete", operator_doc) self.assertIn("python3 -m ensurepip --upgrade", operator_doc) self.assertIn("python3 -m pip install --upgrade pip setuptools wheel", operator_doc) + self.assertIn("--exclude '.venv'", operator_doc) self.assertIn("~/", operator_doc) self.assertNotIn("/Users/stefano/", operator_doc) self.assertIn("~/.openclaw/workspace/skills/us-cpa/scripts/us-cpa", skill_doc)