diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9295e1d9..d0eb869f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,13 @@ on: branches: [main] pull_request: +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: checks: name: Lint & typecheck diff --git a/README.md b/README.md index 25bd9c7f..47a48c14 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ All content is submitted through the website — no pull requests needed for dat 1. Go to [cursor.directory/plugins/new](https://cursor.directory/plugins/new) 2. Sign in with GitHub or Google -3. Paste a GitHub repo URL — we auto-detect components following the [Open Plugins](https://open-plugins.com) standard +3. Paste a GitHub repo URL — we auto-detect components following the [Open Plugins](https://agent-plugins.org) standard 4. Click **Submit** Auto-detected components: @@ -85,13 +85,16 @@ Auto-detected components: | Component | Path | |-----------|------| | Rules | `rules/*.mdc` | -| MCP Servers | `.mcp.json` | +| MCP Servers | `.mcp.json` or `mcp.json` | | Skills | `skills/*/SKILL.md` | | Agents | `agents/*.md` | +| Commands | `commands/*.md` | | Hooks | `hooks/hooks.json` | | LSP Servers | `.lsp.json` | -See the [Open Plugins specification](https://open-plugins.com/plugin-builders/specification) and [plugin template](https://github.com/cursor/plugin-template) for details. +The manifest is read from `.plugin/plugin.json`, `.cursor-plugin/plugin.json` or `.claude-plugin/plugin.json` (first match wins). For monorepos, the same paths are also scanned inside every directory listed as `plugins[].source` in `.cursor-plugin/marketplace.json` and every directory that contains its own `.cursor-plugin/plugin.json`. + +See the [Open Plugins specification](https://agent-plugins.org/specification) and [plugin template](https://github.com/cursor/plugin-template) for details. --- @@ -104,7 +107,7 @@ See the [Open Plugins specification](https://open-plugins.com/plugin-builders/sp - **Styling**: [Tailwind CSS](https://tailwindcss.com) - **UI**: [Radix UI](https://radix-ui.com) + [shadcn/ui](https://ui.shadcn.com) - **Search**: [Fuse.js](https://fusejs.io) (client-side fuzzy search) -- **URL State**: [nuqs](https://nuqs.47ng.com) +- **URL State**: [nuqs](https://nuqs.dev) - **Linting**: [Biome](https://biomejs.dev) ## Plugin security scan diff --git a/apps/cursor/package.json b/apps/cursor/package.json index 811e9f34..2526576d 100644 --- a/apps/cursor/package.json +++ b/apps/cursor/package.json @@ -6,7 +6,7 @@ "dev": "next dev --turbopack", "build": "next build", "start": "next start", - "lint": "next lint", + "lint": "biome check .", "typecheck": "tsc --noEmit", "seed:extract": "bun run --env-file=.env src/scripts/extract-from-github.ts", "seed:insert": "bun run --env-file=.env src/scripts/insert-from-jsonl.ts" @@ -54,7 +54,7 @@ "zod": "^4.4.3" }, "devDependencies": { - "@biomejs/biome": "2.4.14", + "@biomejs/biome": "2.4.15", "@tailwindcss/postcss": "^4.2.4", "@types/node": "^25.6.0", "@types/react": "^19", diff --git a/apps/cursor/src/app/plugins/new/page.tsx b/apps/cursor/src/app/plugins/new/page.tsx index 116690e0..a51b2ca9 100644 --- a/apps/cursor/src/app/plugins/new/page.tsx +++ b/apps/cursor/src/app/plugins/new/page.tsx @@ -46,7 +46,7 @@ export default function Page() {
We follow the{" "}