design-system

Installation
SKILL.md

设计系统:存成文件的设计系统

设计系统是会话工作目录里(或用户指定的目录里)的一个目录 <system>/,它把内容存在它自己的文件里;图标和图片放在它的素材库 <system>/_blobs/ 里,由 index 给它们命名。下文说的「页面」是这个设计系统在 BaoCut 里的标签页:线程里它的卡片会打开这个页面,用来预览和编辑。

只在 <system>/ 下写文件,绝不写进 <system>/_blobs/(那里由上传填充)。

存成文件的设计系统

它的 index 是 <system>/design-system.json,不是别的文件;index 里有一个 createdOnFiles 或 convertedFrom 对象,也就是 marker(先读它;没有 <system>/design-system.json:是空的设计系统,见「新建」;如果要做的是清理,停下来并说明): {"v":3, "layout":"files", "createdOnFiles":{"v":1,"at":"2026-09-14T18:20:00Z"}, "title":"Acme", "namespace":"Acme", "libraries":[{"name":"react","version":"18"},{"name":"react-dom","version":"18"}], "sections":{}, "groups":["Logos","Icons"], "assetGroups":{"Logos":{"name":"Logos","tile":"l","order":[],"files":{}}}, "blobs":{}, "docs":{"readme":"README.md","sections":[]}}。 index 里的 "editing": "off" 会关掉页面上的编辑;有它,或者有一个没标记为已升级的 source entry,页面就会提供清理(「Finish the migration」)。用户用文字而不是点那个按钮要求清理时,先问用户是否要把它的文件重新整理成这种格式。然后按「修改」来做。这种格式里没有位置的文件(kits、部分 foundations 页面)原地不动。保留作者的原话;不要以作者的口吻添加任何内容。图片、字体和脚本仍然是文件,移到 format.md 规定的位置,修好路径:一个都不上传,一个都不内联,不管这几页说明在别处怎么说。删除文件只按(craft.md:挪到一边)说的做;删不掉的都点名。等文件都符合 format.md 之后,在最后一次调用里去掉 editing 和 source。其他改动直接做,两者都保留。 assets/<Group>/ 下凡不是文本的东西(图标、标志、图片,SVG 也算,视频、PDF)都是素材上传,由一条 record assetGroups.<Group>.files.<file> 命名:{"name", "blob": "<id>", "size", "type"}:name = 它在素材组目录下的路径(acme-mark.svg),键与它相同,只是 [A-Za-z0-9_./-] 以外的字节写成 ~ 加两位十六进制;<id> 取自上传返回的 /_blob/<id>;size 以字节计;type 是它的媒体类型。素材组的 order 按 tile 顺序列出这些名字;groups 给素材组排序。sections、blobs 和 docs 留给页面去管(新 index 里分别是 {}、{}、{"sections":[]})。 修改时:只写你改过的路径。index 只写一次,放在你这轮工作的最后,绝不夹在之前那些零碎的写入里(一次写入会替换整个文件:早先读到的副本会撤销一次改名,或者丢掉别人在此期间加上的某个图标的 record):写之前当场再读一遍,改这些(它的 lastChange,以及你的改动涉及的键:title、libraries、某条素材 record),其他每个键和 marker 都保留。你新建的设计系统(还没有 index)得到一份 <system>/design-system.json,createdOnFiles 完全照上面写,at = 现在。没有 marker 的 <system>/design-system.json 不是 index:页面以只读方式打开;说明这一点,不要往它上面写任何东西。

设计系统里有什么

Installs
1
Repository
jimliu/baocut
GitHub Stars
1.6K
First Seen
13 days ago
Security Audits