mirror of
https://github.com/Lydanne/spaceflow.git
synced 2026-03-11 19:52:45 +08:00
4.1 KiB
4.1 KiB
项目结构
Spaceflow 采用 pnpm Monorepo 结构,以下是主要目录说明。
目录概览
spaceflow/
├── core/ # @spaceflow/core — 核心能力库
│ └── src/
│ ├── config/ # 配置加载与校验
│ ├── extension-system/ # Extension 加载系统
│ └── shared/ # 共享模块
│ ├── git-provider/ # Git 平台适配器(GitHub / Gitea)
│ ├── git-sdk/ # Git 命令封装
│ ├── llm-proxy/ # 多 LLM 统一代理
│ ├── feishu-sdk/ # 飞书 SDK
│ ├── logger/ # 日志系统(Plain / TUI)
│ ├── i18n/ # 国际化
│ ├── storage/ # 本地存储
│ ├── parallel/ # 并行执行工具
│ └── ...
│
├── cli/ # @spaceflow/cli — CLI 入口
│ └── src/
│ ├── commands/ # 内置命令
│ │ ├── install/ # 安装 Extension
│ │ ├── uninstall/ # 卸载 Extension
│ │ ├── build/ # 构建 Extension
│ │ ├── dev/ # 开发模式
│ │ ├── create/ # 创建 Extension 模板
│ │ ├── list/ # 列出已安装 Extension
│ │ ├── commit/ # Git 提交辅助
│ │ ├── setup/ # 编辑器配置
│ │ ├── schema/ # JSON Schema 生成
│ │ ├── mcp/ # MCP 服务
│ │ ├── runx/ # 运行外部命令
│ │ ├── update/ # 更新 Extension
│ │ └── clear/ # 清理缓存
│ ├── extension-loader/ # Extension 加载器
│ └── locales/ # CLI i18n 资源
│
├── commands/ # 外部 Extension(独立 npm 包)
│ ├── review/ # @spaceflow/review — AI 代码审查
│ ├── publish/ # @spaceflow/publish — 版本发布
│ ├── ci-scripts/ # @spaceflow/ci-scripts — 脚本执行
│ ├── ci-shell/ # @spaceflow/ci-shell — Shell 执行
│ └── period-summary/ # @spaceflow/period-summary — 周期总结
│
├── actions/ # GitHub Actions
│ ├── src/
│ └── action.yml
│
├── references/ # 代码审查规范文件
│ ├── js&ts.base.md
│ ├── js&ts.nest.md
│ └── ...
│
├── templates/ # Extension 模板
│ ├── command/ # 命令型 Extension 模板
│ └── skills/ # 技能型 Extension 模板
│
├── .spaceflow/ # Spaceflow 工作目录
│ ├── spaceflow.json # 项目配置
│ └── package.json # Extension 依赖管理
│
├── pnpm-workspace.yaml # pnpm Monorepo 配置
└── package.json # 根 package.json
核心包
@spaceflow/core
核心能力库,提供所有 Extension 共享的基础模块。作为 npm 包发布,Extension 通过 peerDependencies 依赖它。
主要导出:
- Git Provider — GitHub / Gitea 平台适配器
- Git SDK — Git 命令封装
- LLM Proxy — 多 LLM 统一代理(OpenAI、Claude 等)
- Logger — 日志系统(Plain 模式 + TUI 模式)
- i18n — 国际化工具函数
- Config — 配置加载与校验
- Extension System — Extension 接口定义
@spaceflow/cli
CLI 入口包,包含所有内置命令和 Extension 加载器。通过 bin 字段注册 spaceflow 和 space 两个命令。
外部 Extension
位于 commands/ 目录下,每个 Extension 是独立的 npm 包,拥有自己的 package.json、构建配置和测试。
配置文件
| 文件 | 说明 |
|---|---|
spaceflow.json / .spaceflow/spaceflow.json |
项目配置 |
.spaceflow/package.json |
Extension 依赖管理 |
pnpm-workspace.yaml |
Monorepo 工作区配置 |
references/*.md |
代码审查规范文件 |