mirror of
https://github.com/Lydanne/spaceflow.git
synced 2026-03-11 19:52:45 +08:00
4.3 KiB
4.3 KiB
@spaceflow/cli
Spaceflow CLI 核心框架,提供插件系统、内置命令和共享模块。
安装
pnpm add @spaceflow/cli
使用
命令行
# 使用 spaceflow 或 space 命令
spaceflow <command> [options]
space <command> [options]
作为库使用
import {
// 插件系统
SpaceflowPlugin,
PluginLoaderService,
// 共享模块
GitProviderService,
GitSdkService,
LlmProxyService,
FeishuSdkService,
StorageService,
// NestJS 重导出
Command,
CommandRunner,
Module,
Injectable,
} from "@spaceflow/cli";
内置命令
| 命令 | 描述 |
|---|---|
install |
安装插件(命令/技能) |
uninstall |
卸载插件 |
build |
构建插件 |
dev |
开发模式运行 |
create |
创建新插件 |
list |
列出已安装插件 |
clear |
清理缓存 |
runx / x |
执行插件命令 |
schema |
生成配置 Schema |
commit |
智能提交 |
setup |
初始化配置 |
共享模块
核心框架导出以下共享模块,供插件开发使用:
| 模块 | 描述 |
|---|---|
git-provider |
Git 平台适配器(GitHub/Gitea/GitLab) |
git-sdk |
Git 命令操作封装 |
llm-proxy |
多 LLM 适配器(OpenAI、Claude 等) |
feishu-sdk |
飞书 API 操作封装 |
storage |
通用存储服务 |
claude-setup |
Claude Agent 配置 |
parallel |
并行执行工具 |
output |
输出服务 |
verbose |
日志级别控制 |
editor-config |
编辑器配置管理 |
llm-jsonput |
JSON 结构化输出 |
插件开发
创建插件
spaceflow create my-plugin --type command
插件结构
import {
SpaceflowPlugin,
Module,
Command,
CommandRunner,
} from "@spaceflow/cli";
@Command({ name: "my-command", description: "My command description" })
class MyCommand extends CommandRunner {
async run(): Promise<void> {
console.log("Hello from my command!");
}
}
@Module({ providers: [MyCommand] })
class MyModule {}
export class MyPlugin implements SpaceflowPlugin {
name = "my-plugin";
version = "1.0.0";
module = MyModule;
}
目录结构
core/
├── src/
│ ├── commands/ # 内置命令
│ │ ├── install/ # 插件安装
│ │ ├── uninstall/ # 插件卸载
│ │ ├── build/ # 插件构建
│ │ ├── dev/ # 开发模式
│ │ ├── create/ # 创建插件
│ │ ├── list/ # 列出插件
│ │ ├── clear/ # 清理缓存
│ │ ├── runx/ # 执行命令
│ │ ├── schema/ # Schema 生成
│ │ ├── commit/ # 智能提交
│ │ └── setup/ # 初始化配置
│ ├── shared/ # 共享模块
│ │ ├── git-provider/ # Git Provider 适配器
│ │ ├── git-sdk/ # Git SDK
│ │ ├── llm-proxy/ # LLM 代理
│ │ ├── feishu-sdk/ # 飞书 SDK
│ │ ├── storage/ # 存储服务
│ │ └── ...
│ ├── plugin-system/ # 插件系统核心
│ ├── config/ # 配置管理
│ ├── cli.ts # CLI 入口
│ └── index.ts # 库导出
└── test/ # 测试文件
开发
# 安装依赖
pnpm install
# 开发模式
pnpm run start:dev
# 构建
pnpm run build
# 测试
pnpm run test
# 代码检查
pnpm run lint
# 代码格式化
pnpm run format
技术栈
- NestJS - 依赖注入框架
- nest-commander - CLI 命令框架
- rspack - 构建工具
- TypeScript - 类型系统
许可证
UNLICENSED