命令行界面

让你的 AI 代理管理你的图标字体。Bobcorn CLI 专为 AI 优先工作流设计 — 你的代理可以创建项目、导入图标、组织分组并导出字体,无需打开 GUI。

快速开始

Bobcorn CLI 让你可以完全通过终端管理图标字体项目。在 Bobcorn 应用的设置面板中安装——点击"命令行界面"部分的安装按钮。

安装后,打开一个新终端并验证:

验证安装
bobcorn --version
提示
如果安装后找不到命令,请打开新的终端窗口。PATH 更改仅在新的 shell 会话中生效。
AI 代理用户
只需从 Bobcorn 的设置面板安装 CLI,然后告诉你的 AI 代理(Claude Code、Cursor、Copilot 等)运行 bobcorn --help --json 来发现所有可用命令。其余的交给代理处理。

项目自动发现

CLI 会自动检测当前目录中的 .icp 项目文件。你也可以显式指定路径。解析优先级为:

  1. 显式路径参数 — 直接传递给命令
  2. --project 标志 — 所有命令的全局选项
  3. 自动发现 — 扫描当前目录中的 .icp 文件
三种指定项目的方式
# 1. 显式路径参数
bobcorn project inspect my-icons.icp

# 2. 全局 --project 标志
bobcorn --project my-icons.icp icon list

# 3. 自动发现(从包含 .icp 文件的目录运行)
cd my-project/
bobcorn icon list

输出格式

默认情况下 CLI 输出人类可读的文本。添加 --json 可获得结构化 JSON 输出,非常适合脚本和 AI 代理集成。

JSON 信封结构

每个 JSON 响应都遵循一致的信封格式:

JSON 信封
{
  "ok": true,
  "data": { ... },
  "meta": {
    "command": "icon list",
    "projectPath": "/path/to/project.icp",
    "duration_ms": 42,
    "version": "1.0.0"
  }
}

三种响应状态

状态ok说明
完全成功 true 操作完成。数据在 data 字段中。
部分失败 true 部分项目成功。检查 warnings 数组获取详情。
完全失败 false 操作失败。错误信息在 error 字段中,附带 code

命令参考

项目

创建、查看和配置 .icp 项目文件。

项目命令
# 创建新的空项目
bobcorn project create my-icons.icp --name "App Icons"

# 查看项目元数据(名称、前缀、图标/分组数量)
bobcorn project inspect

# 设置项目名称(同时设置字体前缀)
bobcorn project set-name "New Name"

# 设置字体前缀(set-name 的别名)
bobcorn project set-prefix "MyIcons"

# 将项目副本保存到新文件
bobcorn project save-as backup.icp

图标

导入、列出、重命名、移动、复制、删除和配置图标。所有图标引用使用 UUID——使用 icon list --json 来获取 ID。

图标命令
# 导入 SVG 文件(自动分配 UUID 和 unicode 码位)
bobcorn icon import *.svg --group Navigation

# 列出所有图标(表格格式)
bobcorn icon list

# 以 JSON 格式列出分组中的图标
bobcorn icon list --group Navigation --json

# 重命名图标
bobcorn icon rename <id> new-name

# 移动图标到其他分组
bobcorn icon move <id1> <id2> --to "Other Group"

# 复制图标到另一个分组(分配新的 UUID)
bobcorn icon copy <id> --to "Backup"

# 删除图标(软删除,移至回收分组)
bobcorn icon delete <id>

# 设置 Unicode 码位(十六进制,PUA 范围 E000-F8FF)
bobcorn icon set-code <id> E100

# 用新文件替换图标 SVG 内容
bobcorn icon replace <id> new-icon.svg

# 将单个图标导出为 SVG 文件
bobcorn icon export-svg <id> --out ./exports

# 标记/取消标记图标为收藏
bobcorn icon set-favorite <id>
bobcorn icon set-favorite <id> --off

# 替换图标 SVG 内容中的颜色
bobcorn icon set-color <id> --from "#000" --to "#333"

# 输出原始 SVG 内容到标准输出
bobcorn icon get-content <id>

分组

将图标组织到命名分组中。分组控制侧边栏的显示顺序,可用于过滤导出。

分组命令
# 列出所有分组
bobcorn group list

# 创建新分组
bobcorn group add "New Category"

# 重命名现有分组
bobcorn group rename "Old Name" "New Name"

# 删除分组(图标移至未分类)
bobcorn group delete "Empty Group"

# 设置显示顺序(按所需顺序列出分组)
bobcorn group reorder Navigation Actions Settings

# 设置分组描述(显示在侧边栏)
bobcorn group set-description Navigation "Main nav icons"

# 将图标移入分组(icon move 的替代方式)
bobcorn group move-icons Navigation <id1> <id2>

导出

生成字体文件和导出 SVG。字体导出支持 SVG、TTF、WOFF、WOFF2 和 EOT 格式,可选生成 CSS 和 JS 伴随文件。

导出命令
# 导出指定格式的字体
bobcorn export font --out ./dist --formats woff2,ttf

# 使用自定义名称导出字体及伴随文件
bobcorn export font --out ./dist --font-name "MyIcons" --css --js

# 将所有图标导出为单独的 SVG 文件
bobcorn export svg --out ./svg-icons

# 仅导出特定分组的图标
bobcorn export svg --out ./svg-icons --group Navigation
注意
export icon 命令(栅格导出:PNG、JPG、WebP、PDF、ICO)支持平台预设(--preset ios--preset android 等),但在 CLI 模式下尚未完全实现。

搜索和收藏

按名称搜索图标并管理收藏书签。

搜索和收藏
# 按名称搜索图标
bobcorn search "arrow"

# 在分组内搜索并限制结果数量
bobcorn search "home" --group Navigation --limit 10

# 列出所有收藏图标
bobcorn favorite list

变体

管理图标的粗细和缩放变体(SF Symbols 风格)。变体生成需要 Bobcorn GUI,但你可以从 CLI 列出和删除变体。

变体命令
# 列出图标的所有变体
bobcorn variant list <id>

# 删除图标的所有变体(保留基础图标)
bobcorn variant delete <id>

AI 代理集成

Bobcorn CLI 专为与 AI 编程代理(如 Claude Code、Codex、Cursor 等)无缝协作而设计。使用 --json 获取代理可以可靠解析的结构化输出。

核心原则

  • 每个命令都支持 --json 以获取机器可读的输出
  • JSON 信封在所有命令中保持一致——代理可以依赖 ok / error / data 结构
  • 项目自动发现意味着代理只需 cd 到项目目录即可运行命令,无需指定文件路径
  • 错误码可预测:ICON_NOT_FOUNDGROUP_NOT_FOUNDFILE_IO_ERROR

代理工作流示例

AI 代理工作流
# 代理创建项目
bobcorn project create app-icons.icp --name "MyApp" --json

# 代理导入 SVG
bobcorn icon import ./design/*.svg --json

# 代理组织分组
bobcorn group add "Navigation" --json
bobcorn group add "Actions" --json

# 代理搜索并移动图标
NAV_IDS=$(bobcorn search "nav" --json | jq -r '.data[].id')
bobcorn icon move $NAV_IDS --to "Navigation" --json

# 代理导出字体
bobcorn export font --out ./src/fonts --formats woff2 --json

完整工作流示例

以下是一个完整的端到端 bash 脚本,展示典型的图标字体工作流程:

完整工作流脚本
#!/bin/bash
set -e

# 创建新项目
bobcorn project create my-app-icons.icp --name "MyApp"

# 从设计目录导入所有 SVG 图标
bobcorn icon import ./design/icons/*.svg

# 创建分组来组织图标
bobcorn group add "Navigation"
bobcorn group add "Actions"
bobcorn group add "Status"

# 搜索导航图标并移动它们
NAV_ICONS=$(bobcorn search "nav" --json | jq -r '.data[].id')
for id in $NAV_ICONS; do
  bobcorn icon move "$id" --to "Navigation"
done

# 设置分组显示顺序
bobcorn group reorder Navigation Actions Status

# 导出生产用字体文件
bobcorn export font --out ./src/fonts --formats woff2 --css

# 也导出单独的 SVG 用于文档
bobcorn export svg --out ./docs/icons

echo "完成!字体文件在 ./src/fonts"
在 Bobcorn 中
CLI 使用与桌面应用相同的 .icp 项目文件。通过 CLI 所做的更改在 GUI 中打开项目时可见,反之亦然。这使得你可以轻松地使用 GUI 进行视觉设计工作,使用 CLI 进行自动化和 CI/CD 管道。