mcpField
D
devops-simplicity-checker

devops-simplicity-checker

github.com/majesticlabs-dev云与 DevOps5068 次安装7 周前更新
代码仓库

关于 devops-simplicity-checker

用于检查基础设施项目是否过度复杂的 DevOps skill。它根据文件数量、模块、目录深度和 Ansible 角色计算复杂度分数,并提供简化方向。

主要功能

  1. 01检查 Terraform 文件数量与目录层级
  2. 02识别自定义模块和 Ansible 角色
  3. 03按规则计算复杂度分数
  4. 04列出常见过度设计迹象
  5. 05给出简化检查问题

适用场景

  1. 01审查 Terraform 项目的结构复杂度
  2. 02判断自定义模块是否必要
  3. 03发现目录和变量配置膨胀
  4. 04评估 Ansible 配置的简化空间

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill devops-simplicity-checker

安装后在 Claude Code 中输入/devops-simplicity-checker确认已加载。

详细介绍

DevOps 简洁性检查器

基础设施默认应保持简单。此技能用于检测过度工程化。

简洁性检查清单

检查项通过未通过
文件数量≤8 个 .tf 文件嵌套目录中有 >15 个文件
模块使用不使用模块,或仅使用注册表模块为 <5 个资源创建自定义模块
目录深度扁平结构或 1 层3 层以上嵌套
Ansible playbook单个 playbook多个 playbook + 自定义角色
Ansible 角色仅使用 Galaxy 角色为标准任务创建自定义角色
变量内联默认值复杂的变量层级

复杂度评分计算

Files: 1 point per .tf file over 5
Modules: 3 points per custom module
Directories: 2 points per level over 1
Ansible roles: 3 points per custom role

Score 0-5: Simple (GOOD)
Score 6-10: Moderate (REVIEW)
Score 11+: Overengineered (SIMPLIFY)

检测命令

# Count .tf files
find . -name "*.tf" | wc -l

# Find custom modules (not registry)
grep -r "source\s*=" *.tf | grep -v "registry.terraform.io" | grep -v "github.com" | wc -l

# Directory depth
find . -name "*.tf" -printf '%h\n' | sort -u | awk -F'/' '{print NF-1}' | sort -rn | head -1

# Custom Ansible roles (not Galaxy)
ls roles/ 2>/dev/null | wc -l

# Variable files
find . -name "*.tfvars" -o -name "variables.tf" | wc -l

需要思考的问题

  • 能否用更少的文件实现?
  • 这个自定义模块解决的问题,是注册表模块无法解决的吗?
  • 扁平结构是否同样适用?
  • 这个 Ansible 角色在 Galaxy 中是否已有?
  • 这些变量层级是否必要,还是过早抽象?

危险信号

模式问题修复方法
modules/ 中只有单个资源过度抽象内联资源
environments/{dev,staging,prod}/重复使用工作区或 tfvars
用于 apt 软件包的 roles/common/重复造轮子使用 Galaxy 角色
嵌套的 .tf 导入难以理解扁平化结构
>10 个变量文件配置泛滥合并文件

评分报告格式

SIMPLICITY SCORE: X/10

File Count: X files (+Y penalty)
Custom Modules: X modules (+Y penalty)
Directory Depth: X levels (+Y penalty)
Custom Roles: X roles (+Y penalty)

Total Penalty: X points
Verdict: SIMPLE | MODERATE | OVERENGINEERED

Recommendations:
- [ ] Consider flattening directory structure
- [ ] Replace custom module X with registry module
- [ ] Use Galaxy role for standard task

评论

支持 Markdown