任务详情: - 在 CLAUDE.md 中添加了 Git 提交规范章节 - 定义了每次任务完成后的自动提交流程 - 规范了提交信息格式(包含任务类型、描述和详细说明) - 提供了自动化脚本示例 - 修改文件: CLAUDE.md - 新增文件: .claude/, .mcp.json - 影响功能: 项目文档和开发流程规范
161 lines
4.1 KiB
Markdown
161 lines
4.1 KiB
Markdown
# CLAUDE.md
|
||
|
||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
||
## 项目概述
|
||
|
||
这是一个 n8n 工作流自动化平台的演示项目。n8n 源代码位于 `n8n-n8n-1.109.2/` 目录下。
|
||
|
||
## 常用命令
|
||
|
||
### 开发环境设置
|
||
```bash
|
||
cd n8n-n8n-1.109.2
|
||
pnpm install # 安装依赖
|
||
```
|
||
|
||
### 构建项目
|
||
```bash
|
||
cd n8n-n8n-1.109.2
|
||
pnpm build > build.log 2>&1 # 构建所有包并重定向输出到日志文件
|
||
tail -n 20 build.log # 查看构建日志的最后几行
|
||
```
|
||
|
||
### 运行 n8n
|
||
```bash
|
||
cd n8n-n8n-1.109.2
|
||
pnpm start # 启动 n8n 服务器
|
||
# 或使用 npx
|
||
npx n8n
|
||
# 或使用 Docker
|
||
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
|
||
```
|
||
|
||
### 测试
|
||
```bash
|
||
cd n8n-n8n-1.109.2
|
||
pnpm test # 运行所有测试
|
||
pnpm test:affected # 运行受影响的测试
|
||
pnpm dev:e2e # 开发模式下的 E2E 测试
|
||
```
|
||
|
||
### 代码质量检查
|
||
```bash
|
||
cd n8n-n8n-1.109.2
|
||
pnpm lint # 代码检查
|
||
pnpm typecheck # 类型检查
|
||
pnpm format # 格式化代码
|
||
```
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
.
|
||
├── n8n-n8n-1.109.2/ # n8n 源代码目录
|
||
│ ├── packages/ # monorepo 包结构
|
||
│ │ ├── cli/ # CLI 和后端服务器
|
||
│ │ ├── core/ # 工作流执行引擎
|
||
│ │ ├── editor-ui/ # Vue 3 前端应用
|
||
│ │ ├── nodes-base/ # 内置节点集成
|
||
│ │ ├── workflow/ # 核心工作流接口
|
||
│ │ └── @n8n/ # 共享包
|
||
│ ├── docker/ # Docker 相关配置
|
||
│ └── cypress/ # E2E 测试
|
||
├── .git/ # Git 仓库
|
||
└── .vscode/ # VSCode 配置
|
||
```
|
||
|
||
## 技术栈
|
||
|
||
- **后端**: Node.js + TypeScript + Express + TypeORM
|
||
- **前端**: Vue 3 + TypeScript + Vite + Pinia
|
||
- **包管理**: pnpm workspaces + Turbo
|
||
- **测试**: Jest (单元测试) + Playwright (E2E)
|
||
- **数据库**: SQLite/PostgreSQL/MySQL (通过 TypeORM)
|
||
|
||
## 开发注意事项
|
||
|
||
1. **始终使用 pnpm** 而不是 npm 或 yarn
|
||
2. **在 n8n-n8n-1.109.2 目录下执行命令**
|
||
3. **运行测试前先进入对应的包目录**
|
||
4. **提交代码前运行 lint 和 typecheck**
|
||
5. **构建命令输出重定向到日志文件以便查看错误**
|
||
|
||
## Git 提交规范
|
||
|
||
### 自动提交要求
|
||
**重要**: 每次完成任务后,必须自动执行 Git 提交到 `My_N8N` 分支。
|
||
|
||
#### 提交流程
|
||
1. **确保在正确分支**
|
||
```bash
|
||
git checkout My_N8N
|
||
```
|
||
|
||
2. **添加所有更改**
|
||
```bash
|
||
git add .
|
||
```
|
||
|
||
3. **提交更改**(使用规范化的提交信息)
|
||
```bash
|
||
git commit -m "[任务类型]: 任务描述
|
||
|
||
详细说明:
|
||
- 完成的具体工作内容
|
||
- 修改的文件列表
|
||
- 影响的功能模块"
|
||
```
|
||
|
||
#### 提交信息格式
|
||
提交信息必须包含以下要素:
|
||
- **任务类型**: `feat`(新功能)、`fix`(修复)、`docs`(文档)、`style`(格式)、`refactor`(重构)、`test`(测试)、`chore`(杂项)
|
||
- **任务描述**: 简洁明了的任务概述(50字符以内)
|
||
- **详细说明**: 具体完成的工作内容
|
||
|
||
#### 示例提交信息
|
||
```bash
|
||
git commit -m "feat: 添加用户认证模块
|
||
|
||
详细说明:
|
||
- 实现了登录/注册功能
|
||
- 添加了JWT令牌验证
|
||
- 修改文件: auth.controller.ts, auth.service.ts
|
||
- 影响模块: 用户认证系统"
|
||
```
|
||
|
||
### 自动化脚本
|
||
每次任务完成后,执行以下命令序列:
|
||
```bash
|
||
# 切换到项目根目录
|
||
cd /Users/xiaoqi/Documents/Dev/Project/2025-09-08_n8nDEMO演示
|
||
|
||
# 确保在正确的分支
|
||
git checkout My_N8N
|
||
|
||
# 查看当前状态
|
||
git status
|
||
|
||
# 添加所有更改
|
||
git add .
|
||
|
||
# 提交更改(根据实际任务内容修改提交信息)
|
||
git commit -m "[任务类型]: [任务描述]
|
||
|
||
任务详情:
|
||
- [具体完成的工作]
|
||
- [修改的文件]
|
||
- [影响的功能]"
|
||
|
||
# 查看提交历史
|
||
git log --oneline -5
|
||
```
|
||
|
||
## n8n 特定指南
|
||
|
||
参考 `n8n-n8n-1.109.2/CLAUDE.md` 获取更详细的 n8n 开发指南,包括:
|
||
- TypeScript 最佳实践
|
||
- 错误处理规范
|
||
- 前端开发约定
|
||
- 测试编写指南
|
||
- Git 工作流程 |