chore: 添加 CI 工具链 — golangci-lint + gofumpt + goimports + Makefile

.golangci.yml:
  - 启用 linter: errcheck, gosec, govet, staticcheck, ineffassign, unused,
    revive, contextcheck, errorlint, errname, misspell
  - 启用 formatter: gofumpt + goimports

Makefile:
  - fmt/fmt-check: gofumpt + goimports 格式检查
  - lint/lint-strict: golangci-lint 报告/阻断模式
  - test: go test -race
  - ci: 完整 CI 流程 (fmt-check + lint)

docs/code-style.md:
  - 新增 AI 执行协议 + 代码格式化/自动化检查/MUST规则
  - 集成 golangci-lint 检查项与规范对照
This commit is contained in:
2026-06-22 02:27:29 +08:00
parent ef6c97106d
commit e65f903362
5 changed files with 543 additions and 10 deletions

12
scripts/pre-push Normal file
View File

@ -0,0 +1,12 @@
#!/bin/bash
# Git pre-push hook — push 前跑 CI 检查
# 安装cp scripts/pre-push .git/hooks/pre-push && chmod +x .git/hooks/pre-push
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
echo ""
echo "==> Pre-push CI check..."
bash "$ROOT/scripts/ci.sh" --strict
echo "==> OK"