用于管理组件模板的 CLI,工作流参考 chezmoi(有 cd / git 命令),但目标是前端组件。
所有数据都放在:
~/.local/share/compable
组件按 framework + name 分目录,内容直接可读:
~/.local/share/compable/components/<framework>/<name>/...
元数据:
~/.local/share/compable/components/<framework>/<name>/component.json
- vue
- react
- nuxt
- next
compable add [--name <name>] [--force] <file...>
compable use <name> [--framework <framework>] [--force]
compable cd [--print]
compable git <git-args...>add会自动识别当前项目 framework(优先读 package.json 依赖,再根据文件后缀推断)。add --name可选;不传时会自动推断:- vue/nuxt:优先取第一个
.vue文件名 - react/next:优先取第一个
.tsx/.jsx文件名
- vue/nuxt:优先取第一个
use默认按当前项目 framework 取组件;重名跨 framework 时可用--framework指定。cd会直接进入 compable 存储目录的子 shell;脚本场景可用compable cd --print。git在 compable 存储目录内执行 git(例如compable git status)。--force用于覆盖:add会覆盖同名组件,use会覆盖项目中已存在文件。
compable add src/components/Button.vue src/components/Button.css src/components/Button.ts
compable use Button
compable git status
compable cd如果目标文件已存在,需要加 --force 覆盖。