SuperAPI AI 工具集

grove-init

通用与其它

查看项目

更新于 10-16 05:02

技能介绍

用途:为尚未配置 Grove 的仓库完成初始化,生成 .grove/config.json 与克隆后钩子,使工作区具备一致的预热构建行为。

主要流程与能力:先执行 git rev-parse --show-toplevel 校验是否处于 git 仓库,失败则停止;再用 test -f .grove/config.json 检查是否已初始化,若已存在则提示并需用户确认后才重新初始化。随后按优先级扫描构建标记文件:Gradle(build.gradle.kts 或 build.gradle,预热 ./gradlew assemble)、Node.js(package.json,npm run build)、Rust(Cargo.toml,cargo build)、Go(go.mod,go build ./...)、Python(pyproject.toml 或 requirements.txt,poetry install 或 pip install -e .)、C/C++(Makefile 或 CMakeLists.txt,make 或 cmake --build build)。若根目录存在多个顶层标记,需询问用户哪个是主构建系统;无标记时要求用户提供预热命令。

使用方式:向用户展示预热命令、工作区目录(默认系统临时目录下的 grove 子目录)和克隆后钩子内容并确认后,运行 grove init --warmup-command "<cmd>";将钩子写入 .grove/hooks/post-clone 并 chmod +x .grove/hooks/post-clone;最后建议执行 git add .grove/config.json .grove/hooks/ 与 git commit -m "chore: add Grove configuration"。可用 grove update 刷新黄金副本构建状态。

适用场景:新仓库接入 Grove、多语言 monorepo 需指定主构建系统、需要统一协作者与 CI 的预热行为。

限制与注意:Grove 依赖 git,必须在仓库内运行;跳过克隆后钩子会导致工作区继承过期锁文件或缓存产物;.grove/ 应提交以便协作者与 CI 获得相同行为。若 grove init 报权限错误,需确认 grove 已安装且有写权限;预热命令非零退出应先解决依赖问题。该技能独立运行,不被其他技能自动调用,可由 grove:using-grove 在未找到配置时建议,并通过 /grove-init 斜杠命令调用。