# 🚀 PyPI 发布指南

恭喜！你的项目已经准备好发布到 PyPI 了！

## ✅ 已完成的准备工作

1. ✅ 更新了 `pyproject.toml` - 添加了完整的项目元数据
2. ✅ 更新了 `README.md` - 添加了 PyPI 安装说明
3. ✅ 创建了构建脚本 `publish_to_pypi.sh`
4. ✅ 创建了详细指南 `PYPI_PUBLISH.md`
5. ✅ 成功构建了包文件

## 📦 生成的包文件

```
dist/
├── futurmind_mcp-0.1.0-py3-none-any.whl    # Wheel 格式（推荐）
└── futurmind_mcp-0.1.0.tar.gz              # 源码包
```

## 🎯 发布步骤

### 1. 登录 PyPI

```bash
# 安装 twine（如果还没有）
pip install twine

# 登录 PyPI
twine login
# 输入你的 PyPI 用户名和密码
```

### 2. 发布到 PyPI

#### 方式 1: 使用脚本（推荐）

```bash
chmod +x publish_to_pypi.sh
./publish_to_pypi.sh
```

#### 方式 2: 手动发布

```bash
# 1. 构建包（如果还没构建）
uv build

# 2. 检查包
twine check dist/*

# 3. 发布到 PyPI
twine upload dist/*
```

### 3. 验证发布

等待几分钟让 PyPI 处理，然后访问：
- https://pypi.org/project/futurmind-mcp/

## 📥 用户安装

发布成功后，用户可以这样安装：

```bash
# 直接安装
pip install futurmind-mcp

# 或指定版本
pip install futurmind-mcp==0.1.0
```

## 🎨 Cursor 配置（发布后）

用户在 Cursor 中配置 MCP 服务器：

```json
{
  "mcpServers": {
    "futurmind": {
      "command": "python",
      "args": ["-m", "futurmind_mcp"],
      "env": {
        "FUTURMIND_API_KEY": "用户的API密钥"
      }
    }
  }
}
```

## 📝 更新版本

当需要发布新版本时：

1. 更新版本号：
   - `pyproject.toml`: `version = "0.2.0"`
   - `src/futurmind_mcp/__init__.py`: `__version__ = "0.2.0"`

2. 重新发布：
```bash
uv build
twine upload dist/*
```

## 🔍 安全检查清单

发布前确认：

- [x] 没有包含 `.env` 文件
- [x] 没有硬编码 API 密钥
- [x] 没有包含 `__pycache__`
- [x] README.md 内容完整
- [x] 版本号正确
- [x] 依赖项正确

查看包内容：
```bash
# 解压查看
tar -xzf dist/futurmind_mcp-0.1.0.tar.gz
ls -la futurmind_mcp-0.1.0/
```

## 💡 提示

1. **测试发布**（可选）：先在 Test PyPI 上测试
   ```bash
   twine upload --repository testpypi dist/*
   pip install --index-url https://test.pypi.org/simple/ futurmind-mcp
   ```

2. **版本命名**：
   - `0.1.0` - 正式版本
   - `0.1.0a1` - 预发布版本
   - `0.1.0.dev1` - 开发版本

3. **无法删除**：PyPI 不允许删除已发布的版本，只能发布新版本

## 🎉 发布成功！

发布后，用户只需一行命令就能安装使用你的工具：

```bash
pip install futurmind-mcp
```

无需下载任何东西，配置好环境变量即可！

---

需要帮助？查看 [PYPI_PUBLISH.md](./PYPI_PUBLISH.md) 获取更详细的说明。



