docs: 添加 Git 自动提交规范
任务详情: - 在 CLAUDE.md 中添加了 Git 提交规范章节 - 定义了每次任务完成后的自动提交流程 - 规范了提交信息格式(包含任务类型、描述和详细说明) - 提供了自动化脚本示例 - 修改文件: CLAUDE.md - 新增文件: .claude/, .mcp.json - 影响功能: 项目文档和开发流程规范
This commit is contained in:
68
.claude/settings.local.json
Normal file
68
.claude/settings.local.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(mkdir:*)",
|
||||
"Bash(rm:*)",
|
||||
"Bash(pip install:*)",
|
||||
"Bash(python3:*)",
|
||||
"Bash(source:*)",
|
||||
"Bash(/usr/bin/python3:*)",
|
||||
"Bash(python:*)",
|
||||
"Bash(cat:*)",
|
||||
"mcp__promptx__promptx_init",
|
||||
"mcp__claude-code-mcp__claude_code",
|
||||
"mcp__serena__activate_project",
|
||||
"mcp__serena__check_onboarding_performed",
|
||||
"mcp__serena__onboarding",
|
||||
"mcp__serena__list_dir",
|
||||
"mcp__serena__read_file",
|
||||
"mcp__serena__search_for_pattern",
|
||||
"mcp__serena__execute_shell_command",
|
||||
"mcp__serena__think_about_collected_information",
|
||||
"mcp__serena__write_memory",
|
||||
"mcp__serena__list_memories",
|
||||
"Bash(pip3 install:*)",
|
||||
"Bash(chmod:*)",
|
||||
"Bash(grep:*)",
|
||||
"Bash(pip install pymysql pyyaml requests)",
|
||||
"Bash(python3:*)",
|
||||
"Bash(grep:*)",
|
||||
"Bash(cat:*)",
|
||||
"Bash(mv:*)",
|
||||
"Bash(timeout 120 python src/test/2025-08-14_模型对比测试/model_comparison_test.py)",
|
||||
"Bash(timeout 60 python src/test/2025-08-14_模型对比测试/test_deepseek_professional.py)",
|
||||
"mcp__serena__create_text_file",
|
||||
"mcp__serena__replace_regex",
|
||||
"Bash(mysql:*)",
|
||||
"Bash(tree:*)",
|
||||
"Bash(pkill:*)",
|
||||
"mcp__serena__replace_symbol_body",
|
||||
"Bash(timeout 600 python3 src/就业管家首页/main.py)",
|
||||
"mcp__serena__find_file",
|
||||
"Bash(/Users/xiaoqi/Documents/Dev/Project/2025-08-12_Saas数据生成/venv/bin/python3 /Users/xiaoqi/Documents/Dev/Project/2025-08-12_Saas数据生成/src/就业管家首页/main.py)",
|
||||
"Bash(/Users/xiaoqi/Documents/Dev/Project/2025-08-12_Saas数据生成/venv/bin/python3 run_full_generation.py)",
|
||||
"Bash(/Users/xiaoqi/Documents/Dev/Project/2025-08-12_Saas数据生成/run.sh)",
|
||||
"Bash(. venv/bin/activate)",
|
||||
"Bash(./venv/bin/python3:*)",
|
||||
"Bash(/Users/xiaoqi/Documents/Dev/Project/2025-08-12_Saas数据生成/venv/bin/python3 src/就业管家首页/main.py)",
|
||||
"Bash(/Users/xiaoqi/Documents/Dev/Project/2025-08-12_Saas数据生成/venv/bin/python3:*)",
|
||||
"mcp__sequential-thinking__sequentialthinking",
|
||||
"Bash(test:*)"
|
||||
],
|
||||
"defaultMode": "acceptEdits",
|
||||
"additionalDirectories": [
|
||||
"/Users/xiaoqi/Documents"
|
||||
]
|
||||
},
|
||||
"enableAllProjectMcpServers": true,
|
||||
"enabledMcpjsonServers": [
|
||||
"context7",
|
||||
"browser-tools",
|
||||
"claude-code-mcp",
|
||||
"promptx",
|
||||
"playwright",
|
||||
"sequential-thinking",
|
||||
"feishu-api",
|
||||
"shadcn-ui-server"
|
||||
]
|
||||
}
|
||||
71
.mcp.json
Normal file
71
.mcp.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"context7": {
|
||||
"type": "stdio",
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@upstash/context7-mcp"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
"browser-tools": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@agentdeskai/browser-tools-mcp@latest"
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
"claude-code-mcp": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@steipete/claude-code-mcp@latest"
|
||||
]
|
||||
},
|
||||
"promptx": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"-f",
|
||||
"--registry",
|
||||
"https://registry.npmjs.org",
|
||||
"dpml-prompt@beta",
|
||||
"mcp-server"
|
||||
]
|
||||
},
|
||||
"playwright": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@playwright/mcp@latest"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
"sequential-thinking": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@modelcontextprotocol/server-sequential-thinking"
|
||||
]
|
||||
},
|
||||
"feishu-api": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"apifox-mcp-server@latest",
|
||||
"--project-id=6808546"
|
||||
],
|
||||
"env": {
|
||||
"APIFOX_ACCESS_TOKEN": "APS-unMJRsbd0NZeaqd99nAIhdN63mVPUkzX"
|
||||
}
|
||||
},
|
||||
"shadcn-ui-server": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"@heilgar/shadcn-ui-mcp-server"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
161
CLAUDE.md
Normal file
161
CLAUDE.md
Normal file
@@ -0,0 +1,161 @@
|
||||
# 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 工作流程
|
||||
Reference in New Issue
Block a user