Files
reverse-engineering-anything/scripts/lib/cursor-plugin-bundle.d.mts
T
a54e848302 feat(cursor): ship a Marketplace plugin with the skill and pinned MCP server (#9878)
Cursor Marketplace installs are Git checkouts, so the plugin manifest
points at a synced copy of the authored skill and starts
npx -y rea-agents@<release> mcp. Release Please and the release
checkpoint keep that pin aligned with the package version.

The manifest, skill, and icon checks follow the local plugin bundle
contract from #7619, adapted for a checkout that has no dist/.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: GamerDubz <105694977+GamerDubz@users.noreply.github.com>
2026-11-11 00:16:44 -05:00

80 lines
2.3 KiB
TypeScript

export const CURSOR_PLUGIN_MANIFEST: ".cursor-plugin/plugin.json";
export const CURSOR_PLUGIN_MCP: "mcp.json";
export const AUTHORED_SKILL_DIRECTORY: ".agents/skills/reverse-engineer-anything";
export const CURSOR_PLUGIN_SKILLS: ".cursor-plugin/skills";
export const CURSOR_PLUGIN_SKILL: "reverse-engineer-anything";
export const CURSOR_PLUGIN_LOGO: "assets/rea-plugin.png";
export const CURSOR_PLUGIN_REPOSITORY: "https://github.com/morluto/rea";
export interface CursorPluginBundleIssue {
readonly field: string;
}
export interface CursorPluginBundleInput {
readonly manifest: {
readonly name?: string;
readonly version?: string;
readonly description?: string;
readonly author?: { readonly name?: string };
readonly repository?: string;
readonly license?: string;
readonly keywords?: readonly string[];
readonly skills?: string;
readonly logo?: string;
readonly mcpServers?: unknown;
};
readonly mcp: {
readonly mcpServers?: {
readonly rea?: {
readonly command?: string;
readonly args?: readonly string[];
};
};
};
readonly packageVersion: string;
readonly logoExists: boolean;
readonly skillNames: readonly string[];
readonly skillFrontmatter: {
readonly name?: string;
readonly description?: string;
} | null;
}
export interface CursorPluginInspection {
readonly manifest: CursorPluginBundleInput["manifest"] & {
readonly version: string;
};
readonly mcp: {
readonly mcpServers: {
readonly rea: {
readonly command: string;
readonly args: readonly string[];
};
};
};
readonly packageVersion: string;
readonly issues: readonly CursorPluginBundleIssue[];
}
export function cursorPluginSkillPaths(
directory: string,
prefix?: string,
): Promise<readonly string[] | null>;
export function cursorPluginBundleIssues(
input: CursorPluginBundleInput,
): readonly CursorPluginBundleIssue[];
export function syncCursorPluginSkill(options: {
readonly root: string;
readonly check: boolean;
}): Promise<void>;
export function inspectCursorPluginBundle(
root: string,
): Promise<CursorPluginInspection>;
export function cursorMarketplaceInstallLinkIssues(
documents: readonly { readonly path: string; readonly text: string }[],
): readonly { readonly path: string; readonly marker: string }[];