feat(release): add plugin packaging script and release notes

This commit is contained in:
2026-02-25 14:09:14 +00:00
parent 6792249a0b
commit 0c6d8bb2c5
4 changed files with 47 additions and 1 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
node_modules/ node_modules/
dist/
.env .env
.DS_Store .DS_Store
*.log *.log

View File

@@ -1,4 +1,4 @@
.PHONY: check check-rules test-api up down smoke render-config .PHONY: check check-rules test-api up down smoke render-config package-plugin
check: check:
cd plugin && npm run check cd plugin && npm run check
@@ -20,3 +20,6 @@ smoke:
render-config: render-config:
node scripts/render-openclaw-config.mjs node scripts/render-openclaw-config.mjs
package-plugin:
node scripts/package-plugin.mjs

27
docs/RELEASE.md Normal file
View File

@@ -0,0 +1,27 @@
# Release / Packaging
## Package plugin files
```bash
node scripts/package-plugin.mjs
```
Output:
- `dist/plugin/index.ts`
- `dist/plugin/rules.ts`
- `dist/plugin/openclaw.plugin.json`
- `dist/plugin/README.md`
- `dist/plugin/package.json`
## Use packaged plugin path
Point OpenClaw `plugins.load.paths` to:
`/absolute/path/to/WhisperGate/dist/plugin`
## Verify package completeness
```bash
cd plugin && npm run check
```

View File

@@ -0,0 +1,15 @@
import fs from "node:fs";
import path from "node:path";
const root = process.cwd();
const pluginDir = path.join(root, "plugin");
const outDir = path.join(root, "dist", "plugin");
fs.rmSync(outDir, { recursive: true, force: true });
fs.mkdirSync(outDir, { recursive: true });
for (const f of ["index.ts", "rules.ts", "openclaw.plugin.json", "README.md", "package.json"]) {
fs.copyFileSync(path.join(pluginDir, f), path.join(outDir, f));
}
console.log(`packaged plugin to ${outDir}`);