SuperAPI AI 工具集

kalahari-coding

编程与开发

查看项目

更新于 10-15 17:24

技能介绍

用途:这是 Kalahari 项目的核心编码规范与约定,要求所有涉及代码的智能体必须遵循,以保证图标、主题、配置、UI 文案、日志、布局、构建和命名等方面的一致性。

主要能力与约定:

  1. 图标:始终通过 core::ArtProvider::getInstance().getIcon("cmd_id") 或 createAction("cmd_id", parent) 获取,禁止硬编码 QIcon 路径;图标位于 resources/icons/,在 icon_registrar.cpp 中注册。
  2. 图标颜色:使用 ArtProvider 的 getPrimaryColor/getSecondaryColor 及 setPrimaryColor/setSecondaryColor,禁止硬编码 QColor;不存在的 Theme::instance().getColor() 不可用。
  3. 配置:经 core::SettingsManager::getInstance() 的 getValue/setValue 读写,避免硬编码配置值。
  4. UI 字符串:使用 tr() 包裹以便翻译,禁止硬编码用户可见文本。
  5. 主题:经 core::ThemeManager::getInstance().getCurrentTheme() 读取颜色。新增主题颜色必须运行 scripts/add_theme_color.py,参数为 color_name、dark_value、light_value、-d 描述、可选 -l 标签与 -s(加入设置界面),禁止手动改多个文件。
  6. 日志:统一使用 core::Logger::getInstance() 的 info/debug/warn/error,级别含 trace、debug、info、warn、error、critical。
  7. 布局(Qt6):使用 QVBoxLayout/QHBoxLayout/QGroupBox,清空布局须用 kalahari::gui::utils::clearLayout,禁止手动 takeAt 循环删除以免泄漏。
  8. 构建:Windows 用 scripts/build_windows.bat Debug,Linux 用 scripts/build_linux.sh,不要直接用 cmake,Windows 构建不要在 WSL 中执行。
  9. 命名:文件 snake_case、类 PascalCase、方法 camelCase、成员 m_ 前缀、常量 UPPER_SNAKE_CASE、命名空间小写。
  10. 单例:ArtProvider、SettingsManager、ThemeManager、IconRegistry、Logger 位于 kalahari::core;CommandRegistry 位于 kalahari::gui,均通过 getInstance() 访问。
  11. 代码智能与外部文档:可借助 MCP 工具理解、导航与重构代码;Qt6 等库文档可用 Context7 查询,例如 mcp__context7__resolve-library-id("Qt6") 与 mcp__context7__get-library-docs("/qt/qtdoc", topic="QDockWidget")。

适用场景:修改或新建 Kalahari 代码、重构、查 API 与信号槽、遵循统一规范时。限制:规范未说明适用范围之外的收费、平台或效果等细节,暂未提供。