chore: 初始化仓库

This commit is contained in:
Lydanne
2026-02-15 22:02:21 +08:00
commit 08d011d63f
381 changed files with 87202 additions and 0 deletions

189
README.md Normal file
View 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