SuperAPI AI 工具集

project

编程与开发

查看项目

更新于 10-16 01:57

技能介绍

用途

project 技能用于克隆和跟踪外部仓库,适合以下情况:用户分享一个 GitHub URL 想要研读或基于其开发、用户提到想从某个代码库学习、用户想在外部仓库上开始开发,或需要查找之前克隆的项目位于何处。

项目分为两类:Learn(学习,只读参考)与 Incubate(开发)。当用户提出开发需求或使用 /project incubate 时,该操作会重定向到独立技能 /incubate,由后者执行,本技能不重复实现 incubate 逻辑。

核心原则

Golden Rule:ghq 负责克隆,ψ/ 负责符号链接。

  • 永不复制,始终使用符号链接,保持单一数据源。
  • 所有克隆都通过 ghq 完成,不手动在 ghq 之外克隆。
  • 目录采用 org/repo 结构,例如 ψ/learn/owner/repo,而非扁平命名。

主要能力

  • learn [url|slug]:以只读参考的方式克隆仓库用于研读。通过 ghq 获取仓库,并在 ψ/learn/owner 下创建指向 ghq 根目录副本的符号链接,最后输出绝对路径。
  • incubate:重定向至 /incubate 技能。用户执行 /project incubate [args] 时,应改为运行 /incubate [args],不在本技能内执行 incubate 逻辑。
  • find [query]:在所有位置搜索项目,包括用 ghq list | grep 搜索 ghq 仓库,以及在 ψ/learn、ψ/incubate 的符号链接中查找,输出匹配项及其 ghq 路径。
  • list:展示所有被跟踪项目及其元数据,收集 learn 与 incubate 的符号链接,通过 GitHub API 获取 Star 数、许可证、类型与描述(每个会话缓存),并输出总数。

使用方式

首先进行锚定步骤(Step 0),通过命令获取日期时间戳与 oracle 根目录:使用 git rev-parse --show-toplevel 定位包含 CLAUDE.md 与 ψ/ 的 git 顶层目录;若当前不在 oracle 仓库中,则提示并写入当前工作目录。

常用命令示例:

  • 添加学习仓库:ghq get -u URL && mkdir -p "$PSI/learn/owner" && ln -sf "$(ghq root)/github.com/owner/repo" "$PSI/learn/owner/repo"
  • 转入开发:/incubate URL [--flash | --contribute | --status | --offload]
  • 更新源:ghq get -u URL
  • 查找仓库:ghq list | grep name

目录结构:

ψ/
├── learn/owner/repo     → ~/Code/github.com/owner/repo  (symlink)
└── incubate/owner/repo  → ~/Code/github.com/owner/repo  (symlink)

~/Code/               ← ghq root (source of truth)
└── github.com/owner/repo/  (actual clone)

适用场景

  • 用户分享 GitHub URL,希望从中学习或克隆参考。
  • 用户想在外部仓库基础上开始开发(此时转向 /incubate)。
  • 用户需要找回此前克隆的项目所在位置。
  • 用户需要一览所有已跟踪仓库及其 Star、许可证等元数据。

限制与注意事项

  • 需要在带有 CLAUDE.md 与 ψ/ 的 oracle 仓库结构中运行;若不在该结构中会提示并写入当前目录。
  • 依赖 ghq(管理克隆)与 gh CLI(获取 GitHub 元数据)。
  • 提供健康检查:使用 find "$PSI/learn" "$PSI/incubate" -type l ! -exec test -e {} \; -print 检测失效符号链接,如失效可用 ghq get -u [url] 恢复源。
  • 反模式:直接 git clone 到 ψ/、扁平命名、复制文件、在 ghq 之外手动克隆均属错误做法。
  • 关于收费、价格、平台或具体效果,资料中暂未提供。