用途:该 skill 用于在 FreePascal 项目中应用用户的工具链及其构建、格式化、钩子和测试契约,把项目特有的实现机制留在本地。项目 AGENTS 与文档负责具体实现规则和确切命令,project-structure/SKILL.md 负责语言中立的目录布局与文档。
主要能力与约定:编译器采用项目与 CI 固定的 FPC 版本,新项目固定最新稳定版;除项目文档明确选择其他模式外使用 Delphi 模式。项目级编译指令集中在一个共享 include 中供所有单元使用。Pascal 源码放在单一根目录(推荐 source/),使用带命名空间的文件名,命名空间变得难以管理前保持扁平布局。单元测试就近放置,交付用的端到端测试语料放在根 tests/ 下,所有被忽略的构建产物放在根 build/ 下。一次性 Pascal 脚本优先使用可执行的 InstantFPC;仅当现有任务运行器或动态语言明显更简单时才改用它们。编写或审查 Pascal 源码时阅读 references/code-style.md。
构建契约:项目自选实现方式,但须提供一个根入口点——裸调用执行所有二进制的干净开发构建;位置参数选择一个或多个二进制目标;development 为默认,production 标志选择发布设置;clean 是一个目标,可与其他目标组合;每个二进制产物都落在 build/ 下。入口点、目标与标志须记录在 docs/build-system.md,修改前先阅读。
格式化与健康契约:一条格式化/检查命令默认重写 Pascal,并提供非修改的 --check 模式,偏离时以非零退出。项目特有风格放在工具与 docs/code-style.md,而非分散配置。代码库健康门禁报告定位到的重复、每函数圈复杂度与认知复杂度、可排序的文件健康度,以及复杂度乘变更热点的区域;阈值与忽略项放在一个根配置中,超限以非零退出,工具与阈值记录在 docs/tooling.md。
钩子:Lefthook 对暂存的 Pascal 运行项目格式化检查及其构建和测试命令。使用确切的项目入口点,按文档快速开始安装钩子,未经用户明确指示不得绕过。
完成标准:已检查根与各区域的 AGENTS,fpc -iV 与项目/CI 固定版本一致,任何被触碰工具在依赖其行为前已实测版本。项目格式化与构建测试门禁被观察到通过。仅更新受改动影响的权威文档。
限制:资料未提供具体价格、平台支持范围或安装命令细节;所有实现细节以项目自身文档为准。