Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ and native helpers. To use the prebuilt plugin, see the [README](README.md#insta

The repository is an npm workspace. Host-independent code lives in `packages/`; each
product that ships it lives in `apps/`. Adding a host means adding an app; the shared
packages know no host by name.
packages know no host by name. Hosts that load a plugin folder with the shared server
(Claude, Cursor) need only an app with a manifest, an icon and a `plugin-host.json`
describing it: [`tooling/plugin-hosts.mjs`](tooling/plugin-hosts.mjs) finds those apps,
and `tooling/package-plugin.mjs`, `smoke-plugin.mjs` and `plugin-config.mjs` take the
host as an argument.

| Path | Contents |
| --- | --- |
Expand Down
11 changes: 11 additions & 0 deletions apps/claude/plugin-host.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"label": "Claude",
"manifest": ".claude-plugin",
"root": "CLAUDE_PLUGIN_ROOT",
"desktopBundle": "manifest.json",
"config": {
"file": "claude-desktop-config.json",
"server": {},
"target": "Claude Desktop Settings > Developer > Edit Config, then fully restart Claude"
}
}
18 changes: 0 additions & 18 deletions apps/claude/tooling/config.mjs

This file was deleted.

39 changes: 0 additions & 39 deletions apps/claude/tooling/package.mjs

This file was deleted.

106 changes: 0 additions & 106 deletions apps/claude/tooling/smoke.mjs

This file was deleted.

4 changes: 2 additions & 2 deletions apps/codex-plugin/tooling/package.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { resolve } from "node:path";
import { telemetryBuildEnvironment } from "../../../tooling/telemetry-build.mjs";
import { pluginMarketplace } from "./plugin-marketplace.mjs";
import { buildCodexHost } from "./build.mjs";
import { assertRuntime, releaseVersion, stageRuntime } from "../../../tooling/host-runtime.mjs";
import { assertRuntime, RELEASE_DOCUMENTS, releaseVersion, stageRuntime } from "../../../tooling/host-runtime.mjs";

const telemetryEnvironment = telemetryBuildEnvironment();
await assertRuntime(telemetryEnvironment);
Expand All @@ -17,7 +17,7 @@ const plugin = `${marketplace}/plugins/${manifest.name}`;
await rm(plugin, { recursive: true, force: true });
await mkdir(plugin, { recursive: true });
await copyFile(`${source}/.mcp.json`, `${plugin}/.mcp.json`);
for (const path of ["README.md", "LICENSE", "THIRD_PARTY_NOTICES.md", "PRIVACY.md", "TERMS.md", "SUPPORT.md"]) await copyFile(path, `${plugin}/${path}`);
for (const path of RELEASE_DOCUMENTS) await copyFile(path, `${plugin}/${path}`);
await stageRuntime(`${plugin}/dist`);
await buildCodexHost(telemetryEnvironment, `${plugin}/dist`);
for (const path of [".codex-plugin", "assets"]) await cp(`${source}/${path}`, `${plugin}/${path}`, { recursive: true, verbatimSymlinks: true });
Expand Down
10 changes: 10 additions & 0 deletions apps/cursor/plugin-host.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"label": "Cursor",
"manifest": ".cursor-plugin",
"root": "CURSOR_PLUGIN_ROOT",
"config": {
"file": "cursor-mcp.json",
"server": { "type": "stdio" },
"target": "~/.cursor/mcp.json, then reload Cursor"
}
}
18 changes: 0 additions & 18 deletions apps/cursor/tooling/config.mjs

This file was deleted.

21 changes: 0 additions & 21 deletions apps/cursor/tooling/package.mjs

This file was deleted.

67 changes: 0 additions & 67 deletions apps/cursor/tooling/smoke.mjs

This file was deleted.

12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@
"test:ios-cpu": "node tooling/smoke-ios-cpu.mjs",
"package": "node apps/codex-plugin/tooling/package.mjs",
"package:release": "node apps/codex-plugin/tooling/package.mjs --release",
"claude:config": "node apps/claude/tooling/config.mjs",
"package:claude": "node apps/claude/tooling/package.mjs",
"test:claude": "node apps/claude/tooling/smoke.mjs",
"cursor:config": "node apps/cursor/tooling/config.mjs",
"package:cursor": "node apps/cursor/tooling/package.mjs",
"test:cursor": "node apps/cursor/tooling/smoke.mjs",
"claude:config": "node tooling/plugin-config.mjs claude",
"package:claude": "node tooling/package-plugin.mjs claude",
"test:claude": "node tooling/smoke-plugin.mjs claude",
"cursor:config": "node tooling/plugin-config.mjs cursor",
"package:cursor": "node tooling/package-plugin.mjs cursor",
"test:cursor": "node tooling/smoke-plugin.mjs cursor",
"vendor:serve-emu": "node tooling/vendor-serve-emu.mjs",
"dev": "node apps/codex-plugin/tooling/dev-ui.mjs",
"dev:off": "node apps/codex-plugin/tooling/dev-ui.mjs --off",
Expand Down
Loading
Loading