@postar/cli
Version:
一个前端项目脚手架工具,专注于团队开发效率提升和规范统一,让项目初始化更简单、更规范。
238 lines (182 loc) • 6.38 kB
Markdown
# Postar CLI
[](https://www.npmjs.com/package/@postar/cli)
[](https://github.com/your/repo/blob/master/LICENSE)
一个企业级项目脚手架工具,支持前端、后端、移动端等多种项目类型,专注于团队开发效率提升和规范统一。
## ✨ 特性
- 🚀 **团队定制化** - 支持团队私有模板,可配置团队特定开发规范
- 📦 **灵活模板** - 支持多种模板源(内置、本地、远程仓库)
- 🎯 **简单易用** - 交互式配置,智能默认值,历史记录复用
- 🔒 **规范统一** - 统一项目结构和代码风格,降低维护成本
- 🎨 **最佳实践** - 集成团队积累的开发经验和解决方案
- 🔄 **扩展性强** - 支持多种技术栈,可根据需求进行定制
## 🎯 核心功能
- 项目模板管理
- 配置中心管理
- 团队规范集成
- 多平台仓库支持
- 开发工具链集成
- 团队协作支持
## 📦 安装
```bash
npm install @postar/cli -g
# 或者
pnpm install @postar/cli -g
# 或者
yarn global add @postar/cli
```
## 🚀 快速开始
### 创建项目
```bash
# 交互式创建项目
postar-cli create
# 指定模板创建项目
postar-cli create <name> [-t|--template]
```
### (团队/个人)配置
以下gist只是参考,请输入自己团队/个人的gist/gist_id/snippet_id/api_url/access_token/token等信息。
```bash
# 远程配置github(-gh) gist
postar-cli config -gh 4eca301ad8c8e83679a5140bce923844
# 远程配置gitee(-ge) gist 需要传入gist_id 和 access_token 用逗号隔开
postar-cli config -ge m86xsqcbn1fjv3og7y9le77,15f4a89e94e601bfb3946139d39e41c7
# 远程配置gitlab(-gl) snippet 需要传入gitlab地址,snippet_id 和 token 用逗号隔开
postar-cli config -gl http://xxx.xxx.xxx.xxx:xxxx,2,xxxxxxxxxxx
# 远程配置自定义api(-api) 需要传入api地址,用逗号隔开
postar-cli config -api http://localhost:3000/api/templates,get,"{ 'Authorization': 'Bearer 1234567890' }"
# 本地配置(复制路径,或直接拖入)
postar-cli config -local xxx
# 切换到github(-gh) gist
postar-cli use -gh
# 切换到gitee(-ge) gist
postar-cli use -ge
# 切换到gitlab(-gl) snippet
postar-cli use -gl
# 切换到自定义api(-api)
postar-cli use -api
# 切换到本地配置(-local)
postar-cli use -local
```
### 配置管理
```bash
# 查看当前配置
postar-cli config --list
postar-cli config -l
# 清除配置
postar-cli config --clear
postar-cli config -c
# 设置配置
postar-cli config --set
postar-cli config -s
postar-cli config # 默认是设置配置
# 强制重新配置
postar-cli config --set --force
postar-cli config -s -f
```
## 📝 模板源参考地址
### 1. GitHub Gist
```json
{
"type": "github",
"url": "https://gist.github.com/zkr-1211/4eca301ad8c8e83679a5140bce923844"
}
```
### 2. Gitee Gist
```json
{
"type": "gitee",
"url": "https://gitee.com/zhangkerong/codes/m86xsqcbn1fjv3og7y9le77"
}
```
### 3. GitLab Snippet
```json
{
"type": "gitlab",
"url": "http://xxx.xxx.xxx.xxx:xxxx/snippets/2#notes"
}
```
### 4. 自定义 API
需要返回符合配置规范的 JSON 文件
## 💡 为什么选择 Postar CLI?
### 与市面上开源脚手架的显著不同
#### 1. 团队定制化配置
**Postar CLI**:支持团队私有配置源,灵活适配团队需求
- 支持多种配置源(GitHub Gist、Gitee Gist、GitLab Snippet、自定义 API)
- 团队可以维护自己的模板库和开发规范
**传统脚手架**:固定模板,选择有限
- `create-react-app`:固定的 React 模板
- `vue-cli`:预设的 Vue 模板选项
- `vite`:有限的模板选择
#### 2. 多平台模板源支持
**Postar CLI**:
- ✅ GitHub Gist
- ✅ Gitee Gist
- ✅ GitLab Snippet
- ✅ 自定义 API
- ✅ 本地配置
**传统脚手架**:
- ❌ 通常只支持单一平台(如 GitHub)
- ❌ 模板源固定,无法自定义
#### 3. 配置历史和切换
**Postar CLI**:
```bash
# 支持多配置源快速切换
postar-cli use -gh # 切换到 GitHub
postar-cli use -ge # 切换到 Gitee
postar-cli use -gl # 切换到 GitLab
```
**传统脚手架**:
- ❌ 配置相对固定
- ❌ 缺少配置管理功能
#### 4. 中文本土化
**Postar CLI**:
- ✅ 完全中文界面和文档
- ✅ 支持 Gitee 等国内平台
- ✅ 符合国内开发习惯
**传统脚手架**:
- ❌ 主要面向国际用户
- ❌ 英文为主,中文支持有限
#### 5. 企业级团队管理
**Postar CLI**:专门为团队协作设计
- ✅ 团队模板分组管理
- ✅ 支持团队开发规范统一
- ✅ 历史配置记录和复用
**传统脚手架**:
- ❌ 主要面向个人开发者
- ❌ 团队功能相对薄弱
#### 6. 轻量级和灵活性
**Postar CLI**:
- ✅ 专注于模板管理和配置
- ✅ 不绑定特定技术栈
- ✅ 可以管理任意类型的项目模板
**传统脚手架**:
- ❌ 通常与特定框架绑定
- ❌ 功能相对重量级
### 核心差异对比
| 特性 | Postar CLI | 传统开源脚手架 |
|------|-----------|---------------|
| **定位** | 团队定制化工具 | 通用开发工具 |
| **模板源** | 多平台、可配置 | 固定、有限 |
| **本土化** | 深度中文化 | 国际化为主 |
| **团队功能** | 专门设计 | 相对薄弱 |
| **灵活性** | 高度可配置 | 相对固定 |
| **配置管理** | 支持切换和历史 | 基本不支持 |
### 提升开发效率
- 自动化项目结构生成
- 预配置开发工具链
- 集成团队最佳实践
- 提供组件和页面模板
### 规范团队协作
- 统一项目结构
- 统一代码风格
- 统一技术选型
- 降低维护成本
### 优化开发体验
- 清晰的命令行界面
- 友好的错误提示
- 详细的操作日志
- 灵活的配置管理
**总结**:Postar CLI 更像是一个**团队级的模板管理平台**,而不是传统意义上的项目生成器。
## ⚠️ 注意事项
- 确保已安装 Node.js (>= 16.0.0)
- 模板配置需要符合规范要求
- 自定义 API 需要返回标准格式的 JSON