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