SuperAPI AI 工具集

codemap

编程与开发

查看项目

更新于 10-25 16:17

技能介绍

codemap 是一个面向不熟悉代码仓库的代码地图生成技能,属于 akitaonrails/my-skills 技能集合,页面地址为 https://www.skills.sh/akitaonrails/my-skills/codemap。其目标是帮助用户理解并映射仓库,生成层级化的 codemap 文档。资料说明这是一种开销较大的操作,仅应在用户明确要求代码库文档、或开始处理不熟悉的代码库时使用。

主要能力

该技能围绕目录级 codemap.md 与根级仓库地图展开。每个目录的 codemap.md 记录该目录的责任(用软件工程术语定义角色,如服务层、数据访问对象、中间件)、设计模式(如观察者、单例、工厂、策略)、数据与控制流(数据如何进入和离开模块、函数调用顺序与状态转换)、集成点(依赖与消费模块、钩子、事件、API 端点)。根级 codemap.md 作为主入口,记录根级文件与项目总体目的,聚合并链接各子目录的 codemap。技能还会在仓库根 AGENTS.md 中登记仓库地图,使智能体在每次会话中自动发现并读取 codemap。该登记是幂等的,重复运行不会产生重复内容。

使用方式

工作流分为若干步骤。第一步检查状态:若仓库根存在 .slim/codemap.json 则跳过初始化进入变更检测;若只存在旧版 .slim/cartography.json 则先重命名为 .slim/codemap.json;若都不存在则进入初始化。第二步初始化:分析仓库结构,推断核心代码与配置文件模式,明确排除测试(如 /*.test.ts、/.spec.ts、tests/、tests/)、文档(docs/、除根 README.md 外的 *.md、LICENSE)、构建与依赖(node_modules/、dist/、build/、.min.js),并自动遵守 .gitignore。随后运行脚本初始化,示例命令为:node ~/.config/opencode/skills/codemap/scripts/codemap.mjs init --root ./ --include "src//*.ts" --exclude "/*.test.ts" --exclude "dist/" --exclude "node_modules/"。该命令创建 .slim/codemap.json(用于变更检测的文件与目录哈希)并在相关子目录创建空的 codemap.md。随后按目录委派 Fixer 代理阅读代码并编写各目录的 codemap.md。第三步变更检测:在已有状态时运行 node ~/.config/opencode/skills/codemap/scripts/codemap.mjs changes --root ./ 查看新增、删除、修改的文件与受影响目录,仅更新受影响目录的 codemap,再运行 node ~/.config/opencode/skills/codemap/scripts/codemap.mjs update --root ./ 保存新状态。第四步汇总根级地图:记录根级文件与项目目的,生成“仓库目录地图”章节,提取各目录 codemap 的责任摘要并附上路径链接。第五步在 AGENTS.md 中登记仓库地图:若已有 ## Repository Map 章节则跳过,否则追加或创建该章节,说明在任务开始前读取根 codemap.md 以及特定目录的 codemap.md。

适用场景

适用于用户要求理解或映射仓库、需要代码库文档、或开始处理不熟悉代码库的情形。

限制

资料将该操作描述为开销较大,要求仅在明确需要时使用。关于运行环境的具体版本要求、性能数据、收费与价格信息暂未提供。