diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 5a6e993..3161a7a 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "shambu", - "version": "0.5.0", + "version": "0.5.1", "description": "Prepare, inspect and patch Bambu Studio projects (.3mf) from STL files, slice them headless with estimates, and read a Bambu Lab printer's status over LAN (read-only). Built on Bambu Studio's own command line.", "author": { "name": "Shav Vimalendiran" }, "homepage": "https://github.com/Shavvimal/shambu", diff --git a/CHANGELOG.md b/CHANGELOG.md index 02b1066..bc31f80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.5.1] - 2026-10-27 + +### Changed +- setup skill, step 5: updating the plugin is one command, `/plugin marketplace update shambu`: per the Claude Code + docs it refreshes the marketplace and updates the plugins installed from it, and closing the `/plugin` panel runs + `/reload-plugins`. The two documented fallbacks stay: `/reload-plugins --force` when the reload is left pending, + `/plugin update shambu@shambu` when the update reports a plugin it left for you. The README says the same. + ## [0.5.0] - 2026-10-27 Printer profiles for LAN-only mode and cloud mode. On 2026-10-27 the X2D went to LAN-only mode and regenerated its diff --git a/README.md b/README.md index 8a78347..b5d0272 100644 --- a/README.md +++ b/README.md @@ -56,17 +56,20 @@ As a Claude Code plugin: /shambu:setup ``` -`/shambu:setup` installs the CLI (`uv tool install "shambu @ git+https://github.com/Shavvimal/shambu@v0.5.0"`) and runs +To update later: `/plugin marketplace update shambu` (it updates the installed plugin and reloads when the panel +closes), then `/shambu:setup update`. + +`/shambu:setup` installs the CLI (`uv tool install "shambu @ git+https://github.com/Shavvimal/shambu@v0.5.1"`) and runs `shambu doctor`. From then on, ask Claude to "make a plate from these STLs with PETG functional settings" and the `/shambu` skill does the rest. CLI only: ``` -uv tool install "shambu @ git+https://github.com/Shavvimal/shambu@v0.5.0" -shambu doctor --expect-version 0.5.0 +uv tool install "shambu @ git+https://github.com/Shavvimal/shambu@v0.5.1" +shambu doctor --expect-version 0.5.1 # or without installing: -uvx --from "git+https://github.com/Shavvimal/shambu@v0.5.0" shambu doctor --expect-version 0.5.0 +uvx --from "git+https://github.com/Shavvimal/shambu@v0.5.1" shambu doctor --expect-version 0.5.1 ``` ## Usage diff --git a/skills/setup/SKILL.md b/skills/setup/SKILL.md index d8b24b9..82ad842 100644 --- a/skills/setup/SKILL.md +++ b/skills/setup/SKILL.md @@ -27,13 +27,13 @@ ls /Applications/BambuStudio.app/Contents/MacOS/BambuStudio && defaults read /Ap ## 2. Install or update the CLI ``` -uv tool install --reinstall "shambu @ git+https://github.com/Shavvimal/shambu@v0.5.0" -shambu --version # must print: shambu 0.5.0 +uv tool install --reinstall "shambu @ git+https://github.com/Shavvimal/shambu@v0.5.1" +shambu --version # must print: shambu 0.5.1 ``` The tag matches this setup text, and the `/shambu` skill text expects the same version. If `shambu` is not found afterwards, run `uv tool update-shell` and open a new shell (the uv tool bin dir must be on PATH). Alternative -without a persistent install: `uvx --from "git+https://github.com/Shavvimal/shambu@v0.5.0" shambu doctor --expect-version 0.5.0`. +without a persistent install: `uvx --from "git+https://github.com/Shavvimal/shambu@v0.5.1" shambu doctor --expect-version 0.5.1`. Install from the tag above, not from a local checkout: `uv tool install .` copies the code once and does not follow the plugin (that is how a 0.2.1 CLI ran under a 0.3.0 plugin). A checkout is for development only. @@ -41,13 +41,13 @@ the plugin (that is how a 0.2.1 CLI ran under a 0.3.0 plugin). A checkout is for ## 3. Check the machine ``` -shambu --version # must print: shambu 0.5.0 -shambu doctor --expect-version 0.5.0 +shambu --version # must print: shambu 0.5.1 +shambu doctor --expect-version 0.5.1 ``` Run `shambu --version` first: every release prints it. If it shows another number, step 2 did not take: run it again and open a new shell. A usage error on `--expect-version` (`unrecognized arguments`) means the installed CLI -predates 0.4.0: run step 2. Exit 3 with `skill expects 0.5.0: MISMATCH` means the same. Expected: the shambu version +predates 0.4.0: run step 2. Exit 3 with `skill expects 0.5.1: MISMATCH` means the same. Expected: the shambu version and how it was installed, the Bambu Studio version and binary, the profile sources (Application Support copy first, then the app bundle), the GUI's current presets and bed type, whether a printer is selected and its access code is stored (the code itself is never printed), with a profile the line `printer profile (default): serial @@ -103,12 +103,14 @@ check; a `login --printer NAME` refresh without `--insecure` clears it. ## 5. Updating -1. `/plugin marketplace update shambu` (refreshes the local copy of the repo; without it, `/plugin update` finds nothing new). -2. `/plugin update shambu@shambu`, then `/reload-plugins`. -3. Run `/shambu:setup install` again: the new setup text pins the matching tag in step 2. Not `uv tool upgrade +1. `/plugin marketplace update shambu`: one command refreshes the marketplace and updates the plugins installed from + it (`Updated 1 marketplace (1 plugin bumped)`). Closing the `/plugin` panel runs `/reload-plugins` for you. Two + fallbacks the docs name: when the reload is left pending because it would invalidate the prompt cache, run + `/reload-plugins --force`; when the update reports a plugin it left for you, run `/plugin update shambu@shambu`. +2. Run `/shambu:setup install` again: the new setup text pins the matching tag in step 2. Not `uv tool upgrade shambu`: it keeps the old source (a tag or a local folder). The line it runs is `uv tool install --reinstall "shambu @ git+https://github.com/Shavvimal/shambu@vX.Y.Z"` with the new version. -4. `shambu doctor --expect-version 0.5.0` exits 0. +4. `shambu doctor --expect-version 0.5.1` exits 0. ## Troubleshooting diff --git a/skills/shambu/SKILL.md b/skills/shambu/SKILL.md index 8075118..ee6468f 100644 --- a/skills/shambu/SKILL.md +++ b/skills/shambu/SKILL.md @@ -13,7 +13,7 @@ send a job. Request: $ARGUMENTS ## Before you start (standing rules) 1. Before the first shambu command of a task (before the spec is written): `shambu --version` (it must print: - shambu 0.5.0), then `shambu doctor --json --expect-version 0.5.0`. Exit 3 with `"shambu": {"match": false}` + shambu 0.5.1), then `shambu doctor --json --expect-version 0.5.1`. Exit 3 with `"shambu": {"match": false}` (`MISMATCH` and a `Fix:` line) means another version is on PATH. A usage error on `--expect-version` means one older than 0.4.0. Either way: stop, give both versions and the fix (`/shambu:setup update`). Never use `uv run --project`, a checkout or another binary. No `timeout` wrapper (macOS has none), no `2>/dev/null`. diff --git a/src/shambu/__init__.py b/src/shambu/__init__.py index 74639a5..368aef5 100644 --- a/src/shambu/__init__.py +++ b/src/shambu/__init__.py @@ -24,4 +24,4 @@ "StudioError", "__version__", ] -__version__ = "0.5.0" +__version__ = "0.5.1"