mcpField
S
solid-detection

solid-detection

github.com/fusengine开发3440 次安装2 周前更新
代码仓库

关于 solid-detection

solid-detection 是一项开发技能,可根据配置文件识别项目类型并匹配相应的 SOLID 技能。它设置项目结构相关环境变量,并按严重级别执行阻止或警告规则。

主要功能

  1. 01基于配置文件检测项目
  2. 02按优先级映射语言类型
  3. 03选择匹配的 SOLID 技能
  4. 04设置环境变量
  5. 05验证接口位置和文件限制

适用场景

  1. 01开发前识别代码库类型
  2. 02选择语言专用 SOLID 指引
  3. 03阻止接口位于错误目录
  4. 04标记超限文件或缺失文档

安装

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

$npx skills add https://github.com/fusengine/agents --skill solid-detection

安装后在 Claude Code 中输入/solid-detection确认已加载。

附带文件references/language-rules.md

详细介绍

SOLID Detection 会按照固定优先级顺序,根据项目的配置文件(package.json + next/react、tsconfig.json/bun 文件、composer.json + laravel、Package.swift/*.xcodeproj、pom.xml/build.gradle、go.mod、Gemfile+Rakefile、Cargo.toml、pyproject.toml/requirements.txt)识别项目的语言/框架,然后映射到对应的 SOLID 技能,并通过 `detect-project.sh` 设置 `SOLID_PROJECT_TYPE`、`SOLID_FILE_LIMIT`、`SOLID_INTERFACE_DIR` 和 `SOLID_STRUCTURE` 环境变量。

如果接口位于错误位置,则会直接 BLOCK;超过文件大小限制或缺少文档则仅发出 WARNING。完整的各语言接口位置、禁止区域和行数统计规则,请参阅 language-rules.md。

SOLID 检测技能

参考资料

  • language-rules.md - 以下情况需要加载:确定特定语言(Next.js、React、Generic TS、Laravel、Swift、Java、Go、Ruby、Rust、Python)的确切接口目录、文件限制或模式检测正则表达式,或在排除注释/空行的情况下统计行数

项目检测

根据配置文件检测项目类型:

# Next.js (priority over React)
[ -f "package.json" ] && grep -q '"next"' package.json

# React (no "next" in package.json)
[ -f "package.json" ] && grep -q '"react"' package.json && ! grep -q '"next"' package.json

# Generic TypeScript (no react/next, has .ts files)
[ -f "package.json" ] && ! grep -q '"react"' package.json && ! grep -q '"next"' package.json
[ -f "tsconfig.json" ] || [ -f "bun.lock" ] || [ -f "bun.lockb" ] || [ -f "bunfig.toml" ]

# Laravel
[ -f "composer.json" ] && grep -q '"laravel' composer.json

# Swift
[ -f "Package.swift" ] || ls *.xcodeproj

# Java
[ -f "pom.xml" ] || [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]

# Go
[ -f "go.mod" ]

# Ruby
[ -f "Gemfile" ] && [ -f "Rakefile" ]

# Rust
[ -f "Cargo.toml" ]

# Python
[ -f "pyproject.toml" ] || [ -f "requirements.txt" ]

优先级顺序: Next.js > React > Generic TS > Laravel > Swift > Java > Go > Ruby > Rust > Python

完整的各语言规则表(接口位置、禁止区域、模式检测正则表达式)和行数统计规则,请参阅 language-rules.md。

验证操作

严重程度操作
接口位于错误位置BLOCK(退出码 2)
文件超出限制WARNING(退出码 0)
缺少文档WARNING

技能映射

项目类型SOLID 技能技能路径
nextjssolid-nextjsnextjs-expert/skills/solid-nextjs/
reactsolid-reactreact-expert/skills/solid-react/
genericsolid-genericsolid/skills/solid-generic/
laravelsolid-phplaravel-expert/skills/solid-php/
swiftsolid-swiftswift-apple-expert/skills/solid-swift/
javasolid-javasolid/skills/solid-java/
gosolid-gosolid/skills/solid-go/
rubysolid-rubysolid/skills/solid-ruby/
rustsolid-rustsolid/skills/solid-rust/
python(暂无技能)-

环境变量

由 detect-project.sh 设置:

SOLID_PROJECT_TYPE=nextjs|react|generic|laravel|swift|java|go|ruby|rust|python|unknown
SOLID_FILE_LIMIT=100|150
SOLID_INTERFACE_DIR=path/to/interfaces
SOLID_STRUCTURE=modular

评论

支持 Markdown