mcpField
W
web-artifacts-builder

web-artifacts-builder

github.com/zhanlincui开发19359 次安装33 周前更新
代码仓库

关于 web-artifacts-builder

用于通过 React 和 TypeScript 工作流构建 claude.ai 前端 artifact,并将其打包为单个 HTML 文件。提供项目初始化脚本,测试为可选步骤。

主要功能

  1. 01初始化 React 项目
  2. 02采用 TypeScript、Vite 和 Tailwind CSS
  3. 03预置 shadcn/ui 组件
  4. 04将资源打包为单个 HTML 文件
  5. 05支持按需测试 artifact

适用场景

  1. 01构建 claude.ai 前端 artifact
  2. 02打包应用以便在对话中分享
  3. 03按需测试 artifact

安装

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

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

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

附带文件scripts/bundle-artifact.shscripts/init-artifact.sh

详细介绍

Web Artifacts Builder

要构建功能强大的前端 claude.ai artifact,请按以下步骤操作:

  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 slop”(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 依赖
  • ✅ 已通过 .parcelrc 配置 Parcel 打包
  • ✅ 兼容 Node 18+(自动检测并锁定 Vite 版本)
第 2 步:开发你的 Artifact

如需构建 artifact,请编辑生成的文件。具体指导请参阅下方的常见开发任务。

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

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

bash scripts/bundle-artifact.sh

这将生成 bundle.html,这是一个自包含的 artifact,所有 JavaScript、CSS 和依赖均已内联。该文件可直接在 Claude 对话中作为 artifact 分享。

要求:项目根目录下必须有 index.html。

脚本执行的操作:

  • 安装打包依赖(parcel、@parcel/config-default、parcel-resolver-tspaths、html-inline)
  • 创建带路径别名支持的 .parcelrc 配置
  • 使用 Parcel 构建(不生成 source map)
  • 使用 html-inline 将所有资源内联到单个 HTML 中
第 4 步:向用户分享 Artifact

最后,在对话中将打包好的 HTML 文件分享给用户,以便其以 artifact 形式查看。

第 5 步:测试/可视化 Artifact(可选)

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

如需测试或可视化 artifact,可使用可用工具(包括其他 Skills 或 Playwright、Puppeteer 等内置工具)。一般而言,应避免预先测试 artifact,因为这会增加请求与成品呈现之间的延迟。如有需要或出现问题,可在展示 artifact 之后再进行测试。

参考资料

评论

支持 Markdown