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 工作流程
|