diff --git a/package.json b/package.json index 04e4670657..308161a495 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,8 @@ "connected-next-router/react-redux": "8.0.7", "react-beautiful-dnd/react-redux": "8.0.7", "express": "4.20.0", - "@prismicio/types-internal": "3.11.2" + "@prismicio/types-internal": "3.11.2", + "defu": "^6.1.5" }, "workspaces": [ "playwright", diff --git a/packages/adapter-next/src/hooks/slice-create.ts b/packages/adapter-next/src/hooks/slice-create.ts index 4d894a1bc0..9897e21434 100644 --- a/packages/adapter-next/src/hooks/slice-create.ts +++ b/packages/adapter-next/src/hooks/slice-create.ts @@ -44,8 +44,8 @@ const createComponentFile = async ({
You can edit this slice directly in your code editor. {/** - * 💡 Use the Prismic MCP server with your code editor - * 📚 Docs: https://prismic.io/docs/ai#code-with-prismics-mcp-server + * 💡 Use your own AI agent with the Prismic CLI + * 📚 Docs: https://prismic.io/docs/ai#create-slices */}`; if (data.componentContents) { diff --git a/packages/adapter-nuxt/src/hooks/slice-create.ts b/packages/adapter-nuxt/src/hooks/slice-create.ts index 3b18bead89..6e74bf1db3 100644 --- a/packages/adapter-nuxt/src/hooks/slice-create.ts +++ b/packages/adapter-nuxt/src/hooks/slice-create.ts @@ -40,8 +40,8 @@ const createComponentFile = async ({
You can edit this slice directly in your code editor. `; if (data.componentContents) { diff --git a/packages/adapter-nuxt2/src/hooks/slice-create.ts b/packages/adapter-nuxt2/src/hooks/slice-create.ts index 615029fff6..04848f82e1 100644 --- a/packages/adapter-nuxt2/src/hooks/slice-create.ts +++ b/packages/adapter-nuxt2/src/hooks/slice-create.ts @@ -37,8 +37,8 @@ const createComponentFile = async ({
You can edit this slice directly in your code editor. diff --git a/packages/adapter-sveltekit/src/hooks/slice-create.templates.ts b/packages/adapter-sveltekit/src/hooks/slice-create.templates.ts index 56f8487eb9..6e038467e9 100644 --- a/packages/adapter-sveltekit/src/hooks/slice-create.templates.ts +++ b/packages/adapter-sveltekit/src/hooks/slice-create.templates.ts @@ -8,8 +8,8 @@ Placeholder component for {slice.slice_type} (variation: {slice.variation}) slic
You can edit this slice directly in your code editor. `; diff --git a/packages/adapter-sveltekit/test/__snapshots__/plugin-slice-create.test.ts.snap b/packages/adapter-sveltekit/test/__snapshots__/plugin-slice-create.test.ts.snap index 831be45370..2f8061e79a 100644 --- a/packages/adapter-sveltekit/test/__snapshots__/plugin-slice-create.test.ts.snap +++ b/packages/adapter-sveltekit/test/__snapshots__/plugin-slice-create.test.ts.snap @@ -15,8 +15,8 @@ exports[`Svelte <=4 syntax > component file has correct contents 1`] = `
You can edit this slice directly in your code editor. " @@ -38,8 +38,8 @@ exports[`Svelte <=4 syntax > component file is correctly typed when TypeScript i
You can edit this slice directly in your code editor. " @@ -63,8 +63,8 @@ exports[`component file has correct contents 1`] = `
You can edit this slice directly in your code editor. " @@ -89,8 +89,8 @@ exports[`component file is correctly typed when TypeScript is enabled 1`] = `
You can edit this slice directly in your code editor. " diff --git a/packages/manager/src/managers/telemetry/types.ts b/packages/manager/src/managers/telemetry/types.ts index 339a0577b4..6f35ce6ad5 100644 --- a/packages/manager/src/managers/telemetry/types.ts +++ b/packages/manager/src/managers/telemetry/types.ts @@ -52,7 +52,7 @@ export const SegmentEventType = { "slice-generation:plugin-installation-clicked", navigation_documentationLinkClicked: "navigation:documentation-link-clicked", sidebar_link_clicked: "sidebar:link-clicked", - mcp_promo_link_clicked: "mcp:promo-link-clicked", + ai_promo_link_clicked: "ai:promo-link-clicked", info_banner_dismissed: "info-banner:dismissed", info_banner_button_clicked: "info-banner:button-clicked", slice_library_opened: "slice-library:opened", @@ -129,7 +129,7 @@ export const HumanSegmentEventType = { [SegmentEventType.navigation_documentationLinkClicked]: "SliceMachine Documentation Link Clicked", [SegmentEventType.sidebar_link_clicked]: "Sidebar Link Clicked", - [SegmentEventType.mcp_promo_link_clicked]: "MCP Promo Link Clicked", + [SegmentEventType.ai_promo_link_clicked]: "AI Promo Link Clicked", [SegmentEventType.info_banner_dismissed]: "SliceMachine Info Banner Dismissed", [SegmentEventType.info_banner_button_clicked]: @@ -506,8 +506,8 @@ type SidebarLinkClicked = SegmentEvent< } >; -type McpPromoLinkClicked = SegmentEvent< - typeof SegmentEventType.mcp_promo_link_clicked, +type AiPromoLinkClicked = SegmentEvent< + typeof SegmentEventType.ai_promo_link_clicked, { source: string; target: string; @@ -629,7 +629,7 @@ export type SegmentEvents = | SliceGenerationPluginInstallationClicked | NavigationDocumentationLinkClicked | SidebarLinkClicked - | McpPromoLinkClicked + | AiPromoLinkClicked | InfoBannerDismissed | InfoBannerButtonClicked | SliceLibraryOpened diff --git a/packages/plugin-kit/package.json b/packages/plugin-kit/package.json index aca043b900..6b27c095b6 100644 --- a/packages/plugin-kit/package.json +++ b/packages/plugin-kit/package.json @@ -64,7 +64,7 @@ "dependencies": { "@prismicio/client": "7.17.0", "common-tags": "^1.8.2", - "defu": "^6.1.2", + "defu": "^6.1.5", "dotenv": "16.3.1", "fp-ts": "^2.13.1", "fs-extra": "11.1.1", diff --git a/packages/slice-machine/src/features/navigation/Navigation.tsx b/packages/slice-machine/src/features/navigation/Navigation.tsx index a73dc17ed6..e1cc4de361 100644 --- a/packages/slice-machine/src/features/navigation/Navigation.tsx +++ b/packages/slice-machine/src/features/navigation/Navigation.tsx @@ -114,16 +114,16 @@ export function Navigation() { /> } - tooltip="Connect Prismic MCP to your editor (like Cursor) for AI-powered coding." + tooltip="Learn how to use Prismic with AI for modeling and coding slices." onClick={() => { void telemetry.track({ event: "sidebar:link-clicked", - link_name: "prismic_mcp", + link_name: "prismic_ai", source: "slice_machine_sidebar", }); }} diff --git a/packages/slice-machine/src/features/slices/sliceBuilder/McpPromoLink.tsx b/packages/slice-machine/src/features/slices/sliceBuilder/AIPromoLink.tsx similarity index 61% rename from packages/slice-machine/src/features/slices/sliceBuilder/McpPromoLink.tsx rename to packages/slice-machine/src/features/slices/sliceBuilder/AIPromoLink.tsx index d9b6fe7235..4a843224d9 100644 --- a/packages/slice-machine/src/features/slices/sliceBuilder/McpPromoLink.tsx +++ b/packages/slice-machine/src/features/slices/sliceBuilder/AIPromoLink.tsx @@ -2,7 +2,7 @@ import { Button } from "@prismicio/editor-ui"; import { telemetry } from "@/apiClient"; -export const McpPromoLink = () => { +export const AIPromoLink = () => { return ( ); diff --git a/packages/slice-machine/src/legacy/lib/builders/SliceBuilder/index.tsx b/packages/slice-machine/src/legacy/lib/builders/SliceBuilder/index.tsx index 0ef88d8d48..c1c4b2ce39 100644 --- a/packages/slice-machine/src/legacy/lib/builders/SliceBuilder/index.tsx +++ b/packages/slice-machine/src/legacy/lib/builders/SliceBuilder/index.tsx @@ -3,8 +3,8 @@ import { type FC } from "react"; import { BreadcrumbItem } from "@/components/Breadcrumb"; import { AutoSaveStatusIndicator } from "@/features/autoSave/AutoSaveStatusIndicator"; +import { AIPromoLink } from "@/features/slices/sliceBuilder/AIPromoLink"; import { FloatingBackButton } from "@/features/slices/sliceBuilder/FloatingBackButton"; -import { McpPromoLink } from "@/features/slices/sliceBuilder/McpPromoLink"; import { useSliceState } from "@/features/slices/sliceBuilder/SliceBuilderProvider"; import { AppLayout, @@ -36,7 +36,7 @@ export const SliceBuilder: FC = () => { {slice.model.name} - + diff --git a/playwright/pages/components/Menu.ts b/playwright/pages/components/Menu.ts index 5c34291740..943583a0d6 100644 --- a/playwright/pages/components/Menu.ts +++ b/playwright/pages/components/Menu.ts @@ -12,7 +12,7 @@ export class Menu { readonly slicesLink: Locator; readonly changesLink: Locator; readonly documentationLink: Locator; - readonly prismicMcpLink: Locator; + readonly prismicAiLink: Locator; readonly changelogLink: Locator; readonly appVersion: Locator; readonly updatesAvailableTitle: Locator; @@ -59,8 +59,8 @@ export class Menu { exact: true, }); - this.prismicMcpLink = this.menu.getByRole("link", { - name: "Prismic MCP", + this.prismicAiLink = this.menu.getByRole("link", { + name: "Prismic with AI", }); this.changelogLink = this.menu.getByRole("link", { name: "Changelog", diff --git a/playwright/tests/common/navigation.spec.ts b/playwright/tests/common/navigation.spec.ts index b223958c0a..4e0af38831 100644 --- a/playwright/tests/common/navigation.spec.ts +++ b/playwright/tests/common/navigation.spec.ts @@ -136,19 +136,17 @@ test('I can open Prismic documentation by clicking the "Documentation" link', as await expect(newTab).toHaveURL("https://prismic.io/docs/nextjs"); }); -test('I can open Prismic MCP documentation by clicking the "Prismic MCP" link', async ({ +test('I can open Prismic AI documentation by clicking the "Prismic with AI" link', async ({ sliceMachinePage, }) => { await sliceMachinePage.gotoDefaultPage(); - await expect(sliceMachinePage.menu.prismicMcpLink).toBeVisible(); + await expect(sliceMachinePage.menu.prismicAiLink).toBeVisible(); const newTabPromise = sliceMachinePage.page.waitForEvent("popup"); - await sliceMachinePage.menu.prismicMcpLink.click(); + await sliceMachinePage.menu.prismicAiLink.click(); const newTab = await newTabPromise; await newTab.waitForLoadState(); - await expect(newTab).toHaveURL( - "https://prismic.io/docs/ai#code-with-prismics-mcp-server", - ); + await expect(newTab).toHaveURL("https://prismic.io/docs/ai"); }); diff --git a/yarn.lock b/yarn.lock index 57ab0c0beb..e83b718e9d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11072,7 +11072,7 @@ __metadata: "@typescript-eslint/parser": 5.55.0 "@vitest/coverage-v8": 0.32.0 common-tags: ^1.8.2 - defu: ^6.1.2 + defu: ^6.1.5 depcheck: 1.4.3 dotenv: 16.3.1 eslint: 8.37.0 @@ -19196,24 +19196,10 @@ __metadata: languageName: node linkType: hard -"defu@npm:^5.0.0": - version: 5.0.1 - resolution: "defu@npm:5.0.1" - checksum: f65556c2e8aa7789080f04c1d52fd7188d8258d9bc7f673e5bedc6be33eb6150f41844ac96aec99c798e47eb9beb97dae03c24edd73d3ddc643e4c7c72124606 - languageName: node - linkType: hard - -"defu@npm:^6.0.0, defu@npm:^6.1.1, defu@npm:^6.1.2": - version: 6.1.2 - resolution: "defu@npm:6.1.2" - checksum: 2ec0ff8414d5a1ab2b8c7e9a79bbad6d97d23ea7ebf5dcf80c3c7ffd9715c30f84a3cc47b917379ea756b3db0dc4701ce6400e493a1ae1688dffcd0f884233b2 - languageName: node - linkType: hard - -"defu@npm:^6.1.4": - version: 6.1.4 - resolution: "defu@npm:6.1.4" - checksum: 40e3af6338f195ac1564f53d1887fa2d0429ac7e8c081204bc4d29191180059d3952b5f4e08fe5df8d59eb873aa26e9c88b56d4fac699673d4a372c93620b229 +"defu@npm:^6.1.5": + version: 6.1.7 + resolution: "defu@npm:6.1.7" + checksum: aeca3fc4a1e9f5a99c8b2cd3efa478dbbda1b344e3facfbe750e8b10d8ec48ede08560108f58363e9b8b8687d9ccb68faf0ba24833e267a0f1c0518c89fdabfe languageName: node linkType: hard