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
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ai-plugin-marketplace",
"name": "my-ai-plugins",
"owner": {
"name": "AI Plugin Marketplace Template"
"name": "Your Name"
},
"metadata": {
"description": "Universal AI Plugin Marketplace — author once, distribute to all platforms"
Expand Down
4 changes: 2 additions & 2 deletions .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ai-plugin-marketplace",
"name": "my-ai-plugins",
"owner": {
"name": "AI Plugin Marketplace Template"
"name": "Your Name"
},
"metadata": {
"description": "Universal AI Plugin Marketplace — author once, distribute to all platforms"
Expand Down
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ the published versions.

## Workflow

0. **One-time, right after forking: rename the marketplace.** In `aipm.workspace.ts`,
set `marketplace.name` (and `owner`) from the placeholder `my-ai-plugins` to a
**unique** name — convention `"<your-handle>-ai-plugins"`. The `name` is the identifier
hosts register your marketplace under; leaving a default risks colliding with another
marketplace (e.g. the upstream `ai-plugin-marketplace`), which strands plugins. `aipm
validate` emits a warning until you change it.
Comment on lines +22 to +23
1. Add or edit a plugin under `plugins/<name>/`. Use `aipm scaffold <name>` to
create a new one or `aipm add-target <plugin> <target>` to expand an
existing plugin's support envelope.
Expand Down
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@ pnpm install
The `@ai-plugin-marketplace/*` packages are published to npm, so a fresh
`pnpm install` resolves them directly. See [CONTRIBUTING.md](CONTRIBUTING.md).

> [!IMPORTANT]
> **Rename your marketplace first.** Open `aipm.workspace.ts` and change
> `marketplace.name` (and `owner`) from the placeholder `my-ai-plugins` to a
> **unique** name — convention `"<your-handle>-ai-plugins"`, e.g. `mnorth-ai-plugins`.
Comment on lines +28 to +31
> The `name` is what hosts register your marketplace under; if it collides with another
> marketplace (such as the upstream `ai-plugin-marketplace`), the second one installed
> shadows or strands the first's plugins. `aipm validate` warns while the name is still a
> default. (Scaffolding from scratch with `aipm init --name <name>` sets this for you.)

## Authoring plugins

### Add a new plugin
Expand Down
9 changes: 7 additions & 2 deletions aipm.workspace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,13 @@ import { defineWorkspace } from '@ai-plugin-marketplace/core';
*/
export default defineWorkspace({
marketplace: {
name: 'ai-plugin-marketplace',
owner: { name: 'AI Plugin Marketplace Template' },
// ⚠️ RENAME THIS before you publish. The marketplace `name` is the identifier hosts register
// your marketplace under, so it must be UNIQUE — if two repos share a name, the second one
// installed shadows/strands the first's plugins. Do NOT leave the placeholder. Convention:
// "<your-handle>-ai-plugins" (e.g. "mnorth-ai-plugins"). `aipm validate` warns while this is
// still a default.
name: 'my-ai-plugins',
owner: { name: 'Your Name' },
description: 'Universal AI Plugin Marketplace — author once, distribute to all platforms',
},
});
Loading