@modootoday/pmcp 0.13.0 → 0.14.0
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/.agents/plugins/marketplace.json +1157 -0
- package/.claude-plugin/marketplace.json +825 -0
- package/.claude-plugin/plugin.json +9 -0
- package/.mcp.json +9 -0
- package/NOTICE +4 -2
- package/README.md +67 -4
- package/dist/cli.js +1345 -741
- package/dist/{config-CJ43_oBS.d.ts → config-BkSpjUG6.d.ts} +1 -0
- package/dist/{embed-BW6AWD1e.d.ts → embed-CVCEz2FH.d.ts} +1 -1
- package/dist/http.d.ts +3 -3
- package/dist/http.js +216 -112
- package/dist/index.d.ts +7 -14
- package/dist/index.js +382 -262
- package/dist/mailbox/index.d.ts +1 -1
- package/dist/mailbox/index.js +18 -2
- package/dist/{server-9w4R1caM.d.ts → server-DAcT89iv.d.ts} +5 -5
- package/dist/stdio.d.ts +1 -1
- package/dist/stdio.js +229 -121
- package/dist/tui-worker.js +18 -2
- package/docs/catalog.json +5422 -0
- package/docs/manual-library-skills.md +74 -0
- package/docs/skills.md +46 -0
- package/docs/terminal-workspace.md +16 -14
- package/gemini-extension.json +11 -0
- package/mcp.json +10 -0
- package/package.json +26 -5
- package/plugin.json +10 -0
- package/plugins/agent-base-9/.claude-plugin/plugin.json +9 -0
- package/plugins/agent-base-9/LICENSE +93 -0
- package/plugins/agent-base-9/NOTICE +51 -0
- package/plugins/agent-base-9/gemini-extension.json +1 -0
- package/plugins/agent-base-9/plugin.json +10 -0
- package/plugins/agent-base-9/skills/agent-base/SKILL.md +118 -0
- package/plugins/ajv-formats-3/.claude-plugin/plugin.json +9 -0
- package/plugins/ajv-formats-3/LICENSE +93 -0
- package/plugins/ajv-formats-3/NOTICE +51 -0
- package/plugins/ajv-formats-3/gemini-extension.json +1 -0
- package/plugins/ajv-formats-3/plugin.json +10 -0
- package/plugins/ajv-formats-3/skills/ajv-formats/SKILL.md +178 -0
- package/plugins/allure-js-commons-3/.claude-plugin/plugin.json +9 -0
- package/plugins/allure-js-commons-3/LICENSE +93 -0
- package/plugins/allure-js-commons-3/NOTICE +51 -0
- package/plugins/allure-js-commons-3/gemini-extension.json +1 -0
- package/plugins/allure-js-commons-3/plugin.json +10 -0
- package/plugins/allure-js-commons-3/skills/allure-js-commons/SKILL.md +173 -0
- package/plugins/ansi-escapes-7/.claude-plugin/plugin.json +9 -0
- package/plugins/ansi-escapes-7/LICENSE +93 -0
- package/plugins/ansi-escapes-7/NOTICE +51 -0
- package/plugins/ansi-escapes-7/gemini-extension.json +1 -0
- package/plugins/ansi-escapes-7/plugin.json +10 -0
- package/plugins/ansi-escapes-7/skills/ansi-escapes/SKILL.md +189 -0
- package/plugins/ansi-styles-7/.claude-plugin/plugin.json +9 -0
- package/plugins/ansi-styles-7/LICENSE +93 -0
- package/plugins/ansi-styles-7/NOTICE +51 -0
- package/plugins/ansi-styles-7/gemini-extension.json +1 -0
- package/plugins/ansi-styles-7/plugin.json +10 -0
- package/plugins/ansi-styles-7/skills/ansi-styles/SKILL.md +161 -0
- package/plugins/app-builder-lib-26/.claude-plugin/plugin.json +9 -0
- package/plugins/app-builder-lib-26/LICENSE +93 -0
- package/plugins/app-builder-lib-26/NOTICE +51 -0
- package/plugins/app-builder-lib-26/gemini-extension.json +1 -0
- package/plugins/app-builder-lib-26/plugin.json +10 -0
- package/plugins/app-builder-lib-26/skills/app-builder-lib/SKILL.md +84 -0
- package/plugins/autoprefixer-10/.claude-plugin/plugin.json +9 -0
- package/plugins/autoprefixer-10/LICENSE +93 -0
- package/plugins/autoprefixer-10/NOTICE +51 -0
- package/plugins/autoprefixer-10/gemini-extension.json +1 -0
- package/plugins/autoprefixer-10/plugin.json +10 -0
- package/plugins/autoprefixer-10/skills/autoprefixer/SKILL.md +141 -0
- package/plugins/babel-plugin-transform-typescript-8/.claude-plugin/plugin.json +9 -0
- package/plugins/babel-plugin-transform-typescript-8/LICENSE +93 -0
- package/plugins/babel-plugin-transform-typescript-8/NOTICE +51 -0
- package/plugins/babel-plugin-transform-typescript-8/gemini-extension.json +1 -0
- package/plugins/babel-plugin-transform-typescript-8/plugin.json +10 -0
- package/plugins/babel-plugin-transform-typescript-8/skills/babel-plugin-transform-typescript/SKILL.md +135 -0
- package/plugins/bcryptjs-2/.claude-plugin/plugin.json +9 -0
- package/plugins/bcryptjs-2/LICENSE +93 -0
- package/plugins/bcryptjs-2/NOTICE +51 -0
- package/plugins/bcryptjs-2/gemini-extension.json +1 -0
- package/plugins/bcryptjs-2/plugin.json +10 -0
- package/plugins/bcryptjs-2/skills/bcryptjs/SKILL.md +78 -0
- package/plugins/bullmq-5/.claude-plugin/plugin.json +9 -0
- package/plugins/bullmq-5/LICENSE +93 -0
- package/plugins/bullmq-5/NOTICE +51 -0
- package/plugins/bullmq-5/gemini-extension.json +1 -0
- package/plugins/bullmq-5/plugin.json +10 -0
- package/plugins/bullmq-5/skills/bullmq/SKILL.md +59 -0
- package/plugins/bun-types-1/.claude-plugin/plugin.json +9 -0
- package/plugins/bun-types-1/LICENSE +93 -0
- package/plugins/bun-types-1/NOTICE +51 -0
- package/plugins/bun-types-1/gemini-extension.json +1 -0
- package/plugins/bun-types-1/plugin.json +10 -0
- package/plugins/bun-types-1/skills/bun-types/SKILL.md +119 -0
- package/plugins/chai-6/.claude-plugin/plugin.json +9 -0
- package/plugins/chai-6/LICENSE +93 -0
- package/plugins/chai-6/NOTICE +51 -0
- package/plugins/chai-6/gemini-extension.json +1 -0
- package/plugins/chai-6/plugin.json +10 -0
- package/plugins/chai-6/skills/chai/SKILL.md +160 -0
- package/plugins/chalk-6/.claude-plugin/plugin.json +9 -0
- package/plugins/chalk-6/LICENSE +93 -0
- package/plugins/chalk-6/NOTICE +51 -0
- package/plugins/chalk-6/gemini-extension.json +1 -0
- package/plugins/chalk-6/plugin.json +10 -0
- package/plugins/chalk-6/skills/chalk/SKILL.md +167 -0
- package/plugins/cli-cursor-5/.claude-plugin/plugin.json +9 -0
- package/plugins/cli-cursor-5/LICENSE +93 -0
- package/plugins/cli-cursor-5/NOTICE +51 -0
- package/plugins/cli-cursor-5/gemini-extension.json +1 -0
- package/plugins/cli-cursor-5/plugin.json +10 -0
- package/plugins/cli-cursor-5/skills/cli-cursor/SKILL.md +117 -0
- package/plugins/cli-spinners-3/.claude-plugin/plugin.json +9 -0
- package/plugins/cli-spinners-3/LICENSE +93 -0
- package/plugins/cli-spinners-3/NOTICE +51 -0
- package/plugins/cli-spinners-3/gemini-extension.json +1 -0
- package/plugins/cli-spinners-3/plugin.json +10 -0
- package/plugins/cli-spinners-3/skills/cli-spinners/SKILL.md +101 -0
- package/plugins/clickhouse-client-1/.claude-plugin/plugin.json +9 -0
- package/plugins/clickhouse-client-1/LICENSE +93 -0
- package/plugins/clickhouse-client-1/NOTICE +51 -0
- package/plugins/clickhouse-client-1/gemini-extension.json +1 -0
- package/plugins/clickhouse-client-1/plugin.json +10 -0
- package/plugins/clickhouse-client-1/skills/clickhouse-client/SKILL.md +54 -0
- package/plugins/clickhouse-client-web-1/.claude-plugin/plugin.json +9 -0
- package/plugins/clickhouse-client-web-1/LICENSE +93 -0
- package/plugins/clickhouse-client-web-1/NOTICE +51 -0
- package/plugins/clickhouse-client-web-1/gemini-extension.json +1 -0
- package/plugins/clickhouse-client-web-1/plugin.json +10 -0
- package/plugins/clickhouse-client-web-1/skills/clickhouse-client-web/SKILL.md +52 -0
- package/plugins/cliui-9/.claude-plugin/plugin.json +9 -0
- package/plugins/cliui-9/LICENSE +93 -0
- package/plugins/cliui-9/NOTICE +51 -0
- package/plugins/cliui-9/gemini-extension.json +1 -0
- package/plugins/cliui-9/plugin.json +10 -0
- package/plugins/cliui-9/skills/cliui/SKILL.md +163 -0
- package/plugins/cloudflare-workers-types-4/.claude-plugin/plugin.json +9 -0
- package/plugins/cloudflare-workers-types-4/LICENSE +93 -0
- package/plugins/cloudflare-workers-types-4/NOTICE +51 -0
- package/plugins/cloudflare-workers-types-4/gemini-extension.json +1 -0
- package/plugins/cloudflare-workers-types-4/plugin.json +10 -0
- package/plugins/cloudflare-workers-types-4/skills/cloudflare-workers-types/SKILL.md +63 -0
- package/plugins/commander-15/.claude-plugin/plugin.json +9 -0
- package/plugins/commander-15/LICENSE +93 -0
- package/plugins/commander-15/NOTICE +51 -0
- package/plugins/commander-15/gemini-extension.json +1 -0
- package/plugins/commander-15/plugin.json +10 -0
- package/plugins/commander-15/skills/commander/SKILL.md +204 -0
- package/plugins/content-type-3/.claude-plugin/plugin.json +9 -0
- package/plugins/content-type-3/LICENSE +93 -0
- package/plugins/content-type-3/NOTICE +51 -0
- package/plugins/content-type-3/gemini-extension.json +1 -0
- package/plugins/content-type-3/plugin.json +10 -0
- package/plugins/content-type-3/skills/content-type/SKILL.md +126 -0
- package/plugins/croner-10/.claude-plugin/plugin.json +9 -0
- package/plugins/croner-10/LICENSE +93 -0
- package/plugins/croner-10/NOTICE +51 -0
- package/plugins/croner-10/gemini-extension.json +1 -0
- package/plugins/croner-10/plugin.json +10 -0
- package/plugins/croner-10/skills/croner/SKILL.md +182 -0
- package/plugins/css-tree-3/.claude-plugin/plugin.json +9 -0
- package/plugins/css-tree-3/LICENSE +93 -0
- package/plugins/css-tree-3/NOTICE +51 -0
- package/plugins/css-tree-3/gemini-extension.json +1 -0
- package/plugins/css-tree-3/plugin.json +10 -0
- package/plugins/css-tree-3/skills/css-tree/SKILL.md +165 -0
- package/plugins/data-urls-7/.claude-plugin/plugin.json +9 -0
- package/plugins/data-urls-7/LICENSE +93 -0
- package/plugins/data-urls-7/NOTICE +51 -0
- package/plugins/data-urls-7/gemini-extension.json +1 -0
- package/plugins/data-urls-7/plugin.json +10 -0
- package/plugins/data-urls-7/skills/data-urls/SKILL.md +136 -0
- package/plugins/deep-eql-5/.claude-plugin/plugin.json +9 -0
- package/plugins/deep-eql-5/LICENSE +93 -0
- package/plugins/deep-eql-5/NOTICE +51 -0
- package/plugins/deep-eql-5/gemini-extension.json +1 -0
- package/plugins/deep-eql-5/plugin.json +10 -0
- package/plugins/deep-eql-5/skills/deep-eql/SKILL.md +130 -0
- package/plugins/dexie-4/.claude-plugin/plugin.json +9 -0
- package/plugins/dexie-4/LICENSE +93 -0
- package/plugins/dexie-4/NOTICE +51 -0
- package/plugins/dexie-4/gemini-extension.json +1 -0
- package/plugins/dexie-4/plugin.json +10 -0
- package/plugins/dexie-4/skills/dexie/SKILL.md +192 -0
- package/plugins/emittery-2/.claude-plugin/plugin.json +9 -0
- package/plugins/emittery-2/LICENSE +93 -0
- package/plugins/emittery-2/NOTICE +51 -0
- package/plugins/emittery-2/gemini-extension.json +1 -0
- package/plugins/emittery-2/plugin.json +10 -0
- package/plugins/emittery-2/skills/emittery/SKILL.md +234 -0
- package/plugins/eslint-10/.claude-plugin/plugin.json +9 -0
- package/plugins/eslint-10/LICENSE +93 -0
- package/plugins/eslint-10/NOTICE +51 -0
- package/plugins/eslint-10/gemini-extension.json +1 -0
- package/plugins/eslint-10/plugin.json +10 -0
- package/plugins/eslint-10/skills/eslint/SKILL.md +77 -0
- package/plugins/eslint-9/.claude-plugin/plugin.json +9 -0
- package/plugins/eslint-9/LICENSE +93 -0
- package/plugins/eslint-9/NOTICE +51 -0
- package/plugins/eslint-9/gemini-extension.json +1 -0
- package/plugins/eslint-9/plugin.json +10 -0
- package/plugins/eslint-9/skills/eslint/SKILL.md +93 -0
- package/plugins/eslint-plugin-react-hooks-7/.claude-plugin/plugin.json +9 -0
- package/plugins/eslint-plugin-react-hooks-7/LICENSE +93 -0
- package/plugins/eslint-plugin-react-hooks-7/NOTICE +51 -0
- package/plugins/eslint-plugin-react-hooks-7/gemini-extension.json +1 -0
- package/plugins/eslint-plugin-react-hooks-7/plugin.json +10 -0
- package/plugins/eslint-plugin-react-hooks-7/skills/eslint-plugin-react-hooks/SKILL.md +173 -0
- package/plugins/eslint-plugin-testing-library-7/.claude-plugin/plugin.json +9 -0
- package/plugins/eslint-plugin-testing-library-7/LICENSE +93 -0
- package/plugins/eslint-plugin-testing-library-7/NOTICE +51 -0
- package/plugins/eslint-plugin-testing-library-7/gemini-extension.json +1 -0
- package/plugins/eslint-plugin-testing-library-7/plugin.json +10 -0
- package/plugins/eslint-plugin-testing-library-7/skills/eslint-plugin-testing-library/SKILL.md +193 -0
- package/plugins/expect-type-1/.claude-plugin/plugin.json +9 -0
- package/plugins/expect-type-1/LICENSE +93 -0
- package/plugins/expect-type-1/NOTICE +51 -0
- package/plugins/expect-type-1/gemini-extension.json +1 -0
- package/plugins/expect-type-1/plugin.json +10 -0
- package/plugins/expect-type-1/skills/expect-type/SKILL.md +165 -0
- package/plugins/express-5/.claude-plugin/plugin.json +9 -0
- package/plugins/express-5/LICENSE +93 -0
- package/plugins/express-5/NOTICE +51 -0
- package/plugins/express-5/gemini-extension.json +1 -0
- package/plugins/express-5/plugin.json +10 -0
- package/plugins/express-5/skills/express/SKILL.md +179 -0
- package/plugins/fake-indexeddb-6/.claude-plugin/plugin.json +9 -0
- package/plugins/fake-indexeddb-6/LICENSE +93 -0
- package/plugins/fake-indexeddb-6/NOTICE +51 -0
- package/plugins/fake-indexeddb-6/gemini-extension.json +1 -0
- package/plugins/fake-indexeddb-6/plugin.json +10 -0
- package/plugins/fake-indexeddb-6/skills/fake-indexeddb/SKILL.md +147 -0
- package/plugins/fast-check-4/.claude-plugin/plugin.json +9 -0
- package/plugins/fast-check-4/LICENSE +93 -0
- package/plugins/fast-check-4/NOTICE +51 -0
- package/plugins/fast-check-4/gemini-extension.json +1 -0
- package/plugins/fast-check-4/plugin.json +10 -0
- package/plugins/fast-check-4/skills/fast-check/SKILL.md +168 -0
- package/plugins/figures-6/.claude-plugin/plugin.json +9 -0
- package/plugins/figures-6/LICENSE +93 -0
- package/plugins/figures-6/NOTICE +51 -0
- package/plugins/figures-6/gemini-extension.json +1 -0
- package/plugins/figures-6/plugin.json +10 -0
- package/plugins/figures-6/skills/figures/SKILL.md +99 -0
- package/plugins/firebase-12/.claude-plugin/plugin.json +9 -0
- package/plugins/firebase-12/LICENSE +93 -0
- package/plugins/firebase-12/NOTICE +51 -0
- package/plugins/firebase-12/gemini-extension.json +1 -0
- package/plugins/firebase-12/plugin.json +10 -0
- package/plugins/firebase-12/skills/firebase/SKILL.md +161 -0
- package/plugins/firebase-admin-14/.claude-plugin/plugin.json +9 -0
- package/plugins/firebase-admin-14/LICENSE +93 -0
- package/plugins/firebase-admin-14/NOTICE +51 -0
- package/plugins/firebase-admin-14/gemini-extension.json +1 -0
- package/plugins/firebase-admin-14/plugin.json +10 -0
- package/plugins/firebase-admin-14/skills/firebase-admin/SKILL.md +155 -0
- package/plugins/get-uri-8/.claude-plugin/plugin.json +9 -0
- package/plugins/get-uri-8/LICENSE +93 -0
- package/plugins/get-uri-8/NOTICE +51 -0
- package/plugins/get-uri-8/gemini-extension.json +1 -0
- package/plugins/get-uri-8/plugin.json +10 -0
- package/plugins/get-uri-8/skills/get-uri/SKILL.md +112 -0
- package/plugins/google-uuid-1/.claude-plugin/plugin.json +9 -0
- package/plugins/google-uuid-1/LICENSE +93 -0
- package/plugins/google-uuid-1/NOTICE +51 -0
- package/plugins/google-uuid-1/gemini-extension.json +1 -0
- package/plugins/google-uuid-1/plugin.json +10 -0
- package/plugins/google-uuid-1/skills/google-uuid/SKILL.md +70 -0
- package/plugins/graphql-16/.claude-plugin/plugin.json +9 -0
- package/plugins/graphql-16/LICENSE +93 -0
- package/plugins/graphql-16/NOTICE +51 -0
- package/plugins/graphql-16/gemini-extension.json +1 -0
- package/plugins/graphql-16/plugin.json +10 -0
- package/plugins/graphql-16/skills/graphql/SKILL.md +56 -0
- package/plugins/graphql-17/.claude-plugin/plugin.json +9 -0
- package/plugins/graphql-17/LICENSE +93 -0
- package/plugins/graphql-17/NOTICE +51 -0
- package/plugins/graphql-17/gemini-extension.json +1 -0
- package/plugins/graphql-17/plugin.json +10 -0
- package/plugins/graphql-17/skills/graphql/SKILL.md +159 -0
- package/plugins/graphql-yoga-5/.claude-plugin/plugin.json +9 -0
- package/plugins/graphql-yoga-5/LICENSE +93 -0
- package/plugins/graphql-yoga-5/NOTICE +51 -0
- package/plugins/graphql-yoga-5/gemini-extension.json +1 -0
- package/plugins/graphql-yoga-5/plugin.json +10 -0
- package/plugins/graphql-yoga-5/skills/graphql-yoga/SKILL.md +68 -0
- package/plugins/happy-dom-20/.claude-plugin/plugin.json +9 -0
- package/plugins/happy-dom-20/LICENSE +93 -0
- package/plugins/happy-dom-20/NOTICE +51 -0
- package/plugins/happy-dom-20/gemini-extension.json +1 -0
- package/plugins/happy-dom-20/plugin.json +10 -0
- package/plugins/happy-dom-20/skills/happy-dom/SKILL.md +172 -0
- package/plugins/hono-4/.claude-plugin/plugin.json +9 -0
- package/plugins/hono-4/LICENSE +93 -0
- package/plugins/hono-4/NOTICE +51 -0
- package/plugins/hono-4/gemini-extension.json +1 -0
- package/plugins/hono-4/plugin.json +10 -0
- package/plugins/hono-4/skills/hono/SKILL.md +203 -0
- package/plugins/http-proxy-agent-9/.claude-plugin/plugin.json +9 -0
- package/plugins/http-proxy-agent-9/LICENSE +93 -0
- package/plugins/http-proxy-agent-9/NOTICE +51 -0
- package/plugins/http-proxy-agent-9/gemini-extension.json +1 -0
- package/plugins/http-proxy-agent-9/plugin.json +10 -0
- package/plugins/http-proxy-agent-9/skills/http-proxy-agent/SKILL.md +142 -0
- package/plugins/human-signals-8/.claude-plugin/plugin.json +9 -0
- package/plugins/human-signals-8/LICENSE +93 -0
- package/plugins/human-signals-8/NOTICE +51 -0
- package/plugins/human-signals-8/gemini-extension.json +1 -0
- package/plugins/human-signals-8/plugin.json +10 -0
- package/plugins/human-signals-8/skills/human-signals/SKILL.md +81 -0
- package/plugins/inquirer-14/.claude-plugin/plugin.json +9 -0
- package/plugins/inquirer-14/LICENSE +93 -0
- package/plugins/inquirer-14/NOTICE +51 -0
- package/plugins/inquirer-14/gemini-extension.json +1 -0
- package/plugins/inquirer-14/plugin.json +10 -0
- package/plugins/inquirer-14/skills/inquirer/SKILL.md +152 -0
- package/plugins/ioredis-5/.claude-plugin/plugin.json +9 -0
- package/plugins/ioredis-5/LICENSE +93 -0
- package/plugins/ioredis-5/NOTICE +51 -0
- package/plugins/ioredis-5/gemini-extension.json +1 -0
- package/plugins/ioredis-5/plugin.json +10 -0
- package/plugins/ioredis-5/skills/ioredis/SKILL.md +63 -0
- package/plugins/ioredis-6/.claude-plugin/plugin.json +9 -0
- package/plugins/ioredis-6/LICENSE +93 -0
- package/plugins/ioredis-6/NOTICE +51 -0
- package/plugins/ioredis-6/gemini-extension.json +1 -0
- package/plugins/ioredis-6/plugin.json +10 -0
- package/plugins/ioredis-6/skills/ioredis/SKILL.md +204 -0
- package/plugins/ip-address-10/.claude-plugin/plugin.json +9 -0
- package/plugins/ip-address-10/LICENSE +93 -0
- package/plugins/ip-address-10/NOTICE +51 -0
- package/plugins/ip-address-10/gemini-extension.json +1 -0
- package/plugins/ip-address-10/plugin.json +10 -0
- package/plugins/ip-address-10/skills/ip-address/SKILL.md +184 -0
- package/plugins/jackspeak-4/.claude-plugin/plugin.json +9 -0
- package/plugins/jackspeak-4/LICENSE +93 -0
- package/plugins/jackspeak-4/NOTICE +51 -0
- package/plugins/jackspeak-4/gemini-extension.json +1 -0
- package/plugins/jackspeak-4/plugin.json +10 -0
- package/plugins/jackspeak-4/skills/jackspeak/SKILL.md +162 -0
- package/plugins/jake-12/.claude-plugin/plugin.json +9 -0
- package/plugins/jake-12/LICENSE +93 -0
- package/plugins/jake-12/NOTICE +51 -0
- package/plugins/jake-12/gemini-extension.json +1 -0
- package/plugins/jake-12/plugin.json +10 -0
- package/plugins/jake-12/skills/jake/SKILL.md +182 -0
- package/plugins/jasmine-core-7/.claude-plugin/plugin.json +9 -0
- package/plugins/jasmine-core-7/LICENSE +93 -0
- package/plugins/jasmine-core-7/NOTICE +51 -0
- package/plugins/jasmine-core-7/gemini-extension.json +1 -0
- package/plugins/jasmine-core-7/plugin.json +10 -0
- package/plugins/jasmine-core-7/skills/jasmine-core/SKILL.md +173 -0
- package/plugins/jest-cli-30/.claude-plugin/plugin.json +9 -0
- package/plugins/jest-cli-30/LICENSE +93 -0
- package/plugins/jest-cli-30/NOTICE +51 -0
- package/plugins/jest-cli-30/gemini-extension.json +1 -0
- package/plugins/jest-cli-30/plugin.json +10 -0
- package/plugins/jest-cli-30/skills/jest-cli/SKILL.md +121 -0
- package/plugins/jest-extended-7/.claude-plugin/plugin.json +9 -0
- package/plugins/jest-extended-7/LICENSE +93 -0
- package/plugins/jest-extended-7/NOTICE +51 -0
- package/plugins/jest-extended-7/gemini-extension.json +1 -0
- package/plugins/jest-extended-7/plugin.json +10 -0
- package/plugins/jest-extended-7/skills/jest-extended/SKILL.md +125 -0
- package/plugins/jsdom-30/.claude-plugin/plugin.json +9 -0
- package/plugins/jsdom-30/LICENSE +93 -0
- package/plugins/jsdom-30/NOTICE +51 -0
- package/plugins/jsdom-30/gemini-extension.json +1 -0
- package/plugins/jsdom-30/plugin.json +10 -0
- package/plugins/jsdom-30/skills/jsdom/SKILL.md +64 -0
- package/plugins/level-supports-6/.claude-plugin/plugin.json +9 -0
- package/plugins/level-supports-6/LICENSE +93 -0
- package/plugins/level-supports-6/NOTICE +51 -0
- package/plugins/level-supports-6/gemini-extension.json +1 -0
- package/plugins/level-supports-6/plugin.json +10 -0
- package/plugins/level-supports-6/skills/level-supports/SKILL.md +178 -0
- package/plugins/lowdb-7/.claude-plugin/plugin.json +9 -0
- package/plugins/lowdb-7/LICENSE +93 -0
- package/plugins/lowdb-7/NOTICE +51 -0
- package/plugins/lowdb-7/gemini-extension.json +1 -0
- package/plugins/lowdb-7/plugin.json +10 -0
- package/plugins/lowdb-7/skills/lowdb/SKILL.md +163 -0
- package/plugins/make-fetch-happen-16/.claude-plugin/plugin.json +9 -0
- package/plugins/make-fetch-happen-16/LICENSE +93 -0
- package/plugins/make-fetch-happen-16/NOTICE +51 -0
- package/plugins/make-fetch-happen-16/gemini-extension.json +1 -0
- package/plugins/make-fetch-happen-16/plugin.json +10 -0
- package/plugins/make-fetch-happen-16/skills/make-fetch-happen/SKILL.md +171 -0
- package/plugins/mdx-bundler-10/.claude-plugin/plugin.json +9 -0
- package/plugins/mdx-bundler-10/LICENSE +93 -0
- package/plugins/mdx-bundler-10/NOTICE +51 -0
- package/plugins/mdx-bundler-10/gemini-extension.json +1 -0
- package/plugins/mdx-bundler-10/plugin.json +10 -0
- package/plugins/mdx-bundler-10/skills/mdx-bundler/SKILL.md +133 -0
- package/plugins/mocha-12/.claude-plugin/plugin.json +9 -0
- package/plugins/mocha-12/LICENSE +93 -0
- package/plugins/mocha-12/NOTICE +51 -0
- package/plugins/mocha-12/gemini-extension.json +1 -0
- package/plugins/mocha-12/plugin.json +10 -0
- package/plugins/mocha-12/skills/mocha/SKILL.md +157 -0
- package/plugins/modelcontextprotocol-client-2/.claude-plugin/plugin.json +9 -0
- package/plugins/modelcontextprotocol-client-2/LICENSE +93 -0
- package/plugins/modelcontextprotocol-client-2/NOTICE +51 -0
- package/plugins/modelcontextprotocol-client-2/gemini-extension.json +1 -0
- package/plugins/modelcontextprotocol-client-2/plugin.json +10 -0
- package/plugins/modelcontextprotocol-client-2/skills/modelcontextprotocol-client/SKILL.md +86 -0
- package/plugins/modelcontextprotocol-sdk-1/.claude-plugin/plugin.json +9 -0
- package/plugins/modelcontextprotocol-sdk-1/LICENSE +93 -0
- package/plugins/modelcontextprotocol-sdk-1/NOTICE +51 -0
- package/plugins/modelcontextprotocol-sdk-1/gemini-extension.json +1 -0
- package/plugins/modelcontextprotocol-sdk-1/plugin.json +10 -0
- package/plugins/modelcontextprotocol-sdk-1/skills/modelcontextprotocol-sdk/SKILL.md +80 -0
- package/plugins/modelcontextprotocol-server-2/.claude-plugin/plugin.json +9 -0
- package/plugins/modelcontextprotocol-server-2/LICENSE +93 -0
- package/plugins/modelcontextprotocol-server-2/NOTICE +51 -0
- package/plugins/modelcontextprotocol-server-2/gemini-extension.json +1 -0
- package/plugins/modelcontextprotocol-server-2/plugin.json +10 -0
- package/plugins/modelcontextprotocol-server-2/skills/modelcontextprotocol-server/SKILL.md +80 -0
- package/plugins/msw-2/.claude-plugin/plugin.json +9 -0
- package/plugins/msw-2/LICENSE +93 -0
- package/plugins/msw-2/NOTICE +51 -0
- package/plugins/msw-2/gemini-extension.json +1 -0
- package/plugins/msw-2/plugin.json +10 -0
- package/plugins/msw-2/skills/msw/SKILL.md +182 -0
- package/plugins/negotiator-1/.claude-plugin/plugin.json +9 -0
- package/plugins/negotiator-1/LICENSE +93 -0
- package/plugins/negotiator-1/NOTICE +51 -0
- package/plugins/negotiator-1/gemini-extension.json +1 -0
- package/plugins/negotiator-1/plugin.json +10 -0
- package/plugins/negotiator-1/skills/negotiator/SKILL.md +180 -0
- package/plugins/npm-run-path-6/.claude-plugin/plugin.json +9 -0
- package/plugins/npm-run-path-6/LICENSE +93 -0
- package/plugins/npm-run-path-6/NOTICE +51 -0
- package/plugins/npm-run-path-6/gemini-extension.json +1 -0
- package/plugins/npm-run-path-6/plugin.json +10 -0
- package/plugins/npm-run-path-6/skills/npm-run-path/SKILL.md +137 -0
- package/plugins/nyc-18/.claude-plugin/plugin.json +9 -0
- package/plugins/nyc-18/LICENSE +93 -0
- package/plugins/nyc-18/NOTICE +51 -0
- package/plugins/nyc-18/gemini-extension.json +1 -0
- package/plugins/nyc-18/plugin.json +10 -0
- package/plugins/nyc-18/skills/nyc/SKILL.md +152 -0
- package/plugins/ow-3/.claude-plugin/plugin.json +9 -0
- package/plugins/ow-3/LICENSE +93 -0
- package/plugins/ow-3/NOTICE +51 -0
- package/plugins/ow-3/gemini-extension.json +1 -0
- package/plugins/ow-3/plugin.json +10 -0
- package/plugins/ow-3/skills/ow/SKILL.md +159 -0
- package/plugins/pac-proxy-agent-9/.claude-plugin/plugin.json +9 -0
- package/plugins/pac-proxy-agent-9/LICENSE +93 -0
- package/plugins/pac-proxy-agent-9/NOTICE +51 -0
- package/plugins/pac-proxy-agent-9/gemini-extension.json +1 -0
- package/plugins/pac-proxy-agent-9/plugin.json +10 -0
- package/plugins/pac-proxy-agent-9/skills/pac-proxy-agent/SKILL.md +111 -0
- package/plugins/pgsql-ast-parser-12/.claude-plugin/plugin.json +9 -0
- package/plugins/pgsql-ast-parser-12/LICENSE +93 -0
- package/plugins/pgsql-ast-parser-12/NOTICE +51 -0
- package/plugins/pgsql-ast-parser-12/gemini-extension.json +1 -0
- package/plugins/pgsql-ast-parser-12/plugin.json +10 -0
- package/plugins/pgsql-ast-parser-12/skills/pgsql-ast-parser/SKILL.md +136 -0
- package/plugins/playwright-test-1/.claude-plugin/plugin.json +9 -0
- package/plugins/playwright-test-1/LICENSE +93 -0
- package/plugins/playwright-test-1/NOTICE +51 -0
- package/plugins/playwright-test-1/gemini-extension.json +1 -0
- package/plugins/playwright-test-1/plugin.json +10 -0
- package/plugins/playwright-test-1/skills/playwright-test/SKILL.md +222 -0
- package/plugins/pmcp/.claude-plugin/plugin.json +9 -0
- package/plugins/pmcp/.mcp.json +9 -0
- package/plugins/pmcp/LICENSE +93 -0
- package/plugins/pmcp/NOTICE +51 -0
- package/plugins/pmcp/gemini-extension.json +11 -0
- package/plugins/pmcp/mcp.json +10 -0
- package/plugins/pmcp/plugin.json +10 -0
- package/plugins/pmcp/skills/package-skill-catalog/SKILL.md +54 -0
- package/plugins/pothos-core-4/.claude-plugin/plugin.json +9 -0
- package/plugins/pothos-core-4/LICENSE +93 -0
- package/plugins/pothos-core-4/NOTICE +51 -0
- package/plugins/pothos-core-4/gemini-extension.json +1 -0
- package/plugins/pothos-core-4/plugin.json +10 -0
- package/plugins/pothos-core-4/skills/pothos-core/SKILL.md +68 -0
- package/plugins/prettier-3/.claude-plugin/plugin.json +9 -0
- package/plugins/prettier-3/LICENSE +93 -0
- package/plugins/prettier-3/NOTICE +51 -0
- package/plugins/prettier-3/gemini-extension.json +1 -0
- package/plugins/prettier-3/plugin.json +10 -0
- package/plugins/prettier-3/skills/prettier/SKILL.md +69 -0
- package/plugins/protobufjs-8/.claude-plugin/plugin.json +9 -0
- package/plugins/protobufjs-8/LICENSE +93 -0
- package/plugins/protobufjs-8/NOTICE +51 -0
- package/plugins/protobufjs-8/gemini-extension.json +1 -0
- package/plugins/protobufjs-8/plugin.json +10 -0
- package/plugins/protobufjs-8/skills/protobufjs/SKILL.md +128 -0
- package/plugins/proxy-agent-8/.claude-plugin/plugin.json +9 -0
- package/plugins/proxy-agent-8/LICENSE +93 -0
- package/plugins/proxy-agent-8/NOTICE +51 -0
- package/plugins/proxy-agent-8/gemini-extension.json +1 -0
- package/plugins/proxy-agent-8/plugin.json +10 -0
- package/plugins/proxy-agent-8/skills/proxy-agent/SKILL.md +120 -0
- package/plugins/pydantic-2/.claude-plugin/plugin.json +9 -0
- package/plugins/pydantic-2/LICENSE +93 -0
- package/plugins/pydantic-2/NOTICE +51 -0
- package/plugins/pydantic-2/gemini-extension.json +1 -0
- package/plugins/pydantic-2/plugin.json +10 -0
- package/plugins/pydantic-2/skills/pydantic/SKILL.md +74 -0
- package/plugins/react-19/.claude-plugin/plugin.json +9 -0
- package/plugins/react-19/LICENSE +93 -0
- package/plugins/react-19/NOTICE +51 -0
- package/plugins/react-19/gemini-extension.json +1 -0
- package/plugins/react-19/plugin.json +10 -0
- package/plugins/react-19/skills/react/SKILL.md +150 -0
- package/plugins/react-dom-19/.claude-plugin/plugin.json +9 -0
- package/plugins/react-dom-19/LICENSE +93 -0
- package/plugins/react-dom-19/NOTICE +51 -0
- package/plugins/react-dom-19/gemini-extension.json +1 -0
- package/plugins/react-dom-19/plugin.json +10 -0
- package/plugins/react-dom-19/skills/react-dom/SKILL.md +178 -0
- package/plugins/react-icons-5/.claude-plugin/plugin.json +9 -0
- package/plugins/react-icons-5/LICENSE +93 -0
- package/plugins/react-icons-5/NOTICE +51 -0
- package/plugins/react-icons-5/gemini-extension.json +1 -0
- package/plugins/react-icons-5/plugin.json +10 -0
- package/plugins/react-icons-5/skills/react-icons/SKILL.md +194 -0
- package/plugins/react-is-19/.claude-plugin/plugin.json +9 -0
- package/plugins/react-is-19/LICENSE +93 -0
- package/plugins/react-is-19/NOTICE +51 -0
- package/plugins/react-is-19/gemini-extension.json +1 -0
- package/plugins/react-is-19/plugin.json +10 -0
- package/plugins/react-is-19/skills/react-is/SKILL.md +131 -0
- package/plugins/react-markdown-10/.claude-plugin/plugin.json +9 -0
- package/plugins/react-markdown-10/LICENSE +93 -0
- package/plugins/react-markdown-10/NOTICE +51 -0
- package/plugins/react-markdown-10/gemini-extension.json +1 -0
- package/plugins/react-markdown-10/plugin.json +10 -0
- package/plugins/react-markdown-10/skills/react-markdown/SKILL.md +163 -0
- package/plugins/react-router-8/.claude-plugin/plugin.json +9 -0
- package/plugins/react-router-8/LICENSE +93 -0
- package/plugins/react-router-8/NOTICE +51 -0
- package/plugins/react-router-8/gemini-extension.json +1 -0
- package/plugins/react-router-8/plugin.json +10 -0
- package/plugins/react-router-8/skills/react-router/SKILL.md +115 -0
- package/plugins/release-it-21/.claude-plugin/plugin.json +9 -0
- package/plugins/release-it-21/LICENSE +93 -0
- package/plugins/release-it-21/NOTICE +51 -0
- package/plugins/release-it-21/gemini-extension.json +1 -0
- package/plugins/release-it-21/plugin.json +10 -0
- package/plugins/release-it-21/skills/release-it/SKILL.md +202 -0
- package/plugins/reselect-5/.claude-plugin/plugin.json +9 -0
- package/plugins/reselect-5/LICENSE +93 -0
- package/plugins/reselect-5/NOTICE +51 -0
- package/plugins/reselect-5/gemini-extension.json +1 -0
- package/plugins/reselect-5/plugin.json +10 -0
- package/plugins/reselect-5/skills/reselect/SKILL.md +215 -0
- package/plugins/responselike-4/.claude-plugin/plugin.json +9 -0
- package/plugins/responselike-4/LICENSE +93 -0
- package/plugins/responselike-4/NOTICE +51 -0
- package/plugins/responselike-4/gemini-extension.json +1 -0
- package/plugins/responselike-4/plugin.json +10 -0
- package/plugins/responselike-4/skills/responselike/SKILL.md +173 -0
- package/plugins/rolldown-1/.claude-plugin/plugin.json +9 -0
- package/plugins/rolldown-1/LICENSE +93 -0
- package/plugins/rolldown-1/NOTICE +51 -0
- package/plugins/rolldown-1/gemini-extension.json +1 -0
- package/plugins/rolldown-1/plugin.json +10 -0
- package/plugins/rolldown-1/skills/rolldown/SKILL.md +182 -0
- package/plugins/semver-7/.claude-plugin/plugin.json +9 -0
- package/plugins/semver-7/LICENSE +93 -0
- package/plugins/semver-7/NOTICE +51 -0
- package/plugins/semver-7/gemini-extension.json +1 -0
- package/plugins/semver-7/plugin.json +10 -0
- package/plugins/semver-7/skills/semver/SKILL.md +55 -0
- package/plugins/serde-json-1/.claude-plugin/plugin.json +9 -0
- package/plugins/serde-json-1/LICENSE +93 -0
- package/plugins/serde-json-1/NOTICE +51 -0
- package/plugins/serde-json-1/gemini-extension.json +1 -0
- package/plugins/serde-json-1/plugin.json +10 -0
- package/plugins/serde-json-1/skills/serde-json/SKILL.md +68 -0
- package/plugins/sinon-22/.claude-plugin/plugin.json +9 -0
- package/plugins/sinon-22/LICENSE +93 -0
- package/plugins/sinon-22/NOTICE +51 -0
- package/plugins/sinon-22/gemini-extension.json +1 -0
- package/plugins/sinon-22/plugin.json +10 -0
- package/plugins/sinon-22/skills/sinon/SKILL.md +215 -0
- package/plugins/slice-ansi-9/.claude-plugin/plugin.json +9 -0
- package/plugins/slice-ansi-9/LICENSE +93 -0
- package/plugins/slice-ansi-9/NOTICE +51 -0
- package/plugins/slice-ansi-9/gemini-extension.json +1 -0
- package/plugins/slice-ansi-9/plugin.json +10 -0
- package/plugins/slice-ansi-9/skills/slice-ansi/SKILL.md +111 -0
- package/plugins/smol-toml-1/.claude-plugin/plugin.json +9 -0
- package/plugins/smol-toml-1/LICENSE +93 -0
- package/plugins/smol-toml-1/NOTICE +51 -0
- package/plugins/smol-toml-1/gemini-extension.json +1 -0
- package/plugins/smol-toml-1/plugin.json +10 -0
- package/plugins/smol-toml-1/skills/smol-toml/SKILL.md +63 -0
- package/plugins/socks-proxy-agent-10/.claude-plugin/plugin.json +9 -0
- package/plugins/socks-proxy-agent-10/LICENSE +93 -0
- package/plugins/socks-proxy-agent-10/NOTICE +51 -0
- package/plugins/socks-proxy-agent-10/gemini-extension.json +1 -0
- package/plugins/socks-proxy-agent-10/plugin.json +10 -0
- package/plugins/socks-proxy-agent-10/skills/socks-proxy-agent/SKILL.md +172 -0
- package/plugins/string-width-8/.claude-plugin/plugin.json +9 -0
- package/plugins/string-width-8/LICENSE +93 -0
- package/plugins/string-width-8/NOTICE +51 -0
- package/plugins/string-width-8/gemini-extension.json +1 -0
- package/plugins/string-width-8/plugin.json +10 -0
- package/plugins/string-width-8/skills/string-width/SKILL.md +101 -0
- package/plugins/superstruct-2/.claude-plugin/plugin.json +9 -0
- package/plugins/superstruct-2/LICENSE +93 -0
- package/plugins/superstruct-2/NOTICE +51 -0
- package/plugins/superstruct-2/gemini-extension.json +1 -0
- package/plugins/superstruct-2/plugin.json +10 -0
- package/plugins/superstruct-2/skills/superstruct/SKILL.md +170 -0
- package/plugins/supports-color-11/.claude-plugin/plugin.json +9 -0
- package/plugins/supports-color-11/LICENSE +93 -0
- package/plugins/supports-color-11/NOTICE +51 -0
- package/plugins/supports-color-11/gemini-extension.json +1 -0
- package/plugins/supports-color-11/plugin.json +10 -0
- package/plugins/supports-color-11/skills/supports-color/SKILL.md +115 -0
- package/plugins/tailwindcss-3/.claude-plugin/plugin.json +9 -0
- package/plugins/tailwindcss-3/LICENSE +93 -0
- package/plugins/tailwindcss-3/NOTICE +51 -0
- package/plugins/tailwindcss-3/gemini-extension.json +1 -0
- package/plugins/tailwindcss-3/plugin.json +10 -0
- package/plugins/tailwindcss-3/skills/tailwindcss/SKILL.md +72 -0
- package/plugins/tailwindcss-4/.claude-plugin/plugin.json +9 -0
- package/plugins/tailwindcss-4/LICENSE +93 -0
- package/plugins/tailwindcss-4/NOTICE +51 -0
- package/plugins/tailwindcss-4/gemini-extension.json +1 -0
- package/plugins/tailwindcss-4/plugin.json +10 -0
- package/plugins/tailwindcss-4/skills/tailwindcss/SKILL.md +82 -0
- package/plugins/tanstack-react-router-1/.claude-plugin/plugin.json +9 -0
- package/plugins/tanstack-react-router-1/LICENSE +93 -0
- package/plugins/tanstack-react-router-1/NOTICE +51 -0
- package/plugins/tanstack-react-router-1/gemini-extension.json +1 -0
- package/plugins/tanstack-react-router-1/plugin.json +10 -0
- package/plugins/tanstack-react-router-1/skills/tanstack-react-router/SKILL.md +96 -0
- package/plugins/tedious-20/.claude-plugin/plugin.json +9 -0
- package/plugins/tedious-20/LICENSE +93 -0
- package/plugins/tedious-20/NOTICE +51 -0
- package/plugins/tedious-20/gemini-extension.json +1 -0
- package/plugins/tedious-20/plugin.json +10 -0
- package/plugins/tedious-20/skills/tedious/SKILL.md +174 -0
- package/plugins/testing-library-react-16/.claude-plugin/plugin.json +9 -0
- package/plugins/testing-library-react-16/LICENSE +93 -0
- package/plugins/testing-library-react-16/NOTICE +51 -0
- package/plugins/testing-library-react-16/gemini-extension.json +1 -0
- package/plugins/testing-library-react-16/plugin.json +10 -0
- package/plugins/testing-library-react-16/skills/testing-library-react/SKILL.md +92 -0
- package/plugins/tinyspy-4/.claude-plugin/plugin.json +9 -0
- package/plugins/tinyspy-4/LICENSE +93 -0
- package/plugins/tinyspy-4/NOTICE +51 -0
- package/plugins/tinyspy-4/gemini-extension.json +1 -0
- package/plugins/tinyspy-4/plugin.json +10 -0
- package/plugins/tinyspy-4/skills/tinyspy/SKILL.md +158 -0
- package/plugins/tldts-7/.claude-plugin/plugin.json +9 -0
- package/plugins/tldts-7/LICENSE +93 -0
- package/plugins/tldts-7/NOTICE +51 -0
- package/plugins/tldts-7/gemini-extension.json +1 -0
- package/plugins/tldts-7/plugin.json +10 -0
- package/plugins/tldts-7/skills/tldts/SKILL.md +120 -0
- package/plugins/ts-morph-28/.claude-plugin/plugin.json +9 -0
- package/plugins/ts-morph-28/LICENSE +93 -0
- package/plugins/ts-morph-28/NOTICE +51 -0
- package/plugins/ts-morph-28/gemini-extension.json +1 -0
- package/plugins/ts-morph-28/plugin.json +10 -0
- package/plugins/ts-morph-28/skills/ts-morph/SKILL.md +219 -0
- package/plugins/tsup-8/.claude-plugin/plugin.json +9 -0
- package/plugins/tsup-8/LICENSE +93 -0
- package/plugins/tsup-8/NOTICE +51 -0
- package/plugins/tsup-8/gemini-extension.json +1 -0
- package/plugins/tsup-8/plugin.json +10 -0
- package/plugins/tsup-8/skills/tsup/SKILL.md +97 -0
- package/plugins/tsx-4/.claude-plugin/plugin.json +9 -0
- package/plugins/tsx-4/LICENSE +93 -0
- package/plugins/tsx-4/NOTICE +51 -0
- package/plugins/tsx-4/gemini-extension.json +1 -0
- package/plugins/tsx-4/plugin.json +10 -0
- package/plugins/tsx-4/skills/tsx/SKILL.md +159 -0
- package/plugins/type-fest-5/.claude-plugin/plugin.json +9 -0
- package/plugins/type-fest-5/LICENSE +93 -0
- package/plugins/type-fest-5/NOTICE +51 -0
- package/plugins/type-fest-5/gemini-extension.json +1 -0
- package/plugins/type-fest-5/plugin.json +10 -0
- package/plugins/type-fest-5/skills/type-fest/SKILL.md +132 -0
- package/plugins/typescript-5/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-5/LICENSE +93 -0
- package/plugins/typescript-5/NOTICE +51 -0
- package/plugins/typescript-5/gemini-extension.json +1 -0
- package/plugins/typescript-5/plugin.json +10 -0
- package/plugins/typescript-5/skills/typescript/SKILL.md +107 -0
- package/plugins/typescript-eslint-8/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-eslint-8/LICENSE +93 -0
- package/plugins/typescript-eslint-8/NOTICE +51 -0
- package/plugins/typescript-eslint-8/gemini-extension.json +1 -0
- package/plugins/typescript-eslint-8/plugin.json +10 -0
- package/plugins/typescript-eslint-8/skills/typescript-eslint/SKILL.md +179 -0
- package/plugins/typescript-eslint-eslint-plugin-8/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-eslint-eslint-plugin-8/LICENSE +93 -0
- package/plugins/typescript-eslint-eslint-plugin-8/NOTICE +51 -0
- package/plugins/typescript-eslint-eslint-plugin-8/gemini-extension.json +1 -0
- package/plugins/typescript-eslint-eslint-plugin-8/plugin.json +10 -0
- package/plugins/typescript-eslint-eslint-plugin-8/skills/typescript-eslint-eslint-plugin/SKILL.md +158 -0
- package/plugins/typescript-eslint-estree-8/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-eslint-estree-8/LICENSE +93 -0
- package/plugins/typescript-eslint-estree-8/NOTICE +51 -0
- package/plugins/typescript-eslint-estree-8/gemini-extension.json +1 -0
- package/plugins/typescript-eslint-estree-8/plugin.json +10 -0
- package/plugins/typescript-eslint-estree-8/skills/typescript-eslint-estree/SKILL.md +125 -0
- package/plugins/typescript-eslint-parser-8/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-eslint-parser-8/LICENSE +93 -0
- package/plugins/typescript-eslint-parser-8/NOTICE +51 -0
- package/plugins/typescript-eslint-parser-8/gemini-extension.json +1 -0
- package/plugins/typescript-eslint-parser-8/plugin.json +10 -0
- package/plugins/typescript-eslint-parser-8/skills/typescript-eslint-parser/SKILL.md +141 -0
- package/plugins/typescript-eslint-types-8/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-eslint-types-8/LICENSE +93 -0
- package/plugins/typescript-eslint-types-8/NOTICE +51 -0
- package/plugins/typescript-eslint-types-8/gemini-extension.json +1 -0
- package/plugins/typescript-eslint-types-8/plugin.json +10 -0
- package/plugins/typescript-eslint-types-8/skills/typescript-eslint-types/SKILL.md +117 -0
- package/plugins/typescript-eslint-utils-8/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-eslint-utils-8/LICENSE +93 -0
- package/plugins/typescript-eslint-utils-8/NOTICE +51 -0
- package/plugins/typescript-eslint-utils-8/gemini-extension.json +1 -0
- package/plugins/typescript-eslint-utils-8/plugin.json +10 -0
- package/plugins/typescript-eslint-utils-8/skills/typescript-eslint-utils/SKILL.md +195 -0
- package/plugins/typescript-eslint-visitor-keys-8/.claude-plugin/plugin.json +9 -0
- package/plugins/typescript-eslint-visitor-keys-8/LICENSE +93 -0
- package/plugins/typescript-eslint-visitor-keys-8/NOTICE +51 -0
- package/plugins/typescript-eslint-visitor-keys-8/gemini-extension.json +1 -0
- package/plugins/typescript-eslint-visitor-keys-8/plugin.json +10 -0
- package/plugins/typescript-eslint-visitor-keys-8/skills/typescript-eslint-visitor-keys/SKILL.md +116 -0
- package/plugins/valibot-1/.claude-plugin/plugin.json +9 -0
- package/plugins/valibot-1/LICENSE +93 -0
- package/plugins/valibot-1/NOTICE +51 -0
- package/plugins/valibot-1/gemini-extension.json +1 -0
- package/plugins/valibot-1/plugin.json +10 -0
- package/plugins/valibot-1/skills/valibot/SKILL.md +190 -0
- package/plugins/vite-7/.claude-plugin/plugin.json +9 -0
- package/plugins/vite-7/LICENSE +93 -0
- package/plugins/vite-7/NOTICE +51 -0
- package/plugins/vite-7/gemini-extension.json +1 -0
- package/plugins/vite-7/plugin.json +10 -0
- package/plugins/vite-7/skills/vite/SKILL.md +111 -0
- package/plugins/vite-8/.claude-plugin/plugin.json +9 -0
- package/plugins/vite-8/LICENSE +93 -0
- package/plugins/vite-8/NOTICE +51 -0
- package/plugins/vite-8/gemini-extension.json +1 -0
- package/plugins/vite-8/plugin.json +10 -0
- package/plugins/vite-8/skills/vite/SKILL.md +267 -0
- package/plugins/vitejs-plugin-react-5/.claude-plugin/plugin.json +9 -0
- package/plugins/vitejs-plugin-react-5/LICENSE +93 -0
- package/plugins/vitejs-plugin-react-5/NOTICE +51 -0
- package/plugins/vitejs-plugin-react-5/gemini-extension.json +1 -0
- package/plugins/vitejs-plugin-react-5/plugin.json +10 -0
- package/plugins/vitejs-plugin-react-5/skills/vitejs-plugin-react/SKILL.md +67 -0
- package/plugins/vitejs-plugin-react-6/.claude-plugin/plugin.json +9 -0
- package/plugins/vitejs-plugin-react-6/LICENSE +93 -0
- package/plugins/vitejs-plugin-react-6/NOTICE +51 -0
- package/plugins/vitejs-plugin-react-6/gemini-extension.json +1 -0
- package/plugins/vitejs-plugin-react-6/plugin.json +10 -0
- package/plugins/vitejs-plugin-react-6/skills/vitejs-plugin-react/SKILL.md +232 -0
- package/plugins/vitest-4/.claude-plugin/plugin.json +9 -0
- package/plugins/vitest-4/LICENSE +93 -0
- package/plugins/vitest-4/NOTICE +51 -0
- package/plugins/vitest-4/gemini-extension.json +1 -0
- package/plugins/vitest-4/plugin.json +10 -0
- package/plugins/vitest-4/skills/vitest/SKILL.md +127 -0
- package/plugins/vitest-5/.claude-plugin/plugin.json +9 -0
- package/plugins/vitest-5/LICENSE +93 -0
- package/plugins/vitest-5/NOTICE +51 -0
- package/plugins/vitest-5/gemini-extension.json +1 -0
- package/plugins/vitest-5/plugin.json +10 -0
- package/plugins/vitest-5/skills/vitest/SKILL.md +186 -0
- package/plugins/whatwg-mimetype-5/.claude-plugin/plugin.json +9 -0
- package/plugins/whatwg-mimetype-5/LICENSE +93 -0
- package/plugins/whatwg-mimetype-5/NOTICE +51 -0
- package/plugins/whatwg-mimetype-5/gemini-extension.json +1 -0
- package/plugins/whatwg-mimetype-5/plugin.json +10 -0
- package/plugins/whatwg-mimetype-5/skills/whatwg-mimetype/SKILL.md +150 -0
- package/plugins/wrangler-4/.claude-plugin/plugin.json +9 -0
- package/plugins/wrangler-4/LICENSE +93 -0
- package/plugins/wrangler-4/NOTICE +51 -0
- package/plugins/wrangler-4/gemini-extension.json +1 -0
- package/plugins/wrangler-4/plugin.json +10 -0
- package/plugins/wrangler-4/skills/wrangler/SKILL.md +87 -0
- package/plugins/wrap-ansi-10/.claude-plugin/plugin.json +9 -0
- package/plugins/wrap-ansi-10/LICENSE +93 -0
- package/plugins/wrap-ansi-10/NOTICE +51 -0
- package/plugins/wrap-ansi-10/gemini-extension.json +1 -0
- package/plugins/wrap-ansi-10/plugin.json +10 -0
- package/plugins/wrap-ansi-10/skills/wrap-ansi/SKILL.md +119 -0
- package/plugins/yaml-2/.claude-plugin/plugin.json +9 -0
- package/plugins/yaml-2/LICENSE +93 -0
- package/plugins/yaml-2/NOTICE +51 -0
- package/plugins/yaml-2/gemini-extension.json +1 -0
- package/plugins/yaml-2/plugin.json +10 -0
- package/plugins/yaml-2/skills/yaml/SKILL.md +56 -0
- package/plugins/yargs-18/.claude-plugin/plugin.json +9 -0
- package/plugins/yargs-18/LICENSE +93 -0
- package/plugins/yargs-18/NOTICE +51 -0
- package/plugins/yargs-18/gemini-extension.json +1 -0
- package/plugins/yargs-18/plugin.json +10 -0
- package/plugins/yargs-18/skills/yargs/SKILL.md +175 -0
- package/plugins/yargs-parser-22/.claude-plugin/plugin.json +9 -0
- package/plugins/yargs-parser-22/LICENSE +93 -0
- package/plugins/yargs-parser-22/NOTICE +51 -0
- package/plugins/yargs-parser-22/gemini-extension.json +1 -0
- package/plugins/yargs-parser-22/plugin.json +10 -0
- package/plugins/yargs-parser-22/skills/yargs-parser/SKILL.md +179 -0
- package/plugins/yeoman-environment-7/.claude-plugin/plugin.json +9 -0
- package/plugins/yeoman-environment-7/LICENSE +93 -0
- package/plugins/yeoman-environment-7/NOTICE +51 -0
- package/plugins/yeoman-environment-7/gemini-extension.json +1 -0
- package/plugins/yeoman-environment-7/plugin.json +10 -0
- package/plugins/yeoman-environment-7/skills/yeoman-environment/SKILL.md +136 -0
- package/plugins/z-schema-12/.claude-plugin/plugin.json +9 -0
- package/plugins/z-schema-12/LICENSE +93 -0
- package/plugins/z-schema-12/NOTICE +51 -0
- package/plugins/z-schema-12/gemini-extension.json +1 -0
- package/plugins/z-schema-12/plugin.json +10 -0
- package/plugins/z-schema-12/skills/z-schema/SKILL.md +179 -0
- package/plugins/zod-schema-validation-3/.claude-plugin/plugin.json +9 -0
- package/plugins/zod-schema-validation-3/LICENSE +93 -0
- package/plugins/zod-schema-validation-3/NOTICE +51 -0
- package/plugins/zod-schema-validation-3/gemini-extension.json +1 -0
- package/plugins/zod-schema-validation-3/plugin.json +10 -0
- package/plugins/zod-schema-validation-3/skills/zod-schema-validation/SKILL.md +188 -0
- package/plugins/zod-schema-validation-4/.claude-plugin/plugin.json +9 -0
- package/plugins/zod-schema-validation-4/LICENSE +93 -0
- package/plugins/zod-schema-validation-4/NOTICE +51 -0
- package/plugins/zod-schema-validation-4/gemini-extension.json +1 -0
- package/plugins/zod-schema-validation-4/plugin.json +10 -0
- package/plugins/zod-schema-validation-4/skills/zod-schema-validation/SKILL.md +181 -0
- package/plugins/zod-validation-error-5/.claude-plugin/plugin.json +9 -0
- package/plugins/zod-validation-error-5/LICENSE +93 -0
- package/plugins/zod-validation-error-5/NOTICE +51 -0
- package/plugins/zod-validation-error-5/gemini-extension.json +1 -0
- package/plugins/zod-validation-error-5/plugin.json +10 -0
- package/plugins/zod-validation-error-5/skills/zod-validation-error/SKILL.md +212 -0
- package/plugins/zustand-5/.claude-plugin/plugin.json +9 -0
- package/plugins/zustand-5/LICENSE +93 -0
- package/plugins/zustand-5/NOTICE +51 -0
- package/plugins/zustand-5/gemini-extension.json +1 -0
- package/plugins/zustand-5/plugin.json +10 -0
- package/plugins/zustand-5/skills/zustand/SKILL.md +128 -0
- package/skills/package-skill-catalog/SKILL.md +37 -222
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
pmcp
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 modootoday. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Licensor: modootoday
|
|
6
|
+
Licensed under the Elastic License 2.0; see LICENSE.
|
|
7
|
+
|
|
8
|
+
The licensor is modootoday, the company, not any individual contributor. This
|
|
9
|
+
file names the licensor because the Elastic License 2.0 defines that term rather
|
|
10
|
+
than carrying a copyright line of its own; LICENSE is kept unmodified.
|
|
11
|
+
|
|
12
|
+
What the licence permits, in short, without replacing the terms in LICENSE:
|
|
13
|
+
|
|
14
|
+
- Using this software inside your own company, on any scale.
|
|
15
|
+
- Embedding it in a product you sell, and modifying or forking it.
|
|
16
|
+
- Redistributing it, with these notices intact.
|
|
17
|
+
- Running it locally as an MCP server, which is what it is for. A host
|
|
18
|
+
process spawning it on your own machine is use, not a hosted service.
|
|
19
|
+
|
|
20
|
+
What it does not permit:
|
|
21
|
+
|
|
22
|
+
- Offering this software to third parties as a hosted or managed service.
|
|
23
|
+
A remotely hosted MCP endpoint serving other people is the case this
|
|
24
|
+
forbids.
|
|
25
|
+
- Circumventing licence key functionality.
|
|
26
|
+
- Removing or obscuring these notices.
|
|
27
|
+
|
|
28
|
+
The Elastic License 2.0 is source-available, not an OSI-approved open source
|
|
29
|
+
licence. It grants a patent licence and ends that licence if you assert a patent
|
|
30
|
+
claim against the software; see the Patents section of LICENSE.
|
|
31
|
+
|
|
32
|
+
LICENSE governs. Where this summary and LICENSE differ, LICENSE is what applies.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
This software depends on the following packages, which are distributed under
|
|
37
|
+
their own terms and are not covered by the licence above.
|
|
38
|
+
|
|
39
|
+
@modelcontextprotocol/server MIT Copyright (c) Anthropic, PBC
|
|
40
|
+
@modelcontextprotocol/core MIT Copyright (c) Anthropic, PBC
|
|
41
|
+
zod MIT Copyright (c) Colin McDonnell
|
|
42
|
+
semver ISC See the dependency's LICENSE file.
|
|
43
|
+
smol-toml BSD-3-Clause Copyright (c) Squirrel Chat et al.
|
|
44
|
+
yaml ISC Copyright Eemeli Aro
|
|
45
|
+
|
|
46
|
+
Full licence texts and copyright notices ship with those packages. Their
|
|
47
|
+
respective licence terms govern distribution of those dependencies.
|
|
48
|
+
|
|
49
|
+
@huggingface/transformers is an optional peer dependency. It is never
|
|
50
|
+
distributed with this package; a user who wants semantic ranking installs it
|
|
51
|
+
themselves, under its own Apache-2.0 terms.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "name": "zod-validation-error-5", "version": "5.0.0" }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "zod-validation-error-5",
|
|
4
|
+
"version": "5.0.0",
|
|
5
|
+
"description": "Use zod-validation-error ^5.0.0 with Zod 4 by default, including direct ValidationError construction, Zod error conversion, type guards, message builders, and the separate Zod 3 entrypoint.",
|
|
6
|
+
"author": { "name": "modootoday" },
|
|
7
|
+
"license": "Elastic-2.0",
|
|
8
|
+
"repository": "https://github.com/modootoday/pmcp",
|
|
9
|
+
"homepage": "https://pmcp.build/skills/"
|
|
10
|
+
}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zod-validation-error
|
|
3
|
+
description: Use zod-validation-error ^5.0.0 with Zod 4 by default, including direct ValidationError construction, Zod error conversion, type guards, message builders, and the separate Zod 3 entrypoint.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Verified against zod-validation-error@5.0.0 on 2026-09-08. 7 of 7 examples executed.
|
|
7
|
+
|
|
8
|
+
# zod-validation-error v5
|
|
9
|
+
|
|
10
|
+
Use this skill for `zod-validation-error` version `^5.0.0`. It requires Node.js 18 or newer and TypeScript 4.5 or newer. The default package entrypoint is the Zod 4 build. Zod is a peer dependency and must be installed by the application.
|
|
11
|
+
|
|
12
|
+
## Important version distinction
|
|
13
|
+
|
|
14
|
+
Version 5 supports both Zod 4 and Zod 3, but they are separate package entrypoints:
|
|
15
|
+
|
|
16
|
+
- Import the default package for the Zod 4 surface: `zod-validation-error`.
|
|
17
|
+
- Import `zod-validation-error/v3` when using the Zod 3 surface.
|
|
18
|
+
|
|
19
|
+
Do not copy the older singleton error-map setup into the v5 default surface. The older form is:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { z as zod } from 'zod';
|
|
23
|
+
import { errorMap } from 'zod-validation-error';
|
|
24
|
+
|
|
25
|
+
zod.setErrorMap(errorMap);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
For v5 with Zod 4, create the map and configure Zod:
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
import { z as zod } from 'zod';
|
|
32
|
+
import { createErrorMap } from 'zod-validation-error';
|
|
33
|
+
|
|
34
|
+
zod.config({
|
|
35
|
+
customError: createErrorMap(),
|
|
36
|
+
});
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Zod 4 schemas also use the newer constructors shown by the package documentation, such as `zod.int()` and `zod.email()`. The older Zod 3 shape uses `zod.number().int()` and `zod.string().email()`.
|
|
40
|
+
|
|
41
|
+
## Direct `ValidationError`
|
|
42
|
+
|
|
43
|
+
`ValidationError` is an `Error` and can be used without Zod, for example when validating an argument in code that does not need a schema.
|
|
44
|
+
|
|
45
|
+
```ts pmcp-example
|
|
46
|
+
import assert from 'node:assert/strict';
|
|
47
|
+
import { ValidationError } from 'zod-validation-error';
|
|
48
|
+
|
|
49
|
+
const error = new ValidationError('Invalid argument; expected buffer');
|
|
50
|
+
|
|
51
|
+
assert.equal(error instanceof Error, true);
|
|
52
|
+
assert.equal(error.message, 'Invalid argument; expected buffer');
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Convert a Zod error
|
|
56
|
+
|
|
57
|
+
Use `fromError` when the caught value is not known to be a Zod error. Use a Zod 4 schema with the default package entrypoint.
|
|
58
|
+
|
|
59
|
+
```ts pmcp-example
|
|
60
|
+
import assert from 'node:assert/strict';
|
|
61
|
+
import { z as zod } from 'zod';
|
|
62
|
+
import { fromError, isValidationError } from 'zod-validation-error';
|
|
63
|
+
|
|
64
|
+
const schema = zod.object({
|
|
65
|
+
id: zod.int().positive(),
|
|
66
|
+
email: zod.email(),
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
let converted: unknown;
|
|
70
|
+
try {
|
|
71
|
+
schema.parse({ id: -1, email: 'not-an-email' });
|
|
72
|
+
} catch (error) {
|
|
73
|
+
converted = fromError(error);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
assert.equal(isValidationError(converted), true);
|
|
77
|
+
assert.equal(converted instanceof Error, true);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
`fromZodError` is the explicit conversion function when the value is already a Zod error.
|
|
81
|
+
|
|
82
|
+
```ts pmcp-example
|
|
83
|
+
import assert from 'node:assert/strict';
|
|
84
|
+
import { z as zod } from 'zod';
|
|
85
|
+
import { fromZodError, isValidationError } from 'zod-validation-error';
|
|
86
|
+
|
|
87
|
+
const schema = zod.object({ count: zod.int().positive() });
|
|
88
|
+
const result = schema.safeParse({ count: 0 });
|
|
89
|
+
|
|
90
|
+
assert.equal(result.success, false);
|
|
91
|
+
if (result.success) process.exit(1);
|
|
92
|
+
|
|
93
|
+
const error = fromZodError(result.error);
|
|
94
|
+
assert.equal(isValidationError(error), true);
|
|
95
|
+
assert.equal(error instanceof Error, true);
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Convert one issue
|
|
99
|
+
|
|
100
|
+
`fromZodIssue` converts a Zod issue directly into a `ValidationError`.
|
|
101
|
+
|
|
102
|
+
```ts pmcp-example
|
|
103
|
+
import assert from 'node:assert/strict';
|
|
104
|
+
import { fromZodIssue, isValidationError } from 'zod-validation-error';
|
|
105
|
+
|
|
106
|
+
const error = fromZodIssue({
|
|
107
|
+
origin: 'number',
|
|
108
|
+
code: 'too_small',
|
|
109
|
+
minimum: 0,
|
|
110
|
+
inclusive: false,
|
|
111
|
+
path: ['id'],
|
|
112
|
+
message: 'Number must be greater than 0 at "id"',
|
|
113
|
+
input: -1,
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
assert.equal(isValidationError(error), true);
|
|
117
|
+
assert.equal(error instanceof Error, true);
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Convert with `toValidationError`
|
|
121
|
+
|
|
122
|
+
`toValidationError(options)` produces a function that accepts a Zod error and returns a `ValidationError`.
|
|
123
|
+
|
|
124
|
+
```ts pmcp-example
|
|
125
|
+
import assert from 'node:assert/strict';
|
|
126
|
+
import { z as zod } from 'zod';
|
|
127
|
+
import { isValidationError, toValidationError } from 'zod-validation-error';
|
|
128
|
+
|
|
129
|
+
const schema = zod.object({ name: zod.string().min(1) });
|
|
130
|
+
const result = schema.safeParse({ name: '' });
|
|
131
|
+
|
|
132
|
+
assert.equal(result.success, false);
|
|
133
|
+
if (result.success) process.exit(1);
|
|
134
|
+
|
|
135
|
+
const convert = toValidationError({});
|
|
136
|
+
const error = convert(result.error);
|
|
137
|
+
|
|
138
|
+
assert.equal(isValidationError(error), true);
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Message builders and error maps
|
|
142
|
+
|
|
143
|
+
`createMessageBuilder` accepts options including `maxIssuesInMessage` and `includePath`. `createErrorMap` creates the map used with Zod 4 configuration. The package documentation shows configuring both through the package API rather than relying on the older v3 singleton `errorMap`.
|
|
144
|
+
|
|
145
|
+
```ts pmcp-example
|
|
146
|
+
import assert from 'node:assert/strict';
|
|
147
|
+
import { z as zod } from 'zod';
|
|
148
|
+
import {
|
|
149
|
+
createErrorMap,
|
|
150
|
+
createMessageBuilder,
|
|
151
|
+
} from 'zod-validation-error';
|
|
152
|
+
|
|
153
|
+
const messageBuilder = createMessageBuilder({
|
|
154
|
+
maxIssuesInMessage: 3,
|
|
155
|
+
includePath: false,
|
|
156
|
+
});
|
|
157
|
+
const errorMap = createErrorMap();
|
|
158
|
+
|
|
159
|
+
assert.equal(typeof messageBuilder, 'function');
|
|
160
|
+
assert.equal(typeof errorMap, 'function');
|
|
161
|
+
|
|
162
|
+
zod.config({ customError: errorMap });
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Type guards
|
|
166
|
+
|
|
167
|
+
The documented guards are useful when handling unknown caught values:
|
|
168
|
+
|
|
169
|
+
- `isValidationError` checks for the package's `ValidationError`.
|
|
170
|
+
- `isValidationErrorLike` checks whether an unknown value has the validation-error shape expected by the package.
|
|
171
|
+
- `isZodErrorLike` checks whether an unknown value has a Zod-error-like shape.
|
|
172
|
+
|
|
173
|
+
A plain object containing only `name` and `message` is not necessarily validation-error-like. Use an actual package error or an actual Zod error when testing these guards.
|
|
174
|
+
|
|
175
|
+
```ts pmcp-example
|
|
176
|
+
import assert from 'node:assert/strict';
|
|
177
|
+
import { z as zod } from 'zod';
|
|
178
|
+
import {
|
|
179
|
+
ValidationError,
|
|
180
|
+
isValidationError,
|
|
181
|
+
isValidationErrorLike,
|
|
182
|
+
isZodErrorLike,
|
|
183
|
+
} from 'zod-validation-error';
|
|
184
|
+
|
|
185
|
+
const validationError = new ValidationError('invalid input');
|
|
186
|
+
const result = zod.string().parse;
|
|
187
|
+
|
|
188
|
+
let zodError: unknown;
|
|
189
|
+
try {
|
|
190
|
+
zod.string().parse(123);
|
|
191
|
+
} catch (error) {
|
|
192
|
+
zodError = error;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
assert.equal(isValidationError(validationError), true);
|
|
196
|
+
assert.equal(isValidationErrorLike(validationError), true);
|
|
197
|
+
assert.equal(isValidationError(new Error('ordinary error')), false);
|
|
198
|
+
assert.equal(isZodErrorLike(zodError), true);
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Common mistakes
|
|
202
|
+
|
|
203
|
+
- **Using v3 imports or setup with the default v5 entrypoint.** The default export is the v4 build. Use `createErrorMap()` with `zod.config({ customError: ... })`.
|
|
204
|
+
- **Using the Zod 3 schema examples with Zod 4.** In the documented v5 surface, use `zod.int()` and `zod.email()` rather than assuming the older `zod.number().int()` and `zod.string().email()` examples apply.
|
|
205
|
+
- **Assuming a plain object is validation-error-like.** `isValidationErrorLike` checks the package's expected shape; `{ name, message }` alone does not satisfy it. Use a `ValidationError` or another value with the documented validation-error shape.
|
|
206
|
+
- **Assuming the package is a runner.** It has no documented CLI or test-runner integration requirement. Its conversion, error-map, builder, and guard APIs are callable from ordinary scripts.
|
|
207
|
+
- **Passing arbitrary caught values to APIs intended for Zod errors.** Use `fromError` for an unknown caught value; use `fromZodError` or `toValidationError` when the value is known to be a Zod error.
|
|
208
|
+
- **Forgetting the peer dependency.** The conversion and error-map APIs are built around Zod issue/error types, and the package declares Zod as a peer dependency.
|
|
209
|
+
|
|
210
|
+
## Not covered
|
|
211
|
+
|
|
212
|
+
This skill does not cover the detailed formatting of every generated message, all `createMessageBuilder` or `toValidationError` options beyond those documented above, custom issue construction beyond the shown issue, Zod schema design, package installation commands, or the full Zod 3 API. Those details were not established by the available research.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zustand-5",
|
|
3
|
+
"version": "5.0.0",
|
|
4
|
+
"description": "Use Zustand ^5.0.0 for vanilla stores, React-bound stores, persistence, and Redux-style reducers. Covers documented v5 APIs, standalone examples, and migration traps such as stable selectors, replacement updates, and changed persistence behavior.",
|
|
5
|
+
"author": { "name": "modootoday" },
|
|
6
|
+
"license": "Elastic-2.0",
|
|
7
|
+
"repository": "https://github.com/modootoday/pmcp",
|
|
8
|
+
"homepage": "https://pmcp.build/skills/"
|
|
9
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Elastic License 2.0
|
|
2
|
+
|
|
3
|
+
URL: https://www.elastic.co/licensing/elastic-license
|
|
4
|
+
|
|
5
|
+
## Acceptance
|
|
6
|
+
|
|
7
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
8
|
+
|
|
9
|
+
## Copyright License
|
|
10
|
+
|
|
11
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide,
|
|
12
|
+
non-sublicensable, non-transferable license to use, copy, distribute, make
|
|
13
|
+
available, and prepare derivative works of the software, in each case subject to
|
|
14
|
+
the limitations and conditions below.
|
|
15
|
+
|
|
16
|
+
## Limitations
|
|
17
|
+
|
|
18
|
+
You may not provide the software to third parties as a hosted or managed
|
|
19
|
+
service, where the service provides users with access to any substantial set of
|
|
20
|
+
the features or functionality of the software.
|
|
21
|
+
|
|
22
|
+
You may not move, change, disable, or circumvent the license key functionality
|
|
23
|
+
in the software, and you may not remove or obscure any functionality in the
|
|
24
|
+
software that is protected by the license key.
|
|
25
|
+
|
|
26
|
+
You may not alter, remove, or obscure any licensing, copyright, or other notices
|
|
27
|
+
of the licensor in the software. Any use of the licensor’s trademarks is subject
|
|
28
|
+
to applicable law.
|
|
29
|
+
|
|
30
|
+
## Patents
|
|
31
|
+
|
|
32
|
+
The licensor grants you a license, under any patent claims the licensor can
|
|
33
|
+
license, or becomes able to license, to make, have made, use, sell, offer for
|
|
34
|
+
sale, import and have imported the software, in each case subject to the
|
|
35
|
+
limitations and conditions in this license. This license does not cover any
|
|
36
|
+
patent claims that you cause to be infringed by modifications or additions to
|
|
37
|
+
the software. If you or your company make any written claim that the software
|
|
38
|
+
infringes or contributes to infringement of any patent, your patent license for
|
|
39
|
+
the software granted under these terms ends immediately. If your company makes
|
|
40
|
+
such a claim, your patent license ends immediately for work on behalf of your
|
|
41
|
+
company.
|
|
42
|
+
|
|
43
|
+
## Notices
|
|
44
|
+
|
|
45
|
+
You must ensure that anyone who gets a copy of any part of the software from you
|
|
46
|
+
also gets a copy of these terms.
|
|
47
|
+
|
|
48
|
+
If you modify the software, you must include in any modified copies of the
|
|
49
|
+
software prominent notices stating that you have modified the software.
|
|
50
|
+
|
|
51
|
+
## No Other Rights
|
|
52
|
+
|
|
53
|
+
These terms do not imply any licenses other than those expressly granted in
|
|
54
|
+
these terms.
|
|
55
|
+
|
|
56
|
+
## Termination
|
|
57
|
+
|
|
58
|
+
If you use the software in violation of these terms, such use is not licensed,
|
|
59
|
+
and your licenses will automatically terminate. If the licensor provides you
|
|
60
|
+
with a notice of your violation, and you cease all violation of this license no
|
|
61
|
+
later than 30 days after you receive that notice, your licenses will be
|
|
62
|
+
reinstated retroactively. However, if you violate these terms after such
|
|
63
|
+
reinstatement, any additional violation of these terms will cause your licenses
|
|
64
|
+
to terminate automatically and permanently.
|
|
65
|
+
|
|
66
|
+
## No Liability
|
|
67
|
+
|
|
68
|
+
*As far as the law allows, the software comes as is, without any warranty or
|
|
69
|
+
condition, and the licensor will not be liable to you for any damages arising
|
|
70
|
+
out of these terms or the use or nature of the software, under any kind of
|
|
71
|
+
legal claim.*
|
|
72
|
+
|
|
73
|
+
## Definitions
|
|
74
|
+
|
|
75
|
+
The **licensor** is the entity offering these terms, and the **software** is the
|
|
76
|
+
software the licensor makes available under these terms, including any portion
|
|
77
|
+
of it.
|
|
78
|
+
|
|
79
|
+
**you** refers to the individual or entity agreeing to these terms.
|
|
80
|
+
|
|
81
|
+
**your company** is any legal entity, sole proprietorship, or other kind of
|
|
82
|
+
organization that you work for, plus all organizations that have control over,
|
|
83
|
+
are under the control of, or are under common control with that
|
|
84
|
+
organization. **control** means ownership of substantially all the assets of an
|
|
85
|
+
entity, or the power to direct its management and policies by vote, contract, or
|
|
86
|
+
otherwise. Control can be direct or indirect.
|
|
87
|
+
|
|
88
|
+
**your licenses** are all the licenses granted to you for the software under
|
|
89
|
+
these terms.
|
|
90
|
+
|
|
91
|
+
**use** means anything you do with the software requiring one of your licenses.
|
|
92
|
+
|
|
93
|
+
**trademark** means trademarks, service marks, and similar rights.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
pmcp
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 modootoday. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Licensor: modootoday
|
|
6
|
+
Licensed under the Elastic License 2.0; see LICENSE.
|
|
7
|
+
|
|
8
|
+
The licensor is modootoday, the company, not any individual contributor. This
|
|
9
|
+
file names the licensor because the Elastic License 2.0 defines that term rather
|
|
10
|
+
than carrying a copyright line of its own; LICENSE is kept unmodified.
|
|
11
|
+
|
|
12
|
+
What the licence permits, in short, without replacing the terms in LICENSE:
|
|
13
|
+
|
|
14
|
+
- Using this software inside your own company, on any scale.
|
|
15
|
+
- Embedding it in a product you sell, and modifying or forking it.
|
|
16
|
+
- Redistributing it, with these notices intact.
|
|
17
|
+
- Running it locally as an MCP server, which is what it is for. A host
|
|
18
|
+
process spawning it on your own machine is use, not a hosted service.
|
|
19
|
+
|
|
20
|
+
What it does not permit:
|
|
21
|
+
|
|
22
|
+
- Offering this software to third parties as a hosted or managed service.
|
|
23
|
+
A remotely hosted MCP endpoint serving other people is the case this
|
|
24
|
+
forbids.
|
|
25
|
+
- Circumventing licence key functionality.
|
|
26
|
+
- Removing or obscuring these notices.
|
|
27
|
+
|
|
28
|
+
The Elastic License 2.0 is source-available, not an OSI-approved open source
|
|
29
|
+
licence. It grants a patent licence and ends that licence if you assert a patent
|
|
30
|
+
claim against the software; see the Patents section of LICENSE.
|
|
31
|
+
|
|
32
|
+
LICENSE governs. Where this summary and LICENSE differ, LICENSE is what applies.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
This software depends on the following packages, which are distributed under
|
|
37
|
+
their own terms and are not covered by the licence above.
|
|
38
|
+
|
|
39
|
+
@modelcontextprotocol/server MIT Copyright (c) Anthropic, PBC
|
|
40
|
+
@modelcontextprotocol/core MIT Copyright (c) Anthropic, PBC
|
|
41
|
+
zod MIT Copyright (c) Colin McDonnell
|
|
42
|
+
semver ISC See the dependency's LICENSE file.
|
|
43
|
+
smol-toml BSD-3-Clause Copyright (c) Squirrel Chat et al.
|
|
44
|
+
yaml ISC Copyright Eemeli Aro
|
|
45
|
+
|
|
46
|
+
Full licence texts and copyright notices ship with those packages. Their
|
|
47
|
+
respective licence terms govern distribution of those dependencies.
|
|
48
|
+
|
|
49
|
+
@huggingface/transformers is an optional peer dependency. It is never
|
|
50
|
+
distributed with this package; a user who wants semantic ranking installs it
|
|
51
|
+
themselves, under its own Apache-2.0 terms.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "name": "zustand-5", "version": "5.0.0" }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "zustand-5",
|
|
4
|
+
"version": "5.0.0",
|
|
5
|
+
"description": "Use Zustand ^5.0.0 for vanilla stores, React-bound stores, persistence, and Redux-style reducers. Covers documented v5 APIs, standalone examples, and migration traps such as stable selectors, replacement updates, and changed persistence behavior.",
|
|
6
|
+
"author": { "name": "modootoday" },
|
|
7
|
+
"license": "Elastic-2.0",
|
|
8
|
+
"repository": "https://github.com/modootoday/pmcp",
|
|
9
|
+
"homepage": "https://pmcp.build/skills/"
|
|
10
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zustand
|
|
3
|
+
description: Use Zustand ^5.0.0 for vanilla stores, React-bound stores, persistence, and Redux-style reducers. Covers documented v5 APIs, standalone examples, and migration traps such as stable selectors, replacement updates, and changed persistence behavior.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Verified against zustand@5.0.15 on 2026-09-08. 3 of 3 examples executed.
|
|
7
|
+
|
|
8
|
+
# zustand ^5.0.0
|
|
9
|
+
|
|
10
|
+
## Core API
|
|
11
|
+
|
|
12
|
+
Use named exports. Zustand v5 drops default exports.
|
|
13
|
+
|
|
14
|
+
- `zustand`: `create`, `useStore`
|
|
15
|
+
- `zustand/vanilla`: `createStore`
|
|
16
|
+
- `zustand/middleware`: `persist`, `createJSONStorage`, `redux`, and other documented middleware such as `devtools`, `immer`, `combine`, and `subscribeWithSelector`
|
|
17
|
+
|
|
18
|
+
`create<T>()(stateCreator)` returns a React-bound store hook. The hook has attached `setState`, `getState`, `getInitialState`, and `subscribe` APIs. The state creator receives `set` and `get`; ordinary `set` calls merge partial updates.
|
|
19
|
+
|
|
20
|
+
A React runtime is required to import and use the `zustand` entry point. A plain standalone script without React cannot execute a `create` example. Use `createStore` from `zustand/vanilla` for code that does not run inside React.
|
|
21
|
+
|
|
22
|
+
`createStore<T>()(stateCreator)` returns a vanilla `StoreApi<T>` with `getState`, `setState`, `getInitialState`, and `subscribe`.
|
|
23
|
+
|
|
24
|
+
```ts pmcp-example
|
|
25
|
+
import { strict as assert } from 'node:assert'
|
|
26
|
+
import { createStore } from 'zustand/vanilla'
|
|
27
|
+
|
|
28
|
+
const store = createStore<{ bears: number; add: () => void }>()((set) => ({
|
|
29
|
+
bears: 0,
|
|
30
|
+
add: () => set((state) => ({ bears: state.bears + 1 })),
|
|
31
|
+
}))
|
|
32
|
+
|
|
33
|
+
store.getState().add()
|
|
34
|
+
assert.equal(store.getState().bears, 1)
|
|
35
|
+
assert.equal(store.getInitialState().bears, 0)
|
|
36
|
+
|
|
37
|
+
let observed = -1
|
|
38
|
+
const unsubscribe = store.subscribe((state) => {
|
|
39
|
+
observed = state.bears
|
|
40
|
+
})
|
|
41
|
+
store.setState({ bears: 3 })
|
|
42
|
+
assert.equal(observed, 3)
|
|
43
|
+
unsubscribe()
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
A vanilla store can be bound to React with `useStore`, but that binding requires a React application/runtime and is not demonstrated in a plain script.
|
|
47
|
+
|
|
48
|
+
## Persistence
|
|
49
|
+
|
|
50
|
+
Wrap a state creator with `persist`. The `name` option is required. The default storage is JSON-wrapped `localStorage`; in non-browser or standalone code, provide a storage explicitly with `createJSONStorage`.
|
|
51
|
+
|
|
52
|
+
In v5, persist does not store the initial state during store creation. If the initial state must be persisted immediately, explicitly call `setState` after creating the store.
|
|
53
|
+
|
|
54
|
+
```ts pmcp-example
|
|
55
|
+
import { strict as assert } from 'node:assert'
|
|
56
|
+
import { createStore } from 'zustand/vanilla'
|
|
57
|
+
import { createJSONStorage, persist } from 'zustand/middleware'
|
|
58
|
+
|
|
59
|
+
const values = new Map<string, string>()
|
|
60
|
+
const storage = createJSONStorage(() => ({
|
|
61
|
+
getItem: (key) => values.get(key) ?? null,
|
|
62
|
+
setItem: (key, value) => { values.set(key, value) },
|
|
63
|
+
removeItem: (key) => { values.delete(key) },
|
|
64
|
+
}))
|
|
65
|
+
|
|
66
|
+
const store = createStore(
|
|
67
|
+
persist(
|
|
68
|
+
(set) => ({ count: 0, increment: () => set((state) => ({ count: state.count + 1 })) }),
|
|
69
|
+
{ name: 'counter', storage },
|
|
70
|
+
),
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
assert.equal(values.has('counter'), false)
|
|
74
|
+
store.getState().increment()
|
|
75
|
+
assert.equal(store.getState().count, 1)
|
|
76
|
+
assert.equal(values.has('counter'), true)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
`persist` modifies the state creator's wrapped `set` and `get`. Do not assume that middleware changes every separately exposed vanilla `getState` or `setState` behavior in the same way.
|
|
80
|
+
|
|
81
|
+
## Redux middleware
|
|
82
|
+
|
|
83
|
+
`redux(reducer, initialState)` adds `dispatch` to the state. Actions must have a string `type`. The reducer returns the next state value.
|
|
84
|
+
|
|
85
|
+
```ts pmcp-example
|
|
86
|
+
import { strict as assert } from 'node:assert'
|
|
87
|
+
import { createStore } from 'zustand/vanilla'
|
|
88
|
+
import { redux } from 'zustand/middleware'
|
|
89
|
+
|
|
90
|
+
const store = createStore(
|
|
91
|
+
redux(
|
|
92
|
+
(state: { count: number }, action: { type: string }) =>
|
|
93
|
+
action.type === 'inc' ? { count: state.count + 1 } : state,
|
|
94
|
+
{ count: 0 },
|
|
95
|
+
),
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
store.getState().dispatch({ type: 'inc' })
|
|
99
|
+
assert.equal(store.getState().count, 1)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## v5 migration traps
|
|
103
|
+
|
|
104
|
+
### Do not use the v4 equality-function shape with `create`
|
|
105
|
+
|
|
106
|
+
In v5, `create` does not accept a custom equality function as a second hook argument. For equality-function usage, use `createWithEqualityFn` from `zustand/traditional` and install the `use-sync-external-store` peer dependency. Alternatively use `useShallow` from `zustand/shallow`.
|
|
107
|
+
|
|
108
|
+
### Keep selector results stable
|
|
109
|
+
|
|
110
|
+
Selectors that create a new array or object on every call can cause infinite loops in v5. Use `useShallow` for shallowly compared compound selections, or return stable values. Avoid a fresh fallback such as `state.action ?? (() => {})`; define a stable fallback instead.
|
|
111
|
+
|
|
112
|
+
### Replacement updates require complete state
|
|
113
|
+
|
|
114
|
+
`setState(value, true)` replaces the entire state rather than merging it. The replacement must contain every required state field. For partial updates, omit the second argument or use the default merge behavior.
|
|
115
|
+
|
|
116
|
+
### Other v5 compatibility changes
|
|
117
|
+
|
|
118
|
+
- React 18 is the minimum React version documented for v5.
|
|
119
|
+
- TypeScript 4.5 is the minimum documented version.
|
|
120
|
+
- `use-sync-external-store` is a peer dependency for `zustand/traditional`.
|
|
121
|
+
- UMD/SystemJS and ES5 support were dropped.
|
|
122
|
+
- `createContext` was removed from `zustand/context`.
|
|
123
|
+
- Persist behavior changed: initial state is not automatically stored during store creation.
|
|
124
|
+
- Default exports and deprecated features were dropped.
|
|
125
|
+
|
|
126
|
+
## What this skill does not cover
|
|
127
|
+
|
|
128
|
+
This skill does not cover React component rendering, because the React-bound `zustand` entry point cannot run in the standalone example environment without React. It also does not cover framework integration, hydration, a runnable `traditional` example, detailed options for every middleware, Redux DevTools setup, or browser-specific storage behavior. `devtools` additionally requires the Redux DevTools Chrome extension. Those areas require runtime or configuration context not covered by the supplied research.
|