bstack-setup

Installation
SKILL.md

bstack-setup

新设备和偏好变更的唯一入口。本技能只负责发现、询问、写入和同步;每个技能问什么、写成什么结构、怎么验证,写在它自己的 references/setup.md。

配置目录是 ~/.config/bstack/(BSTACK_CONFIG_DIR 可改),JSON 格式。技能只读这个目录,缺文件时用自带的默认值。

流程

  1. 设备初始化:按下文「设备初始化」同步全局代理规则并体检。用户只想改偏好、本机已初始化过时,跑 --check 确认全部就位即可。
  2. 配置同步:跑 node <技能目录>/scripts/config-repo.mjs status。
    • repo: true:跑 pull,失败就停下报告,不要在分叉的配置上继续写。
    • repo: false:问用户是否用私有仓库在各设备同步配置。三种答复:
      • 新建:fj repo create bstack-config --private(Forgejo)或 gh repo create bstack-config --private(GitHub),取它的克隆地址,跑 config-repo.mjs init --remote <url>。
      • 已有仓库:config-repo.mjs clone <url>;目录非空时向用户说明原目录会改名为 .bak-<时间戳> 保留,确认后加 --backup-existing。克隆后对比备份里的文件,有备份里独有的偏好就问用户是否并入。
      • 不同步:直接继续,以后随时可以重跑本技能开启。
  3. 选择技能:跑 node <技能目录>/scripts/discover.mjs,把结果整理成表(技能、配置文件、状态)给用户看,问这次要配置哪些。outdated 与 broken 的技能要提醒;newer 说明本机技能比配置旧,先 npx skills update -g 再配置;invalid 是技能自身缺陷,报告即可。
  4. 逐个配置:完整读取所选技能的 setup.md,按它的步骤提问、写入、验证。一个技能完成后再进行下一个。
  5. 提交同步:配置目录是仓库时,每个技能写完跑 config-repo.mjs commit -m "chore(<技能名>): <改了什么>"。推送失败时提交会留在本地,报告给用户;下次 commit 会重推。
Installs
–
First Seen
Today