mcpField
W
web-artifacts-builder

web-artifacts-builder

github.com/snyk设计与 UI3.2k88 次安装2 天前更新
代码仓库

关于 web-artifacts-builder

Web Artifacts Builder 是用于构建 claude.ai 前端 artifacts 的技能,适合需要生成可分享单页 HTML 的开发流程。它提供 React 与 TypeScript 项目初始化,并将代码打包为内嵌资源的单个 HTML 文件。

主要功能

  1. 01初始化 React 与 TypeScript 项目
  2. 02预装 shadcn/ui 组件
  3. 03配置 Parcel 打包
  4. 04生成内嵌资源的单页 HTML
  5. 05提供视觉设计规范

适用场景

  1. 01构建可在 claude.ai 对话中分享的 artifact
  2. 02将 React 前端项目打包成单个 HTML 文件
  3. 03为生成的 artifact 选择性进行测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/snyk/agent-scan --skill web-artifacts-builder

安装后在 Claude Code 中输入/web-artifacts-builder确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
scripts/
bundle-artifact.sh
init-artifact.sh

详细介绍

Web Artifacts 构建器

按照以下步骤构建强大的前端 claude.ai artifacts:

  1. 使用 scripts/init-artifact.sh 初始化前端仓库
  2. 编辑生成的代码,开发你的 artifact
  3. 使用 scripts/bundle-artifact.sh 将所有代码打包到一个 HTML 文件中
  4. 向用户展示 artifact
  5. (可选)测试 artifact

技术栈:React 18 + TypeScript + Vite + Parcel(打包)+ Tailwind CSS + shadcn/ui

设计与风格指南

非常重要:为避免出现通常所说的“AI 垃圾风格”,请避免过多使用居中布局、紫色渐变、统一的圆角和 Inter 字体。

快速开始

步骤 1:初始化项目

运行初始化脚本,创建一个新的 React 项目:

bash scripts/init-artifact.sh <project-name>
cd <project-name>

这会创建一个配置完整的项目,其中包含:

  • React + TypeScript(通过 Vite)
  • Tailwind CSS 3.4.1 和 shadcn/ui 主题系统
  • 已配置的路径别名(@/)
  • 预装的 40 多个 shadcn/ui 组件
  • 所有 Radix UI 依赖项
  • 已配置用于打包的 Parcel(通过 .parcelrc)
  • 兼容 Node 18+(自动检测并固定 Vite 版本)
步骤 2:开发你的 artifact

要构建 artifact,请编辑生成的文件。请参阅下方的常见开发任务,了解相关指南。

步骤 3:打包为单个 HTML 文件

要将 React 应用打包为单个 HTML artifact:

bash scripts/bundle-artifact.sh

这会创建 bundle.html,这是一个独立的 artifact,其中内嵌了所有 JavaScript、CSS 和依赖项。此文件可直接作为 artifact 在 Claude 对话中分享。

要求:项目根目录中必须有一个 index.html。

该脚本的作用:

  • 安装打包依赖项(parcel、@parcel/config-default、parcel-resolver-tspaths、html-inline)
  • 创建支持路径别名的 .parcelrc 配置
  • 使用 Parcel 构建(不生成源映射)
  • 使用 html-inline 将所有资源内嵌到单个 HTML 文件中
步骤 4:与用户分享 artifact

最后,在对话中与用户分享打包后的 HTML 文件,让他们以 artifact 的形式查看。

步骤 5:测试/预览 artifact(可选)

注意:此步骤完全可选。仅在必要或用户要求时执行。

要测试/预览 artifact,请使用可用工具(包括其他 Skills,或 Playwright、Puppeteer 等内置工具)。通常应避免提前测试 artifact,因为这会增加用户看到成品前的等待时间。如果用户提出要求或出现问题,可在展示 artifact 后再进行测试。

参考资料

评论

支持 Markdown