scripts/dev-setup.sh
scripts/dev-setup.ps1
~/.local/share/gitcode-cli/dev-tools/bin
.pre-commit-config.yaml
language: system
git commit
gitleaks: command not found
dev-setup.sh
dev-setup.ps1
--check
go mod download
go env GOPROXY
proxy.golang.org
go env -w GOPROXY=https://goproxy.cn,direct # 或 go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
scripts/test-dev-setup.*
spec/delivery/ci-workflows.md
CONTRIBUTING.md
scripts/dev-setup.sh、scripts/dev-setup.ps1、scripts/test-dev-setup.*、CONTRIBUTING.md
背景
scripts/dev-setup.sh/scripts/dev-setup.ps1将 golangci-lint、gitleaks、pre-commit 安装到 managed 目录(Linux/macOS 为~/.local/share/gitcode-cli/dev-tools/bin),设计上不修改 shell profile,仅在结尾输出一行 export PATH 提示。.pre-commit-config.yaml中 gitleaks 钩子为language: system,依赖 PATH 解析。git commit时钩子因找不到 gitleaks 直接失败,报错仅为gitleaks: command not found,与 dev-setup 的关联不可见,排查成本高。改动建议
dev-setup.sh/dev-setup.ps1:--check模式将 PATH 缺失计入 gap 并非零退出go mod download失败时的 gap 提示增强:提示检查网络与go env GOPROXY;proxy.golang.org不可达时可切换公共 Go 模块镜像,例如:(示例性列举常见公共镜像,由使用者按自身网络环境选择;是否将镜像示例嵌入脚本输出、还是仅保留在文档,可在评审时定夺)go env -w GOPROXY=https://goproxy.cn,direct # 或 go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,directscripts/test-dev-setup.*契约测试(CI 3 OS 运行,见spec/delivery/ci-workflows.md)CONTRIBUTING.mdmanaged bin 段落补充 PATH 与钩子依赖关系的后果说明验收标准
--check报 gap 且非零退出go mod download失败提示含 GOPROXY 检查指引与公共镜像示例(如 goproxy.cn、阿里云),措辞为示例而非指定推荐scripts/test-dev-setup.*在 Linux/macOS/Windows 全部通过影响范围
scripts/dev-setup.sh、scripts/dev-setup.ps1、scripts/test-dev-setup.*、CONTRIBUTING.md