ADR-0007 · 项目命名为 Alfred,移除 claw 前缀¶
- 状态:accepted
- 日期:2026-08-01
背景(Context)¶
问题一:claw 是哪来的?
用户在审阅旧代码时发现包名 @claw/mobile、@claw/shared,直接质疑:
"为什么有 claw 呢?为什么命名有 claw 呢?这个不对吧,这个命名完全不对。"
查证结论:claw 是最初脚手架自动生成的 npm 作用域前缀,没有任何业务含义,纯属残留。
问题二:jobhunter 这个名字会过期。
用户随后指出:
"既然未来可以变成一个私人的助理,那仓库名称是不是也要更新了,而不是 jobhunter 呢。"
这与产品定位完全一致——求职季结束后,助理要继续服务于工作与社交。叫 jobhunter 等于给产品设了一个到期日。
问题三:起什么名? 用户给了明确方向:
"能不能起名类似罗宾,也就是蝙蝠侠的罗宾,是一个非常好的私人助手呢?"
决策(Decision)¶
项目命名为 Alfred(阿尔弗雷德·潘尼沃斯,蝙蝠侠的管家)。
| 仓库 | 名称 |
|---|---|
| 后端 | alfred-api |
| 前端 | alfred-web |
| Python 包 | alfred |
claw 前缀全面移除,且不从旧仓库继承任何命名。
理由与代价(Consequences)¶
为什么是 Alfred 而不是 Robin
在蝙蝠侠宇宙里,罗宾是并肩作战的搭档,阿尔弗雷德才是那个打理一切的管家——记日程、备装备、整理信息、在关键时刻递上该递的东西。用户描述的产品是"像秘书一样帮我记录、整理、提醒",语义上正对应 Alfred 而非 Robin。
用户在 alfred / robin / oracle 三个候选中选择了 alfred。
其余理由
- 领域中性:名字里没有 "job",覆盖求职 → 工作 → 社交全周期
- 好读、好记、单词短,做命令行/包名都合适
- 有清晰的人格意象,便于未来做交互语气的一致性
代价
- 与已有的 macOS 工具 Alfred 重名(个人项目,无商业冲突,可接受)
- 旧仓库
jobhunter的名字保留不动,作为只读原型归档
备选方案(Alternatives)¶
| 候选 | 说明 | 为何不选 |
|---|---|---|
robin |
蝙蝠侠的搭档 | 语义偏"并肩作战",不如管家贴"私人助理/秘书" |
oracle |
芭芭拉,情报中枢 | 语义很贴"整理串联信息",但与 Oracle 数据库严重撞名 |
jobhunter(沿用) |
锁死在求职领域,与长期定位冲突 | |
personal-assistant / concierge |
描述性太强,不像产品名,没有记忆点 |
执行清单¶
- [x] 新仓库使用
alfred-api/alfred-web - [x] Python 包名
alfred,不带任何作用域前缀 - [ ] 前端
package.json用alfred-web,不使用 npm scope - [ ] 旧
jobhunter仓库标记为归档(只读参考)