diff --git a/README.md b/README.md index 4ad75509..28d08c7b 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,13 @@ Each plugin lives under `plugins//` with a required `skills/`, `.app.json`, `.mcp.json`, plugin-level `agents/`, `commands/`, `hooks.json`, `assets/`, and other supporting files. +For app-backed plugins, `.app.json` is also the source of truth for connector +identity. When a plugin is the canonical 1:1 curated plugin for a connector, +set `apps..canonical` to `true`. This allows downstream consumers to +derive a definitive `connector id -> plugin` mapping without assuming every +plugin that references a connector is the official base plugin for that +connector. + Highlighted richer examples in this repo include: - `plugins/figma` for `use_figma`, Code to Canvas, Code Connect, and design system rules diff --git a/plugins/canva/.app.json b/plugins/canva/.app.json index ea17adbe..7c564dc2 100644 --- a/plugins/canva/.app.json +++ b/plugins/canva/.app.json @@ -1,7 +1,8 @@ { "apps": { "canva": { - "id": "connector_68df33b1a2d081918778431a9cfca8ba" + "id": "connector_68df33b1a2d081918778431a9cfca8ba", + "canonical": true } } } diff --git a/plugins/figma/.app.json b/plugins/figma/.app.json index f840d296..1a8f148d 100644 --- a/plugins/figma/.app.json +++ b/plugins/figma/.app.json @@ -1,7 +1,8 @@ { "apps": { "figma": { - "id": "connector_68df038e0ba48191908c8434991bbac2" + "id": "connector_68df038e0ba48191908c8434991bbac2", + "canonical": true } } } diff --git a/plugins/github/.app.json b/plugins/github/.app.json index 8775b97b..826d9c44 100644 --- a/plugins/github/.app.json +++ b/plugins/github/.app.json @@ -1,7 +1,8 @@ { "apps": { "github": { - "id": "connector_76869538009648d5b282a4bb21c3d157" + "id": "connector_76869538009648d5b282a4bb21c3d157", + "canonical": true } } } diff --git a/plugins/gmail/.app.json b/plugins/gmail/.app.json index 6577cb92..5d6b2cbd 100644 --- a/plugins/gmail/.app.json +++ b/plugins/gmail/.app.json @@ -1,7 +1,8 @@ { "apps": { "gmail": { - "id": "connector_2128aebfecb84f64a069897515042a44" + "id": "connector_2128aebfecb84f64a069897515042a44", + "canonical": true } } } diff --git a/plugins/google-calendar/.app.json b/plugins/google-calendar/.app.json index 780924e6..c0bd0b41 100644 --- a/plugins/google-calendar/.app.json +++ b/plugins/google-calendar/.app.json @@ -2,7 +2,8 @@ "apps": { "google-calendar": { - "id": "connector_947e0d954944416db111db556030eea6" + "id": "connector_947e0d954944416db111db556030eea6", + "canonical": true } } } diff --git a/plugins/google-drive/.app.json b/plugins/google-drive/.app.json index 84293ce9..574478aa 100644 --- a/plugins/google-drive/.app.json +++ b/plugins/google-drive/.app.json @@ -1,7 +1,8 @@ { "apps": { "google-drive": { - "id": "connector_5f3c8c41a1e54ad7a76272c89e2554fa" + "id": "connector_5f3c8c41a1e54ad7a76272c89e2554fa", + "canonical": true } } } diff --git a/plugins/jam/.app.json b/plugins/jam/.app.json index 37dfb47d..21a9ff40 100644 --- a/plugins/jam/.app.json +++ b/plugins/jam/.app.json @@ -1,7 +1,8 @@ { "apps": { "jam": { - "id": "connector_6923e677f37c8191845e4e0b658dd718" + "id": "connector_6923e677f37c8191845e4e0b658dd718", + "canonical": true } } } diff --git a/plugins/outlook-calendar/.app.json b/plugins/outlook-calendar/.app.json index aa5fb349..05d6cfec 100644 --- a/plugins/outlook-calendar/.app.json +++ b/plugins/outlook-calendar/.app.json @@ -1,7 +1,8 @@ { "apps": { "outlook-calendar": { - "id": "connector_e6a7394682e24467ac68c60696f275a4" + "id": "connector_e6a7394682e24467ac68c60696f275a4", + "canonical": true } } } diff --git a/plugins/outlook-email/.app.json b/plugins/outlook-email/.app.json index 65686b56..86d6d8ef 100644 --- a/plugins/outlook-email/.app.json +++ b/plugins/outlook-email/.app.json @@ -1,7 +1,8 @@ { "apps": { "outlook-email": { - "id": "connector_4aaab2856305417b993eca9a216aaf6e" + "id": "connector_4aaab2856305417b993eca9a216aaf6e", + "canonical": true } } } diff --git a/plugins/sharepoint/.app.json b/plugins/sharepoint/.app.json index cbd90040..2a253fa0 100644 --- a/plugins/sharepoint/.app.json +++ b/plugins/sharepoint/.app.json @@ -1,7 +1,8 @@ { "apps": { "sharepoint": { - "id": "connector_1e4f6a44acf14e3ca1d96672f8c945bc" + "id": "connector_1e4f6a44acf14e3ca1d96672f8c945bc", + "canonical": true } } } diff --git a/plugins/stripe/.app.json b/plugins/stripe/.app.json index 16ad3cf0..a30aff14 100644 --- a/plugins/stripe/.app.json +++ b/plugins/stripe/.app.json @@ -1,7 +1,8 @@ { "apps": { "stripe": { - "id": "connector_690ab09fa43c8191bca40280e4563238" + "id": "connector_690ab09fa43c8191bca40280e4563238", + "canonical": true } } } diff --git a/plugins/teams/.app.json b/plugins/teams/.app.json index 1466d366..5d3a2b76 100644 --- a/plugins/teams/.app.json +++ b/plugins/teams/.app.json @@ -1,7 +1,8 @@ { "apps": { "teams": { - "id": "connector_246af0940da3457da0e751171dc1ce60" + "id": "connector_246af0940da3457da0e751171dc1ce60", + "canonical": true } } }