-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.shellcheckrc
More file actions
82 lines (73 loc) · 2.61 KB
/
Copy path.shellcheckrc
File metadata and controls
82 lines (73 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Project Sentinel - ShellCheck Configuration
# 项目级 ShellCheck 配置文件 (简化有效版)
# 确保所有 Bash 脚本符合统一的代码质量标准
# =====================
# 基本配置
# =====================
# 指定脚本解释器为 bash
shell=bash
# 允许外部源文件追踪
external-sources=true
# =====================
# 忽略规则配置
# =====================
# 在基础设施脚本中允许的规则(这些规则在系统管理脚本中是合理的)
# SC1090: 无法推断 source 的文件 (在动态加载脚本时允许)
# SC1091: 无法推断 source 的文件 (在条件加载时允许)
# SC2154: 引用未赋值的变量 (在source外部脚本时允许)
# SC2164: cd 命令失败时继续 (在错误处理中允许)
# SC2034: 变量未使用 (在导出变量时允许)
disable=SC1090,SC1091,SC2154,SC2164,SC2034
# =====================
# 宪法合规性说明
# =====================
#
# 虽然 shellcheck 不支持自定义规则,但我们通过以下方式确保宪法合规:
# 1. 幂等性: 代码审查和测试覆盖
# 2. 安全性: SC2086 (引用检查) 等内置规则
# 3. 可观测性: 通过日志函数和错误处理实现
# 4. 离线兼容: 通过设计审查确保
#
# 详细的宪法合规性检查由 scripts/quality_check.sh 实现
#
# =====================
# 项目编码规范 (人工审查)
# =====================
#
# 必需的脚本结构:
# - Shebang: #!/usr/bin/env bash
# - 错误处理: set -Eeuo pipefail
# - 函数注释: 包含功能描述、参数说明、返回值
# - 日志函数: 使用 log_info, log_error 等统一接口
#
# 命名约定:
# - 函数名: lowercase_with_underscores
# - 全局变量: UPPERCASE_WITH_UNDERSCORES
# - 局部变量: lowercase_with_underscores
#
# 错误处理:
# - 所有脚本必须包含 trap 错误处理
# - 危险操作必须提供 --dry-run 选项
# - 失败操作必须提供回滚路径
#
# 详见: docs/constitution.md 和 docs/quality-gate.md
# =====================
# 输出格式配置
# =====================
# 使用彩色输出
# color=auto # 某些版本可能不支持,注释掉以避免错误
# =====================
# 使用说明
# =====================
#
# 本配置文件仅包含 shellcheck 实际支持的选项
# 更多项目特定的质量要求通过以下工具实现:
#
# 1. scripts/quality_check.sh - 综合质量检查脚本
# 2. tests/*.bats - 单元测试和集成测试
# 3. 代码审查流程 - 确保宪法原则落地
#
# 运行检查:
# shellcheck scripts/*.sh # 单脚本检查
# ./scripts/quality_check.sh # 全面质量检查
# bats tests/*.bats # 运行测试套件