dsh-plugin-toolkit 0.13.0 → 0.13.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.
- package/CHANGELOG.md +11 -0
- package/README.md +16 -0
- package/README.zh.md +10 -0
- package/docs/badge.svg +19 -0
- package/lib/init.mjs +1 -1
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## 0.13.1
|
|
2
|
+
|
|
3
|
+
- **A badge you can put on a plugin that passes.** `docs/badge.svg` plus the
|
|
4
|
+
snippet in both READMEs. It is a claim, not a decoration: the README says to
|
|
5
|
+
add it only when `verify` exits 0.
|
|
6
|
+
- **Every scaffolded plugin links back.** `init` now writes the badge into the
|
|
7
|
+
generated README, so a plugin created with the toolkit advertises the toolkit
|
|
8
|
+
it was checked with.
|
|
9
|
+
- **README badges** for version, downloads, CI and license, and the repository
|
|
10
|
+
homepage now points at the npm page.
|
|
11
|
+
|
|
1
12
|
## 0.13.0
|
|
2
13
|
|
|
3
14
|
Three more rounds of the panel, and one new thing to point it at.
|
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# dsh-plugin-toolkit
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/dsh-plugin-toolkit)
|
|
4
|
+
[](https://www.npmjs.com/package/dsh-plugin-toolkit)
|
|
5
|
+
[](https://github.com/WJDdidi-1/dsh-plugin-toolkit/actions/workflows/ci.yml)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
|
|
3
9
|

|
|
4
10
|
|
|
5
11
|
English · [中文](./README.zh.md)
|
|
@@ -210,6 +216,16 @@ $ npx dsh-plugin mount ../ai-context-doctor/plugin/client.js
|
|
|
210
216
|
AIignore No workspace yet Could not read the report …
|
|
211
217
|
```
|
|
212
218
|
|
|
219
|
+
## Put the badge on a plugin that passes
|
|
220
|
+
|
|
221
|
+
If `verify` passes on your plugin, this badge says so and links back here:
|
|
222
|
+
|
|
223
|
+
```md
|
|
224
|
+
[](https://github.com/WJDdidi-1/dsh-plugin-toolkit)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
It is a claim, not a decoration: add it only when `dsh-plugin verify .` exits 0.
|
|
228
|
+
|
|
213
229
|
## Start from the example
|
|
214
230
|
|
|
215
231
|
[`dsh-plugin-example`](https://github.com/WJDdidi-1/dsh-plugin-example) is a ~70-line plugin: one sidebar tab, two languages, one behaviour test, CI that runs `verify` through the composite action. It is the shape this toolkit expects, so it is also the fastest way to see whether the toolkit fits your plugin. It is a GitHub template too: **Use this template** starts you on a plugin whose first publish already passes.
|
package/README.zh.md
CHANGED
|
@@ -36,6 +36,16 @@ npx dsh-plugin-toolkit@latest release --pr --merge # 打 tag、等
|
|
|
36
36
|
- Node.js 18 或更新(CI 在 18/20/22 × ubuntu/macos/windows 上跑)。
|
|
37
37
|
- 要发布时需要一个能写 `market/index.json` 的仓库和 `gh`(已登录)。
|
|
38
38
|
|
|
39
|
+
## 通过检查就挂个徽章
|
|
40
|
+
|
|
41
|
+
`verify` 过了,可以用这个徽章,点回这里:
|
|
42
|
+
|
|
43
|
+
```md
|
|
44
|
+
[](https://github.com/WJDdidi-1/dsh-plugin-toolkit)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
这是声明不是装饰:`dsh-plugin verify .` 退出码为 0 才挂。
|
|
48
|
+
|
|
39
49
|
## 从一个已经能通过检查的插件开始
|
|
40
50
|
|
|
41
51
|
```sh
|
package/docs/badge.svg
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="196" height="20" role="img" aria-label="dsh plugin: verify passed">
|
|
2
|
+
<title>dsh plugin: verify passed</title>
|
|
3
|
+
<linearGradient id="s" x2="0" y2="100%">
|
|
4
|
+
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
|
5
|
+
<stop offset="1" stop-opacity=".1"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<clipPath id="r"><rect width="196" height="20" rx="3" fill="#fff"/></clipPath>
|
|
8
|
+
<g clip-path="url(#r)">
|
|
9
|
+
<rect width="82" height="20" fill="#2f3542"/>
|
|
10
|
+
<rect x="82" width="114" height="20" fill="#1a7f37"/>
|
|
11
|
+
<rect width="196" height="20" fill="url(#s)"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
|
|
14
|
+
<text x="41" y="15" fill="#010101" fill-opacity=".3">dsh plugin</text>
|
|
15
|
+
<text x="41" y="14">dsh plugin</text>
|
|
16
|
+
<text x="139" y="15" fill="#010101" fill-opacity=".3">✓ verify passed</text>
|
|
17
|
+
<text x="139" y="14">✓ verify passed</text>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
package/lib/init.mjs
CHANGED
|
@@ -150,7 +150,7 @@ export function files({ name, title = 'My panel', version = '0.1.0' }) {
|
|
|
150
150
|
'index.js': `export const name = '${name}';\n\n// The host half runs in Node. Most panels need nothing here.\nexport function apply() {}\n`,
|
|
151
151
|
'client.js': client({ name, title }),
|
|
152
152
|
'test/panel.test.mjs': test({ name, title }),
|
|
153
|
-
'README.md': `# ${slug}\n\n${title} — a panel for DeepSeek Harness.\n\n## Requirements\n\n| What | Version | Why |\n| --- | --- | --- |\n| DeepSeek Harness | >= 0.2.0 | provides \`sidebarRightTabs\` |\n| Node | >= 18 | the host half |\n\n## Develop\n\n\`\`\`sh\nnpm install\nnpm test # mounts client.js in Node\nnpm run doctor # checks the manifest before you publish\n\`\`\`\n\n## Install\n\n\`\`\`sh\ndsh plugin add ${name}\n\`\`\`\n`,
|
|
153
|
+
'README.md': `# ${slug}\n\n${title} — a panel for DeepSeek Harness.\n\n[](https://github.com/WJDdidi-1/dsh-plugin-toolkit)\n\n## Requirements\n\n| What | Version | Why |\n| --- | --- | --- |\n| DeepSeek Harness | >= 0.2.0 | provides \`sidebarRightTabs\` |\n| Node | >= 18 | the host half |\n\n## Develop\n\n\`\`\`sh\nnpm install\nnpm test # mounts client.js in Node\nnpm run doctor # checks the manifest before you publish\n\`\`\`\n\n## Install\n\n\`\`\`sh\ndsh plugin add ${name}\n\`\`\`\n`,
|
|
154
154
|
'.gitignore': 'node_modules/\n',
|
|
155
155
|
'.github/workflows/ci.yml': `name: ci\n\non:\n push:\n branches: [main]\n pull_request:\n\njobs:\n test:\n runs-on: ubuntu-latest\n strategy:\n matrix:\n node: [18, 20, 22]\n steps:\n - uses: actions/checkout@v4\n - uses: actions/setup-node@v4\n with:\n node-version: \${{ matrix.node }}\n - run: npm install\n - run: npm test\n # verify, not doctor: doctor reads the working copy, so a \`files\` list\n # that forgets client.js passes it and the installed plugin has no panel.\n - uses: WJDdidi-1/dsh-plugin-toolkit@v1\n with:\n dir: .\n version: ${VERSION}\n`,
|
|
156
156
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-toolkit",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "Preflight, release and test DeepSeek Harness plugins: check a folder or any GitHub repository, wait for npm to actually serve the version, and keep the market index honest.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
"README.md",
|
|
22
22
|
"README.zh.md",
|
|
23
23
|
"LICENSE",
|
|
24
|
-
"CHANGELOG.md"
|
|
24
|
+
"CHANGELOG.md",
|
|
25
|
+
"docs/badge.svg"
|
|
25
26
|
],
|
|
26
27
|
"engines": {
|
|
27
28
|
"node": ">=18",
|