用途:检测项目类型、恢复依赖、执行构建并验证编译成功,适用于独立构建验证或 CI/CD 流水线构建步骤。不负责测试执行(见 ln-782)、容器操作(见 ln-783)和工作流编排(见 ln-780)。使用前需阅读 references/ci_tool_detection.md(构建命令注册表、退出码保留与精简输出规则)。
主要能力:按标记文件识别项目类型——package.json 对应 Node.js(npm/yarn/pnpm)、*.csproj 对应 .NET(dotnet)、setup.py/pyproject.toml 对应 Python(pip/poetry)、go.mod 对应 Go、Cargo.toml 对应 Rust、pom.xml 对应 Maven、build.gradle 对应 Gradle。随后恢复依赖(Node.js 按锁文件安装、.NET 还原 NuGet、Python 按 requirements 或 pyproject 安装、Go 下载模块、Rust 获取 crate),再以生产/发布模式构建,并检查产物是否存在(如 dist/ 或 build/ 目录、bin/Release 下的 DLL、可导入的 Python 包、可执行二进制)。
使用方式:作为 L3 Worker 被 ln-780 引导验证器编排,也可独立运行;结果以结构字段返回编排器,包括 projectName、projectType、status、duration、outputPath、errorMessage。对预计超过 30 秒的构建/恢复命令使用 Monitor(2.1.98+),回退方案为 Bash(run_in_background=true)。
限制与规则:必须先恢复依赖再构建,使用生产/发布模式,不能仅凭退出码判定成功而须验证产物存在,且需报告所有项目(含失败项)。依赖恢复失败需检查网络与锁文件完整性;编译错误记录完整输出并标记失败;缺少构建工具需报告所需安装;超时需报告并建议提高限制。文件路径 references/、../ln-* 相对于本技能目录。