用途:在编写新代码前,判断当前项目属于哪种技术栈,从而加载对应的语言专属 SOLID 技能,并解析该栈的接口目录约定、文件行数限制与模式检测规则。
主要能力:通过配置文件检测项目类型,优先级为 Next.js > TanStack Start > Astro > React > Generic TS > Laravel > Swift > Java > C# > Go > Ruby > Rust > Python。检测依据包括 package.json 中的依赖、tsconfig.json、composer.json、Package.swift、pom.xml、go.mod、Gemfile、Cargo.toml、pyproject.toml 等。检测结果映射到对应技能,如 nextjs 对应 solid-nextjs,react 对应 solid-react,laravel 对应 solid-php,路径见技能映射表。
使用方式:运行 detect-project.sh 后会设置环境变量 SOLID_PROJECT_TYPE、SOLID_FILE_LIMIT、SOLID_INTERFACE_DIR、SOLID_STRUCTURE。每个 solid-<stack> 技能定义该栈自己的共享位置,写新代码前应先加载它,不要套用其他栈的目录。具体语言的接口位置、禁区与行数统计规则见 language-rules.md。
限制:接口出现在错误位置属于 BLOCK(退出码 2);文件超出限制或缺少文档仅为 WARNING(退出码 0)。行数统计需排除注释与空行。资料未提供安装命令、收费与平台信息。