Add Claude Desktop extensions (.mcpb) for WordCraft and GridCraft.

Ship unsigned MCPB packages built from the ArtCraft Launcher CLIs, with install docs and skill 0.2.0 updates.
This commit is contained in:
Dominic Gundel committed 2026-10-19 16:07:21 +02:00
1 parent 3ac6cd5a29
commit 2fd4164ee7
36 files changed
+1412 -116

No files matched your search

+30 -13
View File
@@ -73,21 +73,38 @@ rm -f "$resp"
rel_id="$(CREATED="$created" python3 -c 'import json,os; print(json.loads(os.environ["CREATED"])["id"])')"
html="$(CREATED="$created" python3 -c 'import json,os; print(json.loads(os.environ["CREATED"]).get("html_url",""))')"
asset_resp="$(mktemp)"
code="$(curl -sS -o "$asset_resp" -w '%{http_code}' -X POST "$api/releases/$rel_id/assets?name=$zip_name" \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @"$zip_path")"
if [[ "$code" != "201" ]]; then
echo "API $code" >&2
cat "$asset_resp" >&2
upload_asset() {
local file_path="$1" file_name="$2"
local asset_resp code asset download
asset_resp="$(mktemp)"
code="$(curl -sS -o "$asset_resp" -w '%{http_code}' -X POST "$api/releases/$rel_id/assets?name=$file_name" \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @"$file_path")"
if [[ "$code" != "201" ]]; then
echo "API $code" >&2
cat "$asset_resp" >&2
rm -f "$asset_resp"
exit 1
fi
asset="$(cat "$asset_resp")"
rm -f "$asset_resp"
exit 1
download="$(ASSET="$asset" python3 -c 'import json,os; print(json.loads(os.environ["ASSET"]).get("browser_download_url",""))')"
[[ -n "$download" ]] && echo "$download"
}
upload_asset "$zip_path" "$zip_name"
mcpb_name="$name-v$version.mcpb"
mcpb_path="$DIST_DIR/$mcpb_name"
if [[ -f "$dir/extension/manifest.json" ]]; then
if [[ ! -f "$mcpb_path" ]]; then
bash "$(dirname "$0")/package-mcpb.sh" "$name"
fi
if [[ -f "$mcpb_path" ]]; then
upload_asset "$mcpb_path" "$mcpb_name"
fi
fi
asset="$(cat "$asset_resp")"
rm -f "$asset_resp"
download="$(ASSET="$asset" python3 -c 'import json,os; print(json.loads(os.environ["ASSET"]).get("browser_download_url",""))')"
[[ -n "$html" ]] && echo "$html"
[[ -n "$download" ]] && echo "$download"
echo "Release $tag angelegt."