mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-10-28 07:37:36 +09:00
This PR expands Webstudio MCP and CLI into a more complete agent authoring interface. Agents can discover project capabilities, edit real Webstudio content, use data/resources, verify visual output, and report useful issues when workflows fail. ## MCP User Capabilities - Create, update, duplicate, reorder, and delete pages. - Create pages from templates and manage reusable page templates. - Inspect project pages, instances, props, styles, assets, variables, resources, and metadata. - Insert Webstudio components and authored JSX fragments into pages. - Edit text, props, styles, breakpoints, design tokens, and CSS variables. - Update page metadata, SEO fields, redirects, marketplace metadata, and project settings. - Create and use static data variables. - Create and use dynamic resources fetched over HTTP. - Use REST, GraphQL, and built-in system resources in authored pages. - Bind data variables and resources to visible page content. - Create resource-backed pages such as sitemap XML, structured SEO data, and API-driven content sections. - Preview current project state without requiring a publish step. - Capture screenshots for visual verification. - Verify responsive designs across desktop, tablet, and mobile breakpoints. - Use screenshot diff and OCR-style checks to inspect rendered output. - Reset and refresh local MCP project state when needed. - Discover available CLI/MCP commands from generated manuals. - Use clearer examples for resources, data variables, JSX authoring, previewing, and visual checks. - Read marketplace product metadata without requiring a full project snapshot. - Get safer guidance when using low-level patch tools. - Get a ready-to-copy Discord report template when MCP/CLI behavior is confusing or broken.
31 lines
770 B
TypeScript
31 lines
770 B
TypeScript
import type { PresetStyle, WsComponentMeta } from "@webstudio-is/sdk";
|
|
import { a } from "@webstudio-is/sdk/normalize.css";
|
|
import type { defaultTag } from "./link";
|
|
import { props } from "./__generated__/link.props";
|
|
|
|
const presetStyle = {
|
|
a: [
|
|
...a,
|
|
{
|
|
property: "display",
|
|
value: { type: "keyword", value: "inline-block" },
|
|
},
|
|
],
|
|
} satisfies PresetStyle<typeof defaultTag>;
|
|
|
|
export const meta: WsComponentMeta = {
|
|
deprecated: true,
|
|
presetStyle,
|
|
states: [{ label: "Current page", selector: "[aria-current=page]" }],
|
|
initialProps: ["id", "class", "href", "target", "prefetch", "download"],
|
|
props: {
|
|
...props,
|
|
href: {
|
|
type: "string",
|
|
control: "url",
|
|
required: false,
|
|
contentMode: true,
|
|
},
|
|
},
|
|
};
|