mirror of
https://github.com/Lydanne/spaceflow.git
synced 2026-03-11 19:52:45 +08:00
chore: 初始化仓库
This commit is contained in:
189
README.md
Normal file
189
README.md
Normal file
@@ -0,0 +1,189 @@
|
||||
# spaceflow
|
||||
|
||||
Spaceflow 的工作流系统,提供统一的 CI/CD 管理和 AI 代码审查能力。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **统一管理手动触发的 CI**:提供统一的 UI 系统管理手动触发的 CI 任务
|
||||
- **可扩展的 UI 界面**:支持命令行、Web 界面、飞书对话机器人等多种交互方式
|
||||
- **可自定义的通知消息模板**:灵活配置通知消息格式
|
||||
- **可扩展的通知方式**:支持多种通知渠道
|
||||
- **按仓库隔离**:各仓库配置独立,互不干扰
|
||||
- **PR 流程自动化**:AI 审核、ESLint 检查、重复代码检查、自定义仓库脚本等
|
||||
|
||||
## 项目结构
|
||||
|
||||
```bash
|
||||
spaceflow/
|
||||
├── actions/ # GitHub Actions
|
||||
├── core/ # 核心服务(NestJS 应用)
|
||||
│ └── src/
|
||||
│ ├── commands/ # CLI 命令模块
|
||||
│ │ ├── review/ # 代码审查
|
||||
│ │ ├── publish/ # CI 发布
|
||||
│ │ ├── ci-scripts/ # 自定义脚本执行
|
||||
│ │ ├── ci-shell/ # Shell 命令执行
|
||||
│ │ ├── claude-setup/ # Claude 配置
|
||||
│ │ └── period-summary/ # 周期总结
|
||||
│ └── shared/ # 共享模块
|
||||
│ ├── feishu-sdk/ # 飞书 SDK
|
||||
│ ├── git-sdk/ # Git 命令封装
|
||||
│ ├── git-provider/ # Git Provider 适配器
|
||||
│ ├── llm-proxy/ # LLM 统一代理
|
||||
│ ├── review-spec/ # 审查规范管理
|
||||
│ ├── review-report/ # 审查报告格式化
|
||||
│ └── storage/ # 通用存储模块
|
||||
├── .github/
|
||||
│ └── workflows/ # GitHub Actions 工作流文件
|
||||
└── spaceflow.json # 项目配置
|
||||
```
|
||||
|
||||
## 核心命令
|
||||
|
||||
### review
|
||||
|
||||
基于 LLM 的自动化代码审查,支持 OpenAI、Claude 等多种 LLM 模式。
|
||||
|
||||
```bash
|
||||
# 审查 PR
|
||||
npx spaceflow review -p 123 -l openai
|
||||
|
||||
# 审查两个分支之间的差异
|
||||
npx spaceflow review -b main --head feature/xxx -l openai
|
||||
|
||||
# 仅分析删除代码
|
||||
npx spaceflow review -p 123 --deletion-only -l openai
|
||||
```
|
||||
|
||||
详细文档:[Review 模块文档](core/src/commands/review/README.md)
|
||||
|
||||
### publish
|
||||
|
||||
自动化版本发布,基于 release-it 实现版本管理和变更日志生成。
|
||||
|
||||
### ci-scripts
|
||||
|
||||
执行仓库中的自定义脚本。
|
||||
|
||||
### ci-shell
|
||||
|
||||
执行自定义 Shell 命令。
|
||||
|
||||
### claude-setup
|
||||
|
||||
配置 Claude CLI 工具。
|
||||
|
||||
### period-summary
|
||||
|
||||
生成周期性工作总结,支持飞书消息推送。
|
||||
|
||||
## 配置
|
||||
|
||||
在项目根目录创建 `spaceflow.json` 配置文件:
|
||||
|
||||
```javascript
|
||||
export default {
|
||||
changelog: {
|
||||
preset: {
|
||||
type: [
|
||||
{ type: "feat", section: "新特性" },
|
||||
{ type: "fix", section: "修复BUG" },
|
||||
// 更多配置...
|
||||
],
|
||||
},
|
||||
},
|
||||
review: {
|
||||
claudeCode: {
|
||||
baseUrl: process.env.CLAUDE_CODE_BASE_URL,
|
||||
authToken: process.env.CLAUDE_CODE_AUTH_TOKEN,
|
||||
model: process.env.CLAUDE_CODE_MODEL || "ark-code-latest",
|
||||
},
|
||||
openai: {
|
||||
baseUrl: process.env.OPENAI_BASE_URL || "https://api.openai.com/v1",
|
||||
apiKey: process.env.OPENAI_API_KEY,
|
||||
model: process.env.OPENAI_MODEL || "gpt-4o",
|
||||
},
|
||||
includes: ["*/**/*.ts", "!*/**/*.spec.*", "!*/**/*.config.*"],
|
||||
generateDescription: true,
|
||||
lineComments: true,
|
||||
verifyFixes: true,
|
||||
analyzeDeletions: true,
|
||||
concurrency: 10,
|
||||
retries: 3,
|
||||
},
|
||||
/**
|
||||
* 支持的编辑器列表,用于自动关联插件到对应的配置目录
|
||||
* 可选值: "claudeCode" (.claude), "windsurf" (.windsurf), "cursor" (.cursor), "opencode" (.opencode)
|
||||
* 默认值: ["claudeCode"]
|
||||
*/
|
||||
support: ["claudeCode", "windsurf", "cursor"],
|
||||
};
|
||||
```
|
||||
|
||||
## 插件系统
|
||||
|
||||
Spaceflow 支持将插件自动关联到多个编辑器的配置目录中。通过在 `spaceflow.json` 中配置 `support` 字段,你可以让安装的技能和命令同时支持多个 AI 编程工具。
|
||||
|
||||
### 支持的编辑器
|
||||
|
||||
- **claudeCode**: 关联到 `.claude/`
|
||||
- **windsurf**: 关联到 `.windsurf/`
|
||||
- **cursor**: 关联到 `.cursor/`
|
||||
- **opencode**: 关联到 `.opencode/`
|
||||
|
||||
### 自动关联逻辑
|
||||
|
||||
当你运行 `spaceflow install` 时,系统会:
|
||||
|
||||
1. 下载/链接插件到 `.spaceflow/` 目录。
|
||||
2. 根据 `support` 配置,在对应的编辑器目录下创建 `skills` 或 `commands` 的符号链接。
|
||||
3. 如果是全局安装 (`-g`),则会关联到家目录下的对应编辑器目录(如 `~/.claude/`)。
|
||||
|
||||
## 开发
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
```
|
||||
|
||||
### 构建
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
### 运行测试
|
||||
|
||||
```bash
|
||||
pnpm test
|
||||
```
|
||||
|
||||
### 代码检查
|
||||
|
||||
```bash
|
||||
pnpm lint
|
||||
```
|
||||
|
||||
### 代码格式化
|
||||
|
||||
```bash
|
||||
pnpm format
|
||||
```
|
||||
|
||||
## GitHub Actions 工作流
|
||||
|
||||
项目包含多个预配置的 GitHub Actions 工作流:
|
||||
|
||||
- `pr-review.yml`:自动 PR AI 审查
|
||||
- `pr-review-command.yml`:手动触发 PR 审查
|
||||
- `core-command.yml`:运行任意 spaceflow 命令
|
||||
- `actions-test.yml`:Actions 测试
|
||||
|
||||
## Git Flow
|
||||
|
||||
参考飞书文档
|
||||
|
||||
## 许可证
|
||||
|
||||
UNLICENSED
|
||||
Reference in New Issue
Block a user