Skip to content

Commit 423437c

Browse files
committed
feat: add Agent-Skill packaging and release workflow
Add the OpenAI, Claude, and Cursor packaging manifests for the RocketSim Agent-Skill and introduce a manual release workflow that bumps only the skill package versions without creating tags or GitHub releases.
1 parent efb449a commit 423437c

File tree

5 files changed

+202
-0
lines changed

5 files changed

+202
-0
lines changed

.claude-plugin/marketplace.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/anthropics/claude-code/refs/heads/main/marketplace/marketplace.schema.json",
3+
"name": "rocketsim",
4+
"version": "1.0.0",
5+
"owner": {
6+
"name": "Antoine van der Lee",
7+
"email": "contact@avanderlee.com"
8+
},
9+
"metadata": {
10+
"description": "Use RocketSim to inspect and interact with iOS Simulator apps through the RocketSim CLI."
11+
},
12+
"plugins": [
13+
{
14+
"name": "rocketsim",
15+
"description": "Use RocketSim to inspect visible simulator UI and interact with iOS Simulator apps through the RocketSim CLI.",
16+
"repository": "https://github.com/AvdLee/RocketSimApp",
17+
"version": "1.0.0",
18+
"author": {
19+
"name": "Antoine van der Lee",
20+
"email": "contact@avanderlee.com"
21+
},
22+
"license": "UNLICENSED",
23+
"category": "development",
24+
"keywords": [
25+
"rocketsim",
26+
"simulator",
27+
"ios",
28+
"apple",
29+
"automation",
30+
"accessibility",
31+
"ui-testing"
32+
],
33+
"tags": [
34+
"rocketsim",
35+
"simulator",
36+
"ios",
37+
"apple",
38+
"automation",
39+
"accessibility",
40+
"ui-testing"
41+
],
42+
"source": "./"
43+
}
44+
]
45+
}

.claude-plugin/plugin.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "rocketsim",
3+
"version": "1.0.0",
4+
"description": "Use RocketSim to inspect and interact with iOS Simulator apps through the RocketSim CLI.",
5+
"author": {
6+
"name": "Antoine van der Lee",
7+
"email": "contact@avanderlee.com"
8+
},
9+
"repository": "https://github.com/AvdLee/RocketSimApp",
10+
"license": "UNLICENSED",
11+
"keywords": [
12+
"rocketsim",
13+
"simulator",
14+
"ios",
15+
"apple",
16+
"automation",
17+
"accessibility",
18+
"ui-testing"
19+
],
20+
"skills": [
21+
"./Agent-Skill"
22+
]
23+
}

.cursor-plugin/plugin.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "rocketsim",
3+
"version": "1.0.0",
4+
"description": "Use RocketSim to inspect and interact with iOS Simulator apps through the RocketSim CLI.",
5+
"author": {
6+
"name": "Antoine van der Lee",
7+
"email": "contact@avanderlee.com"
8+
},
9+
"repository": "https://github.com/AvdLee/RocketSimApp",
10+
"license": "UNLICENSED",
11+
"keywords": [
12+
"rocketsim",
13+
"simulator",
14+
"ios",
15+
"apple",
16+
"automation",
17+
"accessibility",
18+
"ui-testing"
19+
],
20+
"skills": [
21+
"Agent-Skill"
22+
]
23+
}

.github/workflows/release.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Release Agent Skill
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: "Version to release (e.g. 1.0.2)"
8+
required: true
9+
type: string
10+
11+
permissions:
12+
contents: write
13+
14+
jobs:
15+
release:
16+
if: github.ref == 'refs/heads/master'
17+
runs-on: ubuntu-latest
18+
env:
19+
VERSION: ${{ inputs.version }}
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
with:
25+
ref: master
26+
fetch-depth: 0
27+
token: ${{ secrets.GITHUB_TOKEN }}
28+
29+
- name: Validate version input
30+
run: |
31+
set -euo pipefail
32+
33+
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
34+
echo "Error: Invalid version '$VERSION'. Expected format like 1.0.2."
35+
exit 1
36+
fi
37+
38+
- name: Bump agent skill package versions
39+
run: |
40+
set -euo pipefail
41+
42+
python3 <<'PY'
43+
import json
44+
import os
45+
import pathlib
46+
import re
47+
48+
version = os.environ["VERSION"]
49+
50+
openai_path = pathlib.Path("agents/openai.yaml")
51+
openai_text = openai_path.read_text()
52+
updated_openai_text, count = re.subn(
53+
r'(?m)^version:\s*"[^"]+"$',
54+
f'version: "{version}"',
55+
openai_text,
56+
count=1,
57+
)
58+
if count != 1:
59+
raise SystemExit("Failed to update version in agents/openai.yaml")
60+
openai_path.write_text(updated_openai_text)
61+
62+
json_paths = [
63+
pathlib.Path(".claude-plugin/plugin.json"),
64+
pathlib.Path(".claude-plugin/marketplace.json"),
65+
pathlib.Path(".cursor-plugin/plugin.json"),
66+
]
67+
68+
for path in json_paths:
69+
data = json.loads(path.read_text())
70+
data["version"] = version
71+
if path.name == "marketplace.json":
72+
if not data.get("plugins"):
73+
raise SystemExit("Expected at least one plugin in .claude-plugin/marketplace.json")
74+
data["plugins"][0]["version"] = version
75+
path.write_text(json.dumps(data, indent=2) + "\n")
76+
PY
77+
78+
- name: Commit and push version bump
79+
run: |
80+
set -euo pipefail
81+
82+
if git diff --quiet agents/openai.yaml .claude-plugin/plugin.json .claude-plugin/marketplace.json .cursor-plugin/plugin.json; then
83+
echo "Error: No changes detected after version bump. Is the repository already at version $VERSION?"
84+
exit 1
85+
fi
86+
87+
git config user.name "github-actions[bot]"
88+
git config user.email "github-actions[bot]@users.noreply.github.com"
89+
git add agents/openai.yaml .claude-plugin/plugin.json .claude-plugin/marketplace.json .cursor-plugin/plugin.json
90+
git commit -m "Bump Agent-Skill package version to $VERSION"
91+
git push

agents/openai.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: rocketsim
2+
version: "1.0.0"
3+
description: >-
4+
Use RocketSim to inspect and interact with iOS Simulator apps through the
5+
RocketSim CLI.
6+
author:
7+
name: Antoine van der Lee
8+
email: contact@avanderlee.com
9+
repository: https://github.com/AvdLee/RocketSimApp
10+
license: UNLICENSED
11+
keywords:
12+
- rocketsim
13+
- simulator
14+
- ios
15+
- apple
16+
- automation
17+
- accessibility
18+
- ui-testing
19+
skills:
20+
- Agent-Skill

0 commit comments

Comments
 (0)