EricJujianZou/rederive

Learn a codebase by re-deriving its design decisions yourself. A Claude Code skill.

rederive 是一个工具,通过让你从头开始重新设计代码库来教你理解其工作原理,仅使用问题作为提示。它从不直接向你解释代码——它引导你自行重新发现设计。

它的作用

当你在项目上运行 rederive 时,它会将代码库变成一个交互式谜题。你不是阅读解释或文档,而是被要求解决原始开发者面临的相同设计问题。你提出解决方案,rederive 用约束条件进行反驳,你完善答案,直到你得出真实设计。其理念是,因为你亲自推导出了代码,所以真正理解了它,而不是记住别人告诉你的内容。

工作原理

  1. 它从“为什么”开始。 如果你在自己的项目上运行它,它会问你为什么构建它。如果你在别人的项目上运行它,它会找出项目原本要解决的原始问题,并问你会如何解决。
  2. 后台代理在你回答时研究仓库。 它读取代码,追踪文件之间的导入关系,并查看设计发生变化的提交。它故意忽略提交消息,因此即使是由 AI 在几个大提交中构建的仓库也能正常工作。
  3. 它构建一个包含 5-10 个设计问题的地图,按系统实际构建顺序列出。每个问题都附带其约束条件和真实解决方案。此地图存储在名为 .rederive/map.md 的文件中——并且你被告知在完成之前不要偷看,因为它包含答案。
  4. 如果你卡住了,它会将问题缩小到几种可能的方法供你选择。如果你连续给出两个错误答案,它会主动为你勾勒问题。
  5. 它记录你的进度日志,保存在 .rederive/log.md 中——记录你在哪里遇到困难以及你自行解决了什么。你可以在最后阅读它,看看需要练习什么。

安装

在终端中运行此命令:

npx skills add EricJujianZou/rederive

这会为 Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot、opencode、Windsurf、Amp、Goose 以及大约 15 个其他编码代理安装它。添加 -g 可以为每个项目安装,而不仅仅是当前项目。安装后,在你的代理中输入 /rederive。

它需要你的机器上安装有 git、bash 和 python3。

还有其他安装方法:作为 Claude Code 插件,或手动克隆仓库并将技能文件夹复制到你的代理的技能目录中。

用法

/rederive                                       # 你当前所在的仓库
/rederive ~/code/myapp                          # 本地仓库
/rederive https://github.com/expressjs/express  # 将远程仓库克隆到当前文件夹

你用普通语言与它交流。你可以告诉它你卡住了,要求跳过某个问题,或说你想重新开始。

隐私

所有内容都保留在你的机器上。.rederive/ 文件夹被添加到仓库的本地 git 排除列表中,因此它永远不会出现在你的提交中。rederive 不发送任何遥测数据。

许可证

MIT。

该项目自称是“一位沮丧的开发者试图恢复人类好奇心的尝试”。

相关

  • 项目
  • 项目
  • 项目
  • 项目