diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 46d9ef5..c07dddd 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -7,6 +7,7 @@ "plugins": [ { "name": "mainframe", + "displayName": "Mainframe", "source": "./", "description": "Create and share short video updates from agent work." } diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 630bb5b..36d75c9 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -10,6 +10,7 @@ "repository": "https://github.com/mainframecomputer/mainframe-plugins.git", "license": "UNLICENSED", "keywords": ["mainframe", "agent-skills", "mcp", "hooks", "video"], + "displayName": "Mainframe", "skills": "./skills", "mcpServers": "./.mcp.json", "hooks": "./hooks/claude/hooks.json" diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 040b345..04dacaf 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -16,7 +16,7 @@ "interface": { "displayName": "Mainframe", "shortDescription": "Create and share short video updates from agent work.", - "longDescription": "Watch what your agents did instead of reading through all of it. Each task wraps up with a short narrated video in your own voice and company branding, so you stay up to date at a glance and can share it with your team.", + "longDescription": "Turn agent work into videos your team can keep up with. Agents can generate a short video or upload one they recorded themselves, narrated in your voice and styled with your brand. Every video becomes a link your team can watch.", "developerName": "Mainframe", "category": "Productivity", "logo": "./assets/logo.png" diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index 2e85ad6..3ba67ae 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -10,6 +10,7 @@ "repository": "https://github.com/mainframecomputer/mainframe-plugins.git", "license": "UNLICENSED", "keywords": ["mainframe", "agent-skills", "mcp", "hooks", "video"], + "displayName": "Mainframe", "logo": "assets/logo.png", "skills": "./skills", "mcpServers": "./.mcp.json", diff --git a/tooling/generate.ts b/tooling/generate.ts index 7a35d7b..5af20ba 100644 --- a/tooling/generate.ts +++ b/tooling/generate.ts @@ -38,7 +38,7 @@ const metadata = MetadataSchema.parse({ version: "0.1.0", description: "Create and share short video updates from agent work.", longDescription: - "Watch what your agents did instead of reading through all of it. Each task wraps up with a short narrated video in your own voice and company branding, so you stay up to date at a glance and can share it with your team.", + "Turn agent work into videos your team can keep up with. Agents can generate a short video or upload one they recorded themselves, narrated in your voice and styled with your brand. Every video becomes a link your team can watch.", category: "Productivity", author: { name: "Mainframe", @@ -67,6 +67,7 @@ const sharedManifest = { function main(): void { writeJson(".cursor-plugin/plugin.json", { ...sharedManifest, + displayName: metadata.displayName, logo: metadata.logo, skills: metadata.skillDirectory, mcpServers: metadata.mcpServers, @@ -147,6 +148,7 @@ function codexMarketplace() { function claudeManifest() { return { ...sharedManifest, + displayName: metadata.displayName, skills: metadata.skillDirectory, mcpServers: metadata.mcpServers, hooks: CLAUDE_HOOKS, @@ -164,6 +166,7 @@ function claudeMarketplace() { plugins: [ { name: metadata.name, + displayName: metadata.displayName, source: "./", description: metadata.description, }, diff --git a/tooling/manifest.test.ts b/tooling/manifest.test.ts index 799f5fd..b5eccdf 100644 --- a/tooling/manifest.test.ts +++ b/tooling/manifest.test.ts @@ -15,7 +15,7 @@ const RepositorySchema = z.literal("https://github.com/mainframecomputer/mainfra const DescriptionSchema = z.literal("Create and share short video updates from agent work."); const LongDescriptionSchema = z.literal( - "Watch what your agents did instead of reading through all of it. Each task wraps up with a short narrated video in your own voice and company branding, so you stay up to date at a glance and can share it with your team.", + "Turn agent work into videos your team can keep up with. Agents can generate a short video or upload one they recorded themselves, narrated in your voice and styled with your brand. Every video becomes a link your team can watch.", ); const KeywordsSchema = z.tuple([ @@ -40,6 +40,7 @@ const SharedManifestSchema = z.object({ }); const CursorManifestSchema = SharedManifestSchema.extend({ + displayName: z.literal("Mainframe"), logo: z.literal("assets/logo.png"), hooks: z.literal("./hooks/cursor/hooks.json"), }).strict(); @@ -59,6 +60,7 @@ const CodexManifestSchema = SharedManifestSchema.extend({ }).strict(); const ClaudeManifestSchema = SharedManifestSchema.extend({ + displayName: z.literal("Mainframe"), hooks: z.literal("./hooks/claude/hooks.json"), }).strict(); @@ -156,6 +158,7 @@ describe("generated plugin manifests", () => { z .object({ name: z.literal("mainframe"), + displayName: z.literal("Mainframe"), source: z.literal("./"), description: DescriptionSchema, })