终端编程辅导工具

一个运行在终端的编程辅导工具,通过苏格拉底式对话、间隔重复和真实代码上下文确保用户理解AI生成的代码。

  • by ameal-dev
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 ameal-dev/crates

使用说明

板条箱

在您的终端中运行的苏格拉底式编码导师。人工智能辅助编码的理解层。

Claude Code编写您的代码。Crates确保你理解它。当人工智能生成的代码触及你尚未确认理解的概念时,Crates会使用苏格拉底式对话、间隔重复和真实的代码上下文将它们列为交互式课程。

安装

自制:

brew install ameal-dev/tap/crates

去:

go install github.com/ameal-dev/crates/cmd/crates@latest

来源:

git clone https://github.com/ameal-dev/crates.git
cd crates
make build
# Binary at bin/crates

设置

陨石坑需要一个Anthropic API密钥:

export ANTHROPIC_API_KEY=sk-ant-...

然后启动TUI:

crates

用法

crates           Start the TUI
crates --mcp     Start MCP server (for Claude Code integration)
crates --version Print version
crates export    Export all data as JSON
crates --help    Show help

键盘快捷键

关键 行动
t 浏览主题
r 查看召回卡
p 查看进度
g 知识图谱
1-3 开始排队上课
ctrl+h 回家吧
ctrl+c 退出

在会议中:

关键 行动
enter 发送答案
ctrl+s 跳过(要求解释)
ctrl+d 完成会话
pgup/pgdn 滚动聊天
ctrl+h 结束会话并回家

Claude代码集成

Crates包括一个连接到Claude Code的MCP服务器。连接后,Claude Code会意识到您的知识差距,并相应地调整其代码生成。

添加到您的Claude代码配置中(~/.claude.json):

{
  "mcpServers": {
    "crates": {
      "command": "crates",
      "args": ["--mcp"]
    }
  }
}

MCP服务器公开了两个工具:

  • crates_get_user_context --返回弱主题,以便Claude Code可以在需要的地方添加解释性注释。
  • crates_record_exposure --记录人工智能生成的代码何时触及概念,并为课程队列提供信息。

运作原理

  1. 您可以使用Claude Code编写代码。
  2. Crates通过MCP集成检测生成代码中的概念。
  3. 你尚未确认理解的概念会作为课程排队。
  4. 当你打开板条箱时,它通过苏格拉底式对话进行教学——提问,而不是说教。
  5. 了解检查点会生成间隔重复卡,以便长期保留。
  6. 你的有效掌握会反馈给克劳德代码,从而结束循环。

数据

所有数据都存储在本地 ~/.crates/crates.db (SQLite)。随时导出您的数据:

crates export > data.json

许可证

麻省理工学院