ai-setup 3 min read

cursor/plugins: the Cursor plugin specification

Cursor's plugin specification and its official plugins, written in TypeScript. 9,327 stars, 883 forks, and no license file on the repository.

By
Share: X in
GitHub social preview card for cursor/plugins

TL;DR: cursor/plugins holds the plugin specification for Cursor and the official plugins that ship against it. At 9,327 stars it is the reference most people building for that editor end up reading. One detail deserves attention before you copy anything: the repository publishes no license.

What it is

The description reads “Cursor plugin specification and official plugins.” That is two things in one repository, and the split matters.

A specification is a contract. It tells you what a plugin looks like, what a manifest contains, and what the editor will and will not do with it. Official plugins are the reference implementations of that contract, written by the same team that writes the editor. Shipping both in one place means the spec cannot drift from the code that obeys it.

That is a deliberate choice and a good one. Specs rot quickly when they live in documentation while the implementations live in a product team.

What the repository does not say

GitHub’s API returns null for the license field on this repository. There is no SPDX identifier, which means no OSI license file was detected at the root.

This is worth stating plainly rather than glossing over. Reading a specification is not the same as copying code, and a missing license does not make casual reading illegal. But if you intend to vendor one of the official plugins into your own setup, you have no grant from the repository itself to point at. Treat anything you take from here as needing your own legal read, or write your own against the spec.

The safe default for most people is to read the specification, implement what you need yourself, and use the official plugins as a reference for what correct output looks like.

The numbers

FieldValue
Stars9,327
Forks883
LanguageTypeScript
LicenseNone published
Created2026-01-23
Last push2026-10-01
Size on disk10 MB

A fork ratio of about nine to one is high for a spec repository and moderate for a plugin repository. People who fork this are most likely starting their own plugin rather than contributing upstream, which is the intended behaviour for an extension point.

TypeScript as the primary language is the expected choice for a plugin system that has to load inside an editor built on an Electron and web stack.

Cloning is the ordinary thing:

git clone https://github.com/cursor/plugins

At 10 MB you can read the spec and skim the implementations without spending much time.

When to look

It fits if you build tooling that has to slot into Cursor, or if you are designing your own editor extension system and want to see how a vendor handles manifest structure and loading.

It does not fit as a general agent plugin standard. Cursor’s format is specific to that editor, and portability across other harnesses is not something this repository promises.

Check the license before you ship. That is the one piece of due diligence this project leaves entirely to you.

Source and Accuracy Notes

  • Project page: https://github.com/cursor/plugins
  • Source repository: cursor/plugins (verified via GitHub API html_url)
  • License: none published, GitHub API returned null for license.spdx_id
  • Stars at time of writing: 9,327
  • Counts, language, and dates were read from the GitHub REST API. Plugin manifest fields, loading behaviour, and the contents of the official plugins were not independently verified against the README or specification text.