关于 distinctdeer
distinctdeer 是项目命名技能,可领取未使用的名称并将其登记为已占用。它从 GitHub 运行,无需本地检出,随后在配置的项目根目录初始化空仓库;项目脚手架由其他技能负责。
主要功能
- 01领取未使用的项目名称
- 02在 Obsidian vault 中登记名称
- 03将名称复制到剪贴板
- 04初始化空 Git 仓库
适用场景
- 01为新项目预留名称
- 02在项目根目录创建空仓库
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gkwa/ volcanicviper --skill distinctdeer安装后在 Claude Code 中输入/distinctdeer确认已加载。
详细介绍
distinctdeer
distinctdeer 管理项目名称池,并分配一个未使用的名称。
将其视为名称的唯一权威,并让它自行记录名称认领。
它直接从 GitHub 运行,因此无需本地检出,也无需在磁盘上维护同步状态。
基础目录
新项目位于一个根目录下,即 PDEV_ROOT,默认值为 $HOME/pdev/taylormonacelli。
工具调用之间的 Shell 状态不会保留,因此下面的命令会内联展开根目录,而不依赖已导出的变量。
认领名称
uv tool run --from git+https://github.com/gkwa/distinctdeer distinctdeer use --out json rand
此命令会输出 {"name": "<name>"},并在一个步骤中将该名称标记为已使用。
从该 JSON 中读取 <name>,并在本次运行的其余步骤中使用它。
创建项目
git init "${PDEV_ROOT:-$HOME/pdev/taylormonacelli}/<name>"
git init 会创建目录本身,因此这就是完整步骤。
完成后报告解析出的绝对路径。
结果是一个没有提交的空仓库,到此本技能就结束了。
其中的脚手架内容由特定语言的技能负责。
参考
--from 属于 uv tool run;uv run 会拒绝该参数,并建议使用 --frozen。
--out 属于 use 子命令,且必须放在 rand 之前。
use --out json rand 可以正常工作,而 use rand --out json 会因参数无法识别而退出。
distinctdeer 会将认领的名称复制到剪贴板,替换其中原有的内容。
distinctdeer 会在 Obsidian 库中记录此次认领,并让该更改保持未提交状态,这是预期行为;请保持原样。
评论
支持 Markdown