Metadata-Version: 2.4
Name: esn-tool
Version: 0.1.1
Summary: 一个用于管理生产项目的 CLI 工具
Author: StevenLiu
License: MIT
License-File: LICENSE
Keywords: cli,devtools,project-management
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.12
Requires-Dist: click>=8.1.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: questionary>=2.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: textual>=0.47.0
Description-Content-Type: text/markdown

# ESN Tool

一个强大的命令行工具，提供多种实用功能，包括 AI 自动生成提交信息、批量 Git 操作、GitLab 管理等。

## 功能特性

- 🤖 **AI 自动提交** - 使用 AI 生成符合规范的 Git 提交信息
- 📦 **批量 Git 操作** - 对多个 Git 仓库批量执行命令
- 🦊 **GitLab 管理** - GitLab 相关批量操作
- 🛠️ **工具集合** - 交互式 TUI 工具箱（配置管理、Git 工具、系统信息等）
- ⚙️ **项目初始化** - 选择和管理要操作的 Git 项目
- 🚀 **快捷运行** - 快速运行项目命令（如 Android 构建）

## 快速开始

### 安装

使用 `uv tool` 安装（推荐）：

```bash
# 安装 uv（如果还没有安装）
curl -LsSf https://astral.sh/uv/install.sh | sh

# 安装 esn-tool
uv tool install esn-tool

# 验证安装
esn --help
```

> 💡 **升级和卸载**：
> ```bash
> # 升级到最新版本
> uv tool upgrade esn-tool
>
> # 卸载
> uv tool uninstall esn-tool
> ```

### 其他安装方式

```bash
# 使用 pip（国内用户推荐使用镜像）
pip install esn-tool -i https://pypi.tuna.tsinghua.edu.cn/simple

# 使用 pipx（隔离环境）
pipx install esn-tool
```

## 使用方法

### 命令一览

| 命令 | 说明 |
|------|------|
| `esn acm` | AI 生成 Git 提交信息并自动提交 |
| `esn git <cmd>` | 批量执行 Git 命令 |
| `esn gitlab` | GitLab 相关操作 |
| `esn config` | 配置 AI 接口等设置 |
| `esn init` | 选择要管理的 Git 项目 |
| `esn run` | 快捷运行项目命令 |
| `esn tools` | 启动工具集合 TUI 界面 |

### AI 自动提交 (acm)

```bash
# 在当前目录扫描 Git 项目并生成提交信息
esn acm

# 指定目录
esn acm -d /path/to/projects

# 启用 AI 代码审查
esn acm -r

# 跳过确认直接提交
esn acm -y
```

### 批量 Git 操作 (git)

```bash
# 拉取所有项目的最新代码
esn git pull

# 查看所有项目状态
esn git status

# 切换所有项目到 main 分支
esn git checkout main

# 获取所有远程更新
esn git fetch --all
```

### 配置管理 (config)

首次使用前需要配置 AI 接口：

```bash
esn config
```

### 工具集合 TUI (tools)

启动交互式工具界面：

```bash
esn tools
```

包含以下工具：
- 📋 **配置工具** - AI 配置和项目管理
- 🔀 **Git 工具** - Git 批量操作界面
- 💻 **系统信息** - 查看系统和环境信息

**快捷键**：
- `←`/`→` - 切换工具列表和内容区域
- `↑`/`↓` - 导航工具列表
- `Q` - 退出

## 开发

```bash
# 克隆仓库
git clone https://git.yyrd.com/esn_tool/esn-command-line.git
cd esn-command-line

# 安装开发依赖
uv sync

# 本地安装（开发模式）
uv tool install -e .

# 运行测试
uv run pytest

# 代码格式化
uv run ruff format src/
uv run ruff check src/ --fix
```

## 打包和分发

### 构建 PKG 安装包

```bash
# 构建当前系统架构
uv run python build_pkg.py

# 或指定架构
uv run python build_pkg.py --arch arm64
```

> 💡 **架构说明**：
> - M1/M2/M3 Mac 只能构建 ARM64 架构
> - Intel Mac 可以构建 x86_64 架构

详细说明请参考 [打包文档](docs/packaging.md)。

### CI/CD 自动构建

项目已配置 GitLab CI/CD，可自动构建安装包：

- 推送到 `main` 或 `dev` 分支时自动构建
- 创建 tag 时自动构建并发布 Release
- 详细配置请参考 [GitLab CI 文档](docs/gitlab-ci.md)

## 文档

- [使用指南](docs/usage.md) - 详细的命令使用说明
- [打包文档](docs/packaging.md) - PKG 安装包构建指南
- [GitLab CI 文档](docs/gitlab-ci.md) - CI/CD 配置说明

## 许可证

MIT License
