# DeniCTL 开发 TODO 清单
## 🚀 第一优先级 - 核心功能完善
### 编译器增强
- [ ] **完善代码转换器** (`denictl-compiler/src/transformer.rs`)
- [ ] 实现完整的 AST 转换逻辑
- [ ] 生成平台特定的入口点包装代码
- [ ] 自动注入适配器导入语句
- [ ] 处理动态路由参数映射
- [ ] 支持中间件转换
- [ ] **增强验证器** (`denictl-compiler/src/validator.rs`)
- [ ] 添加更精确的行号和列号定位
- [ ] 检测更多平台特定模式 (如 `import.meta`, `__dirname`)
- [ ] 验证环境变量使用 (区分 binding 和普通环境变量)
- [ ] 检查服务使用与配置的一致性
- [ ] 添加循环依赖检测
- [ ] **优化解析器** (`denictl-parser/src/lib.rs`)
- [ ] 提取更详细的类型信息
- [ ] 识别异步函数签名
- [ ] 检测 Context 类型使用
- [ ] 支持 JSX/TSX 解析
### 适配器完善
- [ ] **Cloudflare Workers 适配器**
- [ ] 生成完整的 Worker 入口点
- [ ] 实现路由匹配逻辑
- [ ] D1 Database 适配器实现
- [ ] Durable Objects 支持
- [ ] Workers AI 集成
- [ ] **Deno Deploy 适配器**
- [ ] 生成 Deno.serve 入口点
- [ ] 实现完整的 Context 构建
- [ ] Deno KV 完整适配
- [ ] 环境变量映射
- [ ] **Tencent EdgeOne 适配器**
- [ ] 研究 EdgeOne API 规范
- [ ] 实现 EdgeOne 特定的入口点
- [ ] KV/Storage 适配器
- [ ] 配置文件生成
## 🔨 第二优先级 - 开发体验
### 本地开发服务器
- [ ] **HTTP 服务器实现** (`denictl/src/commands/dev.rs`)
- [ ] 使用 `axum` 或 `warp` 创建 HTTP 服务器
- [ ] 实现路由匹配和分发
- [ ] Context 对象构建
- [ ] 请求/响应日志
- [ ] **热重载**
- [ ] 使用 `notify` 监听文件变化
- [ ] 增量重新编译修改的文件
- [ ] 动态重新加载 handler
- [ ] WebSocket 通知浏览器刷新
- [ ] **Mock 服务**
- [ ] 内存 KV Store 实现
- [ ] SQLite 本地数据库
- [ ] 内存 Cache 实现
- [ ] 请求拦截和 Mock 响应
### 项目模板
- [ ] **模板系统**
- [ ] 基础模板 (Hello World)
- [ ] API 模板 (RESTful API)
- [ ] 全栈模板 (前端 + API)
- [ ] Websocket 模板
- [ ] Scheduled Worker 模板
- [ ] **模板引擎集成**
- [ ] 使用 handlebars 生成项目文件
- [ ] 支持变量替换
- [ ] 条件生成 (基于选择的功能)
## 📦 第三优先级 - 部署和发布
### 部署集成
- [ ] **Cloudflare Workers 部署**
- [ ] 调用 wrangler CLI
- [ ] 或直接使用 Cloudflare API
- [ ] 处理认证 (API Token)
- [ ] 上传代码和资源
- [ ] 获取部署状态和 URL
- [ ] **Deno Deploy 部署**
- [ ] 使用 deployctl
- [ ] 或 Deno Deploy API
- [ ] GitHub 集成
- [ ] 环境变量设置
- [ ] **Tencent EdgeOne 部署**
- [ ] 研究 EdgeOne 部署 API
- [ ] 实现认证和上传
- [ ] 域名绑定
### 配置管理
- [ ] **配置存储** (`denictl/src/commands/config.rs`)
- [ ] 全局配置存储 (~/.denictl/config.toml)
- [ ] 项目级配置 (.denictl/config.toml)
- [ ] 密钥加密存储
- [ ] 配置继承和覆盖
- [ ] **环境管理**
- [ ] 多环境支持 (dev, staging, production)
- [ ] 环境变量管理
- [ ] Secrets 管理
## 🧪 第四优先级 - 测试和质量
### 测试框架
- [ ] **单元测试**
- [ ] denictl-core 测试
- [ ] denictl-parser 测试
- [ ] denictl-compiler 测试
- [ ] denictl-adapters 测试
- [ ] **集成测试**
- [ ] 完整编译流程测试
- [ ] 跨平台一致性测试
- [ ] CLI 命令测试
- [ ] **E2E 测试**
- [ ] 实际部署测试
- [ ] 平台运行时测试
- [ ] 性能基准测试
### 代码质量
- [ ] **Linting 和格式化**
- [ ] 配置 clippy
- [ ] 配置 rustfmt
- [ ] CI/CD 集成
- [ ] **错误处理**
- [ ] 统一错误类型
- [ ] 友好的错误消息
- [ ] 错误恢复建议
## 📚 第五优先级 - 文档和示例
### 文档
- [ ] **用户文档**
- [ ] 快速开始指南
- [ ] CLI 命令详细文档
- [ ] 配置文件参考
- [ ] 最佳实践
- [ ] **开发者文档**
- [ ] 架构设计文档
- [ ] 适配器开发指南
- [ ] 贡献指南
- [ ] API 参考
### 示例项目
- [ ] **示例集合**
- [ ] Hello World
- [ ] RESTful API
- [ ] KV Store 使用
- [ ] Database 集成
- [ ] WebSocket 示例
- [ ] Scheduled Worker
## 🎨 第六优先级 - 高级特性
### 插件系统
- [ ] **插件架构**
- [ ] 插件 API 设计
- [ ] 插件加载机制
- [ ] 生命周期钩子
- [ ] 插件配置
### 中间件支持
- [ ] **中间件框架**
- [ ] 中间件接口定义
- [ ] 中间件链执行
- [ ] 内置中间件 (CORS, 日志, 认证等)
- [ ] 自定义中间件支持
### 监控和分析
- [ ] **性能监控**
- [ ] 构建时间统计
- [ ] 产物大小分析
- [ ] 依赖分析
- [ ] **运行时监控**
- [ ] 日志聚合
- [ ] 错误追踪
- [ ] 性能指标
## 🔧 第七优先级 - 工具和生态
### 开发工具
- [ ] **VSCode 扩展**
- [ ] 语法高亮
- [ ] 代码补全
- [ ] 错误检查
- [ ] 一键部署
### 包管理
- [ ] **发布到 crates.io**
- [ ] 准备发布
- [ ] 版本管理
- [ ] 变更日志
- [ ] **预编译二进制**
- [ ] GitHub Actions 自动构建
- [ ] 多平台二进制 (Linux, macOS, Windows)
- [ ] GitHub Releases
## 🌐 第八优先级 - 平台扩展
### 新平台支持
- [ ] **Vercel Edge Functions**
- [ ] 适配器实现
- [ ] 部署集成
- [ ] 文档
- [ ] **Netlify Edge Functions**
- [ ] 适配器实现
- [ ] 部署集成
- [ ] 文档
- [ ] **AWS Lambda@Edge**
- [ ] 适配器实现
- [ ] 部署集成
- [ ] 文档
## 📊 进度追踪
### 当前完成度
- ✅ 项目架构搭建 (100%)
- ✅ CLI 框架 (100%)
- ✅ 基础解析器 (80%)
- ✅ 基础验证器 (60%)
- 🚧 代码转换器 (30%)
- 🚧 适配器生成 (50%)
- ⏳ 开发服务器 (0%)
- ⏳ 部署集成 (0%)
- ⏳ 测试套件 (0%)
### 里程碑
**v0.1.0 - MVP** (目标: 4 周)
- 完整的验证和编译
- Cloudflare Workers 完整支持
- 基本文档
**v0.2.0 - 开发体验** (目标: 8 周)
- 本地开发服务器
- 热重载
- Deno Deploy 支持
**v0.3.0 - 生产就绪** (目标: 12 周)
- 实际部署集成
- 完整测试覆盖
- 性能优化
**v1.0.0 - 正式发布** (目标: 16 周)
- 所有主要平台支持
- 完整文档
- 生态工具
---
**优先处理顺序建议**:
1. 完善编译器核心功能 (验证器 + 转换器)
2. 实现 Cloudflare Workers 完整适配
3. 添加基础测试
4. 实现本地开发服务器
5. 完善文档和示例