SuperAPI AI 工具集

hooks-session-start-hook

智能体与模型

查看项目

更新于 10-15 23:49

技能介绍

用途:为 Claude Code 在 web 环境下创建 SessionStart 钩子,让仓库在远程会话开始时自动安装依赖、配置环境变量,并验证测试与 linter 是否可用。

主要能力:脚本会先探测项目栈,包括锁定文件(package-lock.json、yarn.lock、pnpm-lock.yaml、bun.lockb、poetry.lock、uv.lock、Cargo.lock、go.sum、Gemfile.lock)、项目文件(package.json、pyproject.toml、requirements.txt、Cargo.toml、go.mod、Gemfile、pom.xml、build.gradle*)、linter 配置(biome.json、.eslintrc*、eslint.config.*)以及现有 .claude/settings.json 与 scripts 目录。随后按检测结果生成脚本,涵盖 Node.js、Python、Rust、Go、Ruby、Java 的依赖安装,使用对应包管理器并尽量带 frozen lockfile 参数;若未传 --no-verify,还会运行测试与 linter 并把结果写入上下文。

使用方式:调用 /hooks:session-start-hook,可选 --remote-only(使钩子仅在有 CLAUDE_CODE_REMOTE=true 时执行)与 --no-verify(跳过测试/linter 校验)。脚本生成到 scripts/claude-session-start.sh,若无 scripts 目录则用 .claude/hooks/session-start.sh,需 chmod +x。配置合并进 .claude/settings.json 的 hooks.SessionStart,matcher 为 startup,超时 120 秒。钩子通过 jq 输出 hookSpecificOutput.additionalContext,环境变量经 CLAUDE_ENV_FILE 持久化。

适用场景:将仓库接入远程 Claude Code、需要会话启动时自动装依赖并快速判断测试/检查是否通过。

限制:需用户确认是否覆盖已存在的 SessionStart 钩子;仅在资料所述的受支持语言与工具范围内生效;如需额外网络访问需另行配置,其余细节暂未提供。