@nova-infra/f2c
v0.1.1
Published
Nova F2C binary CLI for Figma-to-code conversion
Downloads
201
Readme
@nova-infra/f2c
nova-f2c 是新的 F2C 迁移目标仓库,使用 Bun 作为包管理与构建工具。
当前状态:
- 已完成仓库初始化
- 已切换为 二进制发布导向(不再构建/发布 JS 产物)
- 仅保留 CLI 路径:通过 Figma REST API 拉取节点 JSON,经
restapi-adapter适配后走既有 emit;不包含 Figma 插件宿主、@figma/plugin-typings或插件侧exportAsync等运行时 - 已将 CLI / restapi-adapter / emit(
codegen+platforms/html|react|react-native)/ shared 的运行时闭包内聚到src/(无二进制未使用的产物分岔层) - 已移除仓库内
packages/*历史库目录 - 黄金样本回归(
bun run verify:golden)已通过
默认验收准则:日常迭代不强制跑 tsc 或 build;主门禁为 bun run verify:golden。
定位与 Agent 工作流
- 一阶(本仓库):CLI /
convertToCode优先保证高还原度与稳定、可复现的输出,作为 Agent 可读的中间产物(结构、样式、资源组织等)。 - 二阶(业务侧):状态、数据、路由、设计体系/组件库替换等由 Agent 按任务在产物上继续改;不把业务编排塞进 F2C 生成器。
- 节点提示:
Option.emitNodeAgentHints为真时,生成片段前会写入@f2c注释(图层id、name、语义kind、FigmafigmaType)。convertToCode的默认选项中一般为开启;CLI 默认关闭以锁定黄金样本,本地需要可加--node-hints。
命令
bun src/index.ts --help
bun run build:local
bun run design:bundle -- --url "https://www.figma.com/design/..."构建策略
- 本地二进制:
bun run build:local - Linux x64:
bun run build:linux-x64 - Linux arm64:
bun run build:linux-arm64 - macOS arm64:
bun run build:darwin-arm64
验收命令
默认顺序如下:
- 轻量功能检查:
bun dev(或bun src/index.ts --help) - 主门禁:
bun run verify:golden - 按需:
bun run verify:batch - 观察门:
bun run inventory:render-noise、bun run inventory:relative-imports、bun run metrics:render-net
发布或验证本地二进制时再使用:bun run build:local(等同 package.json 中的 build 脚本;非常规重构必跑项)。
文档
graphify-out/graph.html/graphify-out/graph.svg— graphify 知识图谱(交互 HTML + 可嵌入的 SVG;原始数据graph.json,审计说明GRAPH_REPORT.md)。导出 SVG 需使用本机graphifyy虚拟环境(已含matplotlib/scipy时可用to_svg)。语料不含graphify-out/(见.graphifyignore)。scripts/graphify-normalize-semantic.py— 将子代理输出的「非标准」语义 JSON 归一化为 graphifybuild_from_json可接受的结构(merge/check)。AGENTS.md— 新增类型 / 平台 / CSS 策略应落在哪一层
当前已镜像到本仓库的核心源码:
src/clisrc/typessrc/utils/(log、restapi-tree、pluginData、tag-runtime/tag-utils、cls-util、color-util、css-util等,类型以@figma/rest-api-spec与运行时 JSON 为准)src/restapi-adapter(index.ts对外入口;其余为 REST 适配与布局等实现)src/render/emit/codegen/wiring+codegen/registry(装配)、platforms/html(HtmlGenerator)、platforms/react/generator(Web TSX / CSS 管线)src/render/shared(emit 与运行时共用的 codegen 基元)src/restapi-adapter/index.ts(convertToCode/buildRenderArtifact装配出口,直连rest-preview)
