<div align="center">

# pi-gen-license

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

> 一个 [Pi](https://pi.dev) 扩展，一条命令生成开源许可证文件。
>
> [English](README.md)

</div>

## 快速开始

```bash
# 安装为 Pi 扩展
pi install npm:pi-gen-license

# 在 Pi 中运行：
gen-license mit
```

## 特性

- **9 种许可证** — MIT、Apache 2.0、BSD 3-Clause、ISC、GPL 3.0、AGPL 3.0、LGPL 3.0、MPL 2.0、Unlicense
- **双接口** — 斜杠命令 `/gen-license` 供人类使用，工具 `generate_license` 供 LLM 调用
- **自动识别作者** — 未指定时读取 `git config user.name`
- **Tab 补全** — `/gen-license <TAB>` 显示可用许可证类型

## 支持的许可证

| 类型 | 许可证 |
| --- | --- |
| `mit` | MIT 许可证 |
| `apache-2.0` | Apache 许可证 2.0 |
| `bsd-3` | BSD 3-Clause 许可证 |
| `isc` | ISC 许可证 |
| `gpl-3.0` | GNU 通用公共许可证 v3.0 |
| `agpl-3.0` | GNU Affero 通用公共许可证 v3.0 |
| `lgpl-3.0` | GNU 宽松通用公共许可证 v3.0 |
| `mpl-2.0` | Mozilla 公共许可证 2.0 |
| `unlicense` | The Unlicense |

## 用法

### 斜杠命令

```
/gen-license mit                    # MIT 许可证，自动识别作者
/gen-license apache-2.0 hacxy       # Apache 2.0，指定作者
/gen-license gpl-3.0 hacxy 2024     # GPL 3.0，指定作者和年份
```

### LLM 工具

自然语言告诉 Pi 即可，LLM 会自动调用 `generate_license`：

> "为这个项目生成一个 MIT 许可证文件"

## 开发

```bash
# 安装依赖
npm install

# 在 Pi 中运行（热重载）
npm run dev

# 代码检查与格式化
npm run lint
npm run format

# 类型检查
npm run typecheck
```

## 许可证

[MIT](LICENSE)
