diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index ffcaf27..2ebd9ba 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -2,7 +2,7 @@ "name": "kapso", "owner": { "name": "Kapso", - "url": "https://kapso.ai" + "email": "dev@kap.so" }, "metadata": { "description": "Kapso agent plugins for building, integrating, and observing WhatsApp agents." diff --git a/plugins/kapso/.cursor-plugin/plugin.json b/plugins/kapso/.cursor-plugin/plugin.json index f9a8206..1011cc8 100644 --- a/plugins/kapso/.cursor-plugin/plugin.json +++ b/plugins/kapso/.cursor-plugin/plugin.json @@ -5,13 +5,9 @@ "description": "Build, integrate, and observe Kapso WhatsApp agents with Cursor.", "author": { "name": "Kapso", - "email": "dev@kap.so", - "url": "https://kapso.ai" + "email": "dev@kap.so" }, "homepage": "https://kapso.ai", - "website": "https://kapso.ai", - "privacyPolicy": "https://kapso.ai/privacy", - "documentation": "https://docs.kapso.ai", "repository": "https://github.com/gokapso/agent-plugins", "license": "MIT", "logo": "assets/kapso-logo.png", diff --git a/plugins/kapso/CHANGELOG.md b/plugins/kapso/CHANGELOG.md new file mode 100644 index 0000000..0d3897a --- /dev/null +++ b/plugins/kapso/CHANGELOG.md @@ -0,0 +1,6 @@ +# Changelog + +## 0.1.0 + +- Added skills for integrating WhatsApp, automating WhatsApp workflows, and observing WhatsApp delivery or webhook issues. +- Added Kapso MCP server configuration, safety rules, examples, and helper scripts. diff --git a/plugins/kapso/LICENSE b/plugins/kapso/LICENSE new file mode 100644 index 0000000..7e0488e --- /dev/null +++ b/plugins/kapso/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Kapso + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/schemas/cursor-marketplace.schema.json b/schemas/cursor-marketplace.schema.json index 1dd27d2..0924168 100644 --- a/schemas/cursor-marketplace.schema.json +++ b/schemas/cursor-marketplace.schema.json @@ -6,7 +6,15 @@ "required": ["name", "owner", "metadata", "plugins"], "properties": { "name": { "type": "string", "minLength": 1 }, - "owner": { "$ref": "shared-defs.schema.json#/$defs/person" }, + "owner": { + "type": "object", + "additionalProperties": false, + "required": ["name"], + "properties": { + "name": { "type": "string", "minLength": 1 }, + "email": { "type": "string", "format": "email" } + } + }, "metadata": { "type": "object", "additionalProperties": false, diff --git a/schemas/cursor-plugin.schema.json b/schemas/cursor-plugin.schema.json new file mode 100644 index 0000000..6537dc0 --- /dev/null +++ b/schemas/cursor-plugin.schema.json @@ -0,0 +1,76 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://kapso.ai/schemas/agent-plugins/cursor-plugin.schema.json", + "type": "object", + "additionalProperties": false, + "required": ["name"], + "properties": { + "name": { + "type": "string", + "minLength": 1, + "pattern": "^[a-z0-9]([a-z0-9.-]*[a-z0-9])?$" + }, + "displayName": { "type": "string" }, + "description": { "type": "string" }, + "version": { "$ref": "shared-defs.schema.json#/$defs/semver" }, + "author": { + "type": "object", + "additionalProperties": false, + "required": ["name"], + "properties": { + "name": { "type": "string", "minLength": 1 }, + "email": { "type": "string", "format": "email" } + } + }, + "publisher": { "type": "string", "minLength": 1 }, + "homepage": { "type": "string", "format": "uri" }, + "repository": { "type": "string", "format": "uri" }, + "license": { "type": "string" }, + "logo": { "type": "string" }, + "keywords": { + "type": "array", + "items": { "type": "string" } + }, + "category": { "type": "string" }, + "tags": { + "type": "array", + "items": { "type": "string" } + }, + "commands": { "$ref": "#/$defs/stringOrStringArray" }, + "agents": { "$ref": "#/$defs/stringOrStringArray" }, + "skills": { "$ref": "#/$defs/stringOrStringArray" }, + "rules": { "$ref": "#/$defs/stringOrStringArray" }, + "hooks": { + "oneOf": [ + { "type": "string" }, + { "type": "object" } + ] + }, + "mcpServers": { + "oneOf": [ + { "type": "string" }, + { "type": "object" }, + { + "type": "array", + "items": { + "oneOf": [ + { "type": "string" }, + { "type": "object" } + ] + } + } + ] + } + }, + "$defs": { + "stringOrStringArray": { + "oneOf": [ + { "type": "string" }, + { + "type": "array", + "items": { "type": "string" } + } + ] + } + } +} diff --git a/scripts/validate-release.mjs b/scripts/validate-release.mjs index d891c78..17238b3 100644 --- a/scripts/validate-release.mjs +++ b/scripts/validate-release.mjs @@ -147,6 +147,12 @@ if (!fs.existsSync(path.join(root, "SECURITY.md"))) { if (!fs.existsSync(path.join(root, "CONTRIBUTING.md"))) { fail("Missing CONTRIBUTING.md"); } +if (!fs.existsSync(path.join(pluginRoot, "CHANGELOG.md"))) { + fail("Missing plugins/kapso/CHANGELOG.md"); +} +if (!fs.existsSync(path.join(pluginRoot, "LICENSE"))) { + fail("Missing plugins/kapso/LICENSE"); +} ensureReadmeSections("README.md", [ "What It Includes", diff --git a/scripts/validate-schemas.mjs b/scripts/validate-schemas.mjs index 3e9be8d..34e120a 100644 --- a/scripts/validate-schemas.mjs +++ b/scripts/validate-schemas.mjs @@ -18,6 +18,7 @@ const validations = [ [".agents/plugins/marketplace.json", "codex-marketplace.schema.json"], [".cursor-plugin/marketplace.json", "cursor-marketplace.schema.json"], [".claude-plugin/marketplace.json", "claude-marketplace.schema.json"], + ["plugins/kapso/.cursor-plugin/plugin.json", "cursor-plugin.schema.json"], ["plugins/kapso/.codex-plugin/plugin.json", "codex-plugin.schema.json"] ];