项目简介
'Claude' 是一个为 Elixir 语言设计的集成库,旨在提升 Anthropic 的 Claude Code 大型语言模型 (LLM) 在编写 Elixir 代码时的效率和质量。它通过自动执行代码格式化检查、编译错误检测,并整合项目最佳实践等上下文信息,以标准化的方式提供给 Claude Code,确保其生成的代码符合项目规范,减少后期修正成本。
主要功能点
- 智能钩子: 自动在代码修改、提交等关键环节触发检查,包括代码格式化、编译错误捕获等,确保代码质量。
- 子代理: 允许创建专业的 AI 助手,这些助手能够根据项目依赖自动集成其最佳实践,为 Claude Code 提供领域特定的专业指导。
- MCP 服务器支持: 能够与 Phoenix 等 Elixir 开发工具无缝集成,通过配置自动生成 Model Context Protocol (MCP) 服务器定义,为 LLM 客户端提供丰富的、结构化的项目上下文信息。
- 最佳实践: 自动同步项目依赖库的用法规则到 'CLAUDE.md' 文件,确保 Claude Code 在编写代码时遵循所有相关库的特定规范和最佳实践。
安装步骤
- 环境要求:
- 确保您的系统已安装 Elixir 1.18 或更高版本。
- 安装 Anthropic 的 Claude Code CLI 工具。
- 您的项目必须是一个 Mix 项目。
- 通过 Igniter 安装:
在您的 Mix 项目根目录下,运行以下命令:
此命令将自动执行以下操作:mix igniter.install claude- 将 'claude' 添加到您的项目依赖中。
- 生成 '.claude.exs' 配置文件。
- 在 '.claude/settings.json' 中配置相关钩子。
- 在 '.claude/agents/' 目录中生成子代理。
- 将用法规则同步到 'CLAUDE.md' 文件。
- 如果配置了 MCP 服务器,将创建或更新 '.mcp.json' 文件。
服务器配置(供MCP客户端使用)
'Claude' 库会根据您的项目配置(特别是 '.claude.exs' 文件中的 'mcp_servers' 选项),自动生成或更新 '.mcp.json' 文件。该文件包含了 MCP 服务器的启动命令和参数,供 LLM 客户端(如 Claude Code CLI)读取并连接。
例如,如果您在 '.claude.exs' 中配置了 'tidewave' 作为 MCP 服务器,生成的 '.mcp.json' 文件可能包含以下结构:
{ "servers": [ { "name": "tidewave", // 服务器名称,标识该MCP服务器 "command": "mix", // 启动服务器所使用的命令 "args": ["tidewave.start"], // 启动命令的参数,用于执行具体服务器的启动逻辑 "description": "为 Phoenix 项目提供上下文,包括数据库访问、Schema 信息和 LiveView 组件详情。" // 服务器功能简要描述 } // 根据项目依赖和您在 '.claude.exs' 中的配置,这里可能会自动生成更多 MCP 服务器的定义, // 例如用于数据库访问、测试或文档生成的服务器。 ] }
这些配置信息由 'Claude' 库自动生成,LLM 客户端会利用 'command' 和 'args' 来启动并与对应的 MCP 服务器进行通信,获取项目上下文和执行工具。用户通常不需要手动修改此文件。
基本使用方法
安装完成后,'Claude' 库将自动集成到您的 Elixir 开发工作流中。当您使用 Claude Code 编写或修改代码时:
- 自动反馈: 如果 Claude Code 写入的代码存在格式问题或编译错误,'Claude' 库会通过钩子系统立即检测到,并向 Claude Code 提供即时反馈。
- 智能修正: Claude Code 可以根据这些反馈自动调整和修正其生成的代码,直到代码符合项目的质量标准。
- 上下文感知: Claude Code 在生成代码时会受益于 'Claude' 提供的上下文信息(如用法规则、子代理的最佳实践和 MCP 服务器提供的项目结构与数据访问能力),从而生成更准确、更符合项目约定的代码。 这个过程是自动的,无需人工干预,极大地提升了 LLM 在 Elixir 项目中的代码生成效率和准确性。
信息
分类
开发者工具