name: artifacts-builder
description: 一套使用现代前端技术(React、Tailwind CSS、shadcn/ui)创建复杂、多组件 claude.ai HTML 产物的工具集。适用于需要状态管理、路由或 shadcn/ui 组件的复杂产物,不适用于简单的单文件 HTML/JSX 产物。
license: 完整条款见 LICENSE.txt
要构建强大的前端 claude.ai 产物,请遵循以下步骤:
1. 使用 scripts/init-artifact.sh 初始化前端仓库
2. 通过编辑生成的代码来开发你的产物
3. 使用 scripts/bundle-artifact.sh 将所有代码打包成单个 HTML 文件
4. 向用户展示产物
5. (可选)测试产物
技术栈:React 18 + TypeScript + Vite + Parcel(打包)+ Tailwind CSS + shadcn/ui
非常重要:为避免所谓的“AI 风格堆砌”,请避免使用过多的居中布局、紫色渐变、统一的圆角以及 Inter 字体。
运行初始化脚本以创建新的 React 项目:
bash scripts/init-artifact.sh <项目名称>
cd <项目名称>
这将创建一个完全配置好的项目,包含:
- ✅ React + TypeScript(通过 Vite)
- ✅ Tailwind CSS 3.4.1 及 shadcn/ui 主题系统
- ✅ 配置好的路径别名(@/)
- ✅ 预安装 40+ 个 shadcn/ui 组件
- ✅ 包含所有 Radix UI 依赖项
- ✅ 配置好的 Parcel 打包工具(通过 .parcelrc)
- ✅ Node 18+ 兼容性(自动检测并锁定 Vite 版本)
通过编辑生成的文件来构建产物。具体指引请参考下方的常见开发任务。
将 React 应用打包成单个 HTML 产物:
bash scripts/bundle-artifact.sh
此操作会生成 bundle.html——一个将所有 JavaScript、CSS 和依赖项内联的自包含产物文件。该文件可直接在 Claude 对话中作为产物分享。
要求:你的项目根目录下必须有一个 index.html 文件。
脚本执行内容:
- 安装打包依赖(parcel、@parcel/config-default、parcel-resolver-tspaths、html-inline)
- 创建支持路径别名的 .parcelrc 配置文件
- 使用 Parcel 构建(不生成源映射)
- 使用 html-inline 将所有资源内联到单个 HTML 文件中
最后,在对话中分享打包好的 HTML 文件,以便用户将其作为产物查看。
注意:此步骤完全可选。仅在必要时或应要求执行。
要测试/可视化产物,可使用现有工具(包括其他技能或内置工具,如 Playwright 或 Puppeteer)。通常,应避免在展示产物前进行测试,因为这会在用户请求与看到最终产物之间增加延迟。如果用户要求或出现问题,可在展示产物后再进行测试。