@hoardodile/create-plugin 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,43 @@
1
+ name: release
2
+
3
+ on:
4
+ push:
5
+ tags: ["v*"]
6
+
7
+ permissions:
8
+ contents: write
9
+
10
+ jobs:
11
+ release:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - uses: pnpm/action-setup@v4
17
+ with:
18
+ version: 11
19
+
20
+ - uses: actions/setup-node@v4
21
+ with:
22
+ node-version: 24
23
+ cache: pnpm
24
+
25
+ - name: Install dependencies
26
+ run: pnpm install
27
+
28
+ - name: Build the plugin
29
+ run: pnpm build
30
+
31
+ - name: Check the tag matches the manifest version
32
+ run: |
33
+ node -e "const m = require('./manifest.json'); const tag = process.env.GITHUB_REF_NAME; const expected = 'v' + m.version; if (tag !== expected) { console.error('tag ' + tag + ' does not match manifest version ' + expected); process.exit(1) }"
34
+
35
+ - name: Package the release artifacts
36
+ run: pnpm exec hoardodile plugin package --skip-build
37
+
38
+ - name: Publish the GitHub release
39
+ env:
40
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41
+ run: |
42
+ zip=$(ls release/*.zip)
43
+ gh release create "$GITHUB_REF_NAME" "$zip" "$zip.sha256" --generate-notes
@@ -47,6 +47,26 @@ server uses — the exact production execution path.
47
47
 
48
48
  ## Deploying
49
49
 
50
- Zip the contents of `dist/` (with `manifest.json` at the zip root) and
51
- upload in **Settings → Plugins**. The app validates the manifest,
52
- installs it, and rescans.
50
+ Publish to the marketplace with two steps:
51
+
52
+ ```bash
53
+ # 1. Add the repository address to your registry repo's registry.json:
54
+ # { "version": 1, "plugins": ["https://github.com/<owner>/<repo>"] }
55
+
56
+ # 2. Tag the release — `.github/workflows/release.yml` builds, packages
57
+ # (`release/<id>-<version>.zip` + `.sha256`) and publishes the GitHub
58
+ # release automatically. No local `gh` CLI or token needed.
59
+ git tag v<version> && git push origin v<version>
60
+ ```
61
+
62
+ The tag must match the manifest version (`v<manifest.version>`) — the
63
+ workflow fails otherwise. Then paste the registry repo address once in
64
+ **Settings → Marketplace**. The app reads the registry, each plugin's
65
+ manifest and its latest release — names, versions, permissions and
66
+ release notes come straight from GitHub, so the list never needs editing
67
+ again. The zip asset is `<id>-<version>.zip` (produced by
68
+ `hoardodile plugin package`); before the first release the plugin shows
69
+ up with a "no release" state.
70
+
71
+ Local installs (zip upload in **Settings → Plugins**) still work for
72
+ private packages.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hoardodile/create-plugin",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "license": "MIT",
5
5
  "description": "Scaffold a hoardodile content plugin.",
6
6
  "keywords": [
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "@clack/prompts": "^1.7.0",
39
39
  "zod": "^4.4.3",
40
- "@hoardodile/sdk-types": "0.1.0"
40
+ "@hoardodile/sdk-types": "0.1.1"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^26.2.0",