# crates.io 发布检查清单
## ✅ 发布前检查清单
### 📦 元数据检查
- [ ] **包名**: `name = "dioxus-element-plug"` ✅ 唯一且可用
- [ ] **版本号**: 正确设置新版本号 (e.g., `version = "0.1.1"`)
- [ ] **描述**: `description` 简洁明了且适合 crates.io
- [ ] **作者**: `authors` 信息正确
- [ ] **许可证**: `license = "MIT"` 有效
- [ ] **仓库**: `repository` 指向正确的 GitHub 地址
- [ ] **关键词**: `keywords` 相关且符合搜索习惯
- [ ] **分类**: `categories` 选择合适
- [ ] **文档**: `documentation = "https://docs.rs/dioxus-element-plug"`
- [ ] **主页**: `homepage` 链接正确
### 📁 文件完整性检查
- [ ] **README.md**: 存在且内容完整,适合 crates.io 显示
- [ ] **LICENSE**: 存在且是有效的许可证文件
- [ ] **src/**: 所有源代码文件存在,编译正常
- [ ] **Cargo.toml**: 格式正确,无语法错误
### 🔧 功能检查
- [ ] **基础编译**: `cargo check` ✅ 通过
- [ ] **完整特性编译**: `cargo check --features manganis` ✅ 通过
- [ ] **测试**: `cargo test` ✅ 通过
- [ ] **文档生成**: `cargo doc --no-deps` ✅ 通过
- [ ] **dry-run**: `cargo publish --dry-run --registry crates-io` ✅ 通过
### 📝 文档检查
- [ ] **README.md**:
- 有清晰的项目描述 ✅
- 包含快速使用示例 ✅
- 包含安装说明 ✅
- 包含使用指南 ✅
- crates.io 预览效果测试 ✅
- [ ] **lib.rs 文档**:
- 模块级文档完整 ✅
- 重要类和函数有文档注释 ✅
- 包含使用示例 ✅
### 🎯 用户体验检查
- [ ] **快速开始**: 用户可以复制粘贴就能运行 ✅
- [ ] **依赖清晰**: 所有需要的依赖都在 Cargo.toml 中 ✅
- [ ] **错误信息**: 有意义的错误信息,帮助用户解决问题 ✅
- [ ] **性能**: 包体积合理 (当前: 压缩后 145KB ✅)
### 🚀 发布准备确认
- [ ] **登录状态**: `cargo login` 运行成功
- [ ] **网络连接**: 可以访问 crates.io
- [ ] **Git 状态**: 所有重要更改已提交 (可选)
- [ ] **版本标识**: 新版本的语义化版本号有意义
## 🎯 发布后检查清单
### 立即检查
- [ ] **包可见性**: 在 https://crates.io/crates/dioxus-element-plug 可见
- [ ] **文档生成**: https://docs.rs/dioxus-element-plug 可访问
- [ ] **包信息**: 所有元数据显示正确
- [ ] **下载链接**: 可以直接下载且无错误
### 功能验证
- [ ] **搜索测试**: `cargo search dioxus-element-plug` 能找到
- [ ] **新项目测试**:
```bash
cd /tmp && mkdir test_download && cd test_download
echo 'dioxus-element-plug = "X.Y.Z"' >> Cargo.toml
cargo check
```
- [ ] **特性启用测试**: `cargo check --features manganis` 工作正常
- [ ] **示例测试**: 所有提供的示例都能正常编译
### 长期监控
- [ ] **下载统计**: 监测 crates.io 上的下载量
- [ ] **用户反馈**: 关注 GitHub Issues 和讨论
- [ ] **依赖关系**: 检查是否有其他包开始依赖本项目
## 📊 关键指标
### 包大小监控
- [ ] **原始大小**: 504.8KB ✅ 合理
- [ ] **压缩后大小**: 145.4KB ✅ 远低于 1MB 限制
- [ ] **文件数量**: 124 个文件 ✅ 合理
### 质量标准
- [ ] **编译零警告**: `cargo check` 无警告 ✅
- [ ] **测试覆盖率**: 重要功能有测试覆盖 ✅
- [ ] **文档完整性**: 所有公共 API 都有文档 ✅
## 🔄 发布演练
### 步骤 1: 最终检查
```bash
# 检查编译状态
cargo check
cargo check --features manganis
# 检查发布准备
touch Cargo.toml # 确保文件是最新的
cargo publish --dry-run --registry crates-io
```
### 步骤 2: 正式发布
```bash
# 正式发布 (如果还没有 latest commit 可以加 --allow-dirty)
cargo publish --registry crates-io
```
### 步骤 3: 验证发布
```bash
# 立即验证
cargo search dioxus-element-plug
# 实际测试安装
cd /tmp
mkdir test_verification && cd test_verification
echo 'dioxus-element-plug = "0.1.1"' >> Cargo.toml
cargo check --features manganis
```
## 🎊 发布完成!
如果所有检查都通过 ✅,那么你可以自信地发布包了!
**祝你在 crates.io 上取得成功!** 🚀
---
*自动生成于: 2025-01-20*
*当前版本: 0.1.0*
*上一次发布: 从未*