chore: publish from main

This commit is contained in:
github-actions[bot]
2026-07-30 04:36:20 +00:00
parent 7a4a7683f5
commit 6212c7a01b
8 changed files with 651 additions and 23 deletions
+13 -2
View File
@@ -4,6 +4,7 @@ import fs from "fs";
import path from "path";
import { ROOT_FOLDER } from "./constants.mjs";
import { readExternalPlugins } from "./external-plugin-validation.mjs";
import { validateLicenseField } from "./lib/license.mjs";
const PLUGINS_DIR = path.join(ROOT_FOLDER, "plugins");
const EXTENSIONS_DIR = path.join(ROOT_FOLDER, "extensions");
@@ -239,6 +240,12 @@ function validatePlugin(folderName) {
const keywordsError = validateKeywords(plugin.keywords ?? plugin.tags);
if (keywordsError) errors.push(keywordsError);
// Rule 5b: license (shared with external plugins). Non-SPDX is a warning, not an error.
const warnings = [];
const licenseResult = validateLicenseField(plugin.license, { required: false });
errors.push(...licenseResult.errors);
warnings.push(...licenseResult.warnings);
// Rule 6: agents, commands, skills paths
const specErrors = validateSpecPaths(plugin);
errors.push(...specErrors);
@@ -246,7 +253,7 @@ function validatePlugin(folderName) {
const extensionRefErrors = validateCuratedPluginExtensionRefs(plugin);
errors.push(...extensionRefErrors);
return { errors, plugin: parsedPlugin };
return { errors, warnings, plugin: parsedPlugin };
}
function validateExtensionScreenshotPath(extensionDir, pathValue, fieldName, errors) {
@@ -342,7 +349,7 @@ function validatePlugins() {
for (const dir of pluginDirs) {
console.log(`Validating ${dir}...`);
const { errors, plugin } = validatePlugin(dir);
const { errors, warnings, plugin } = validatePlugin(dir);
if (errors.length > 0) {
console.error(`${dir}:`);
@@ -352,6 +359,10 @@ function validatePlugins() {
console.log(`${dir} is valid`);
}
if (warnings?.length > 0) {
warnings.forEach((w) => console.warn(`⚠️ ${dir}: ${w}`));
}
if (plugin?.name) {
if (seenNames.has(plugin.name)) {
console.error(`❌ Duplicate plugin name "${plugin.name}"`);