task-tracker

star 266

任务跟踪与进度管理技能,管理开发任务的创建、分解、状态更新和归档。 触发场景: - 用户需要创建或查看开发任务 - 用户需要更新任务进度或状态 - 用户需要归档已完成的任务 触发词:任务、进度、待办、TODO、跟踪

bkywksj By bkywksj schedule Updated 4/23/2026

name: task-tracker description: | 任务跟踪与进度管理技能,管理开发任务的创建、分解、状态更新和归档。

触发场景:

  • 用户需要创建或查看开发任务
  • 用户需要更新任务进度或状态
  • 用户需要归档已完成的任务

触发词:任务、进度、待办、TODO、跟踪

任务跟踪与进度管理

概述

Tauri Desktop App 的任务跟踪与进度管理技能,提供任务创建、分解、状态流转和归档的完整工作流。


任务生命周期

创建 → 分解 → 开发中 → 测试 → 完成 → 归档

状态定义

状态 说明 触发条件
pending 待处理 任务创建时
in_progress 开发中 开始实现时
testing 测试中 代码完成、开始测试
completed 已完成 测试通过
archived 已归档 长期完成的任务

任务分解原则(三层架构)

项目架构

本项目采用三层 Rust 后端 + React 前端架构:

后端三层:
  models/     (数据模型)
    ↓
  database/   (数据访问层)
    ↓
  services/   (业务逻辑层)
    ↓
  commands/   (命令层,对接前端)

前端:
  types/      (TypeScript 类型)
    ↓
  lib/api/    (API 封装)
    ↓
  pages/      (页面组件)

任务模板(三层架构版)

完整功能开发模板

## [功能名称]

### 后端子任务
- [ ] 定义数据模型 (models/mod.rs)
  - [ ] 定义 struct 并 derive Serialize/Deserialize
  - [ ] 添加必要的字段和文档注释
- [ ] 实现 Database 层 (database/*.rs)
  - [ ] 编写 CRUD 函数(使用 rusqlite)
  - [ ] 处理 rusqlite::Error
- [ ] 实现 Service 层 (services/*.rs)
  - [ ] 编写业务逻辑函数
  - [ ] 处理 AppError
- [ ] 实现 Command 层 (commands/*.rs)
  - [ ] 定义 #[tauri::command]
  - [ ] 转换 AppError -> String
  - [ ] 在 lib.rs 中注册 Command

### 前端子任务
- [ ] 定义 TypeScript 类型 (src/types/index.ts)
  - [ ] 与 Rust models 保持一致
- [ ] 封装 API 调用 (src/lib/api/index.ts)
  - [ ] 使用 invoke 调用 Command
  - [ ] 提供类型安全的接口
- [ ] 实现 UI 组件 (src/pages/*.tsx)
  - [ ] 使用 Ant Design 组件
  - [ ] 实现表单/表格/按钮等 UI
  - [ ] 使用 Zustand 管理状态(如需)

### 路由与状态
- [ ] 添加路由配置 (src/routes.tsx)
  - [ ] 使用 React Router v7
- [ ] 配置全局状态 (src/store/*.ts)(如需)
  - [ ] 使用 Zustand

### 权限与配置
- [ ] 添加 Capabilities 权限声明(如需新插件)
  - [ ] 在 capabilities/default.json 添加权限

### 测试
- [ ] 编写 Rust 单元测试
  - [ ] 测试 Database 层函数
  - [ ] 测试 Service 层逻辑
- [ ] 编写前端测试(可选)
  - [ ] Vitest 组件测试

### 验证
- [ ] 验证跨平台兼容性
  - [ ] Windows
  - [ ] macOS(如有条件)
  - [ ] Linux(如有条件)

快速任务模板

纯前端功能(不需要后端支持)

## [前端功能名称]

### 子任务
- [ ] 实现 React 组件 (src/pages/*.tsx)
- [ ] 添加路由配置 (src/routes.tsx)
- [ ] 配置全局状态(如需)(src/store/*.ts)
- [ ] 样式调整 (TailwindCSS)

纯后端功能(不需要前端 UI)

## [后端功能名称]

### 子任务
- [ ] 定义数据模型 (models/mod.rs)
- [ ] 实现 Database 层 (database/*.rs)
- [ ] 实现 Service 层 (services/*.rs)
- [ ] 实现 Command 层 (commands/*.rs)
- [ ] 编写单元测试

仅配置功能(如添加新插件)

## [添加插件:XXX]

### 子任务
- [ ] 安装 Cargo 依赖 (src-tauri/Cargo.toml)
- [ ] 安装 npm 包 (package.json)
- [ ] 注册插件 (src-tauri/src/lib.rs)
- [ ] 声明权限 (capabilities/default.json)
- [ ] 编写使用示例

实际示例:用户管理功能

## 用户管理功能

### 后端子任务
- [x] 定义数据模型 (models/mod.rs)
  ```rust
  #[derive(Debug, Clone, Serialize, Deserialize)]
  pub struct User {
      pub id: i64,
      pub name: String,
      pub email: String,
  }
  • 实现 Database 层 (database/user.rs)
    • create_table() 创建用户表
    • insert_user() 插入用户
    • get_user() 查询用户
    • list_users() 列出所有用户
    • delete_user() 删除用户
  • 实现 Service 层 (services/user.rs)
    • add_user() 业务逻辑(验证邮箱格式)
    • fetch_user() 查询用户
    • fetch_all_users() 列出所有用户
    • remove_user() 删除用户
  • 实现 Command 层 (commands/user.rs)
    • add_user
    • get_user
    • list_users
    • delete_user
    • 在 lib.rs 中注册

前端子任务

  • 定义类型 (src/types/index.ts)
    export interface User {
      id: number;
      name: string;
      email: string;
    }
    
  • 封装 API (src/lib/api/index.ts)
    export const api = {
      addUser: (user: User) => invoke("add_user", { user }),
      getUser: (id: number) => invoke<User>("get_user", { id }),
      listUsers: () => invoke<User[]>("list_users"),
      deleteUser: (id: number) => invoke("delete_user", { id }),
    };
    
  • 实现页面 (src/pages/UserPage.tsx)
    • 用户列表(Ant Design Table)
    • 添加用户表单(Ant Design Form)
    • 删除用户按钮
  • 添加路由 (src/routes.tsx)
    { path: "/users", element: <UserPage /> }
    

测试

  • Rust 单元测试
    #[cfg(test)]
    mod tests {
        #[test]
        fn test_add_user() { /* ... */ }
    }
    
  • 前端测试(可选)

验证

  • Windows 测试通过
  • macOS 测试(待测)
  • Linux 测试(待测)

---

## 常见错误

| 错误做法 | 正确做法 |
|---------|---------|
| 不记录任务直接开发 | 先创建任务文档再开发 |
| 任务粒度过大不分解 | 按三层架构(models → database → services → commands → types → api → pages)拆分子任务 |
| 跳过某一层直接实现 | 严格按三层架构顺序开发 |
| 不验证跨平台 | Windows/macOS/Linux 都要验证 |
| 前端类型与后端模型不一致 | 保持 types/index.ts 与 models/mod.rs 同步 |
| 直接在 Command 中写业务逻辑 | 业务逻辑放在 Service 层 |
| 直接在 Service 中写 SQL | SQL 放在 Database 层 |
Install via CLI
npx skills add https://github.com/bkywksj/knowledge-base --skill task-tracker
Repository Details
star Stars 266
call_split Forks 49
navigation Branch main
article Path SKILL.md
More from Creator