用途
Plunker 技能用于为 AG Charts、AG Grid 和 AG Studio 创建、修改和分享 Plunker(plnkr.co)代码示例。当用户提到 plunker、plnkr 或 plunk,或需要构建可分享的代码复现示例时使用。
产品识别
根据仓库上下文判断目标产品:
- AG Charts:仓库包含 ag-charts-community,读取 ag-charts-guide.md
- AG Grid:仓库包含 ag-grid-community,读取 ag-grid-guide.md
- AG Studio:仓库包含 ag-studio-core,读取 ag-studio-guide.md
在创建或修改任何 plunker 文件之前,必须先读取对应的产品指南。指南中包含正确的 CDN 地址、HTML 结构、包名和样式。
框架偏好
除非满足以下条件,否则始终使用原生 JavaScript 创建 plunker:
- 用户明确要求特定框架(Angular、React、Vue)
- 该 bug 或功能是框架特有的,无法在原生 JS 中复现
当拿到框架示例(如 Angular)用于复现 bug 时:先转换为原生 JS 再使用或创建复现;仅当问题与框架相关时才保留框架版本。原生 JS 更简单、加载更快、无需构建系统,且大多数 bug 无需框架包装即可复现。
计划模式
当创建涉及构建或修改 plunker 的计划时,计划中必须明确说明在写入任何文件之前会调用 /plunker 技能。不要假设技能会被隐式使用,应直接点名,例如:
"Invoke /plunker skill to load the product guide before writing any files."
这确保实现步骤使用技能指南中正确的 CDN 地址、CSS 和 API 模式,而不是依赖训练数据。
工作流程
创建新 Plunker
- 创建工作目录:PLNKR_DIR=$(mktemp -d /tmp/plnkr-new-XXXXXX)
- 复制 CSS 资源:cp "<skill-base-directory>/assets/ag-example-styles.css" "$PLNKR_DIR/ag-example-styles.css"
- 按产品专属指南写入其余文件(index.html、main.js、package.json 等)
- 上传:bash "<skill-base-directory>/plnkr.sh" upload "$PLNKR_DIR" --title "Example Title"
- 从输出中解析 URL=,即分享链接。
派生/修改现有 Plunker
- 下载:bash "<skill-base-directory>/plnkr.sh" download <plunk-id-or-url>
- 从输出中解析 DIR=,即本地目录。
- 使用标准文件工具读取并修改文件。
- 上传修改后的版本:bash "<skill-base-directory>/plnkr.sh" upload "$DIR" --title "Modified: Original Title"
只读查看
- 下载:bash "<skill-base-directory>/plnkr.sh" download <id-or-url> [dir]
- 从输出目录读取文件。
脚本参考
| 命令 | 参数 | 输出 |
|---|---|---|
| download | <id-or-url> [output-dir] | DIR=, ID=, DESCRIPTION=, FILES= |
| upload | <dir> [--title T] [--tags a,b] | ID=, URL= |
错误:ERROR=<message> 输出到 stderr,退出码 1。
--title/--tags 默认取 .plnkr-meta.json 中的值(由 download 写入)。
API 说明
- 没有真正的 fork 端点——"fork" 等于下载 + 修改 + 作为新示例上传。
- 访问令牌是短期 JWT,脚本内部自行管理。
- 只有 plunk 创建者才能更新(使用创建时获得的私有令牌)。
产品专属指南
使用上文的产品识别部分确定应读取哪个指南。每个指南包含确切的 HTML 结构、CDN 地址、package.json 格式和产品专属模式。