Files
todo-cli/resources/prd/20260606123307.md
T
2026-06-06 12:36:25 +00:00

76 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Language
zh_cn
## Programming Language
Python
## Original Requirements
创建一个Python命令行TODO应用,支持增删改查,数据存JSON文件
## Project Name
todo_cli
## Product Goals
- 提供简洁高效的命令行交互体验
- 确保数据持久化与可靠性
- 支持快速增删改查操作
## User Stories
- 作为用户,我希望能够通过命令行快速添加新的待办事项
- 作为用户,我希望能够查看所有待办事项及其完成状态
- 作为用户,我希望能够标记待办事项为已完成
- 作为用户,我希望能够删除不再需要的待办事项
- 作为用户,我希望能够修改已有待办事项的内容
## Competitive Analysis
- Todo.txt CLI: 纯文本文件存储,支持标签和优先级,但无JSON格式
- Taskwarrior: 功能强大的命令行任务管理,但学习曲线较陡
- t: 轻量级TODO工具,使用JSON存储,但功能单一
- GitHub Issues CLI: 与GitHub集成,不适合本地简单使用
- Microsoft To Do CLI: 非官方,依赖云服务,离线不可用
## Competitive Quadrant Chart
quadrantChart
title "命令行TODO工具竞争力分析"
x-axis "功能简单" --> "功能丰富"
y-axis "易用性低" --> "易用性高"
quadrant-1 "功能丰富且易用"
quadrant-2 "功能简单但易用"
quadrant-3 "功能简单且难用"
quadrant-4 "功能丰富但难用"
"Todo.txt CLI": [0.3, 0.7]
"Taskwarrior": [0.8, 0.3]
"t": [0.2, 0.6]
"GitHub Issues CLI": [0.7, 0.4]
"Microsoft To Do CLI": [0.5, 0.5]
"Our Target Product": [0.4, 0.8]
## Requirement Analysis
本项目要求开发一个Python命令行TODO应用,核心功能包括增删改查(CRUD),数据以JSON文件形式持久化存储。用户通过命令行参数或交互式菜单操作。需要支持:添加任务(标题、描述、截止日期等可选字段)、列出所有任务(可筛选状态)、标记完成/未完成、删除任务、编辑任务内容。数据存储于本地JSON文件,需处理文件读写异常。命令行界面应清晰易用,提供帮助信息。
## Requirement Pool
- ['P0', '实现添加待办事项功能,支持输入标题,可选描述和截止日期']
- ['P0', '实现查看所有待办事项列表,显示ID、标题、状态、创建时间等']
- ['P0', '实现删除待办事项功能,通过ID或索引删除']
- ['P0', '实现修改待办事项功能,支持更新标题、描述、截止日期、状态']
- ['P1', '实现数据持久化,使用JSON文件存储,支持自动加载和保存']
## UI Design draft
命令行界面,无图形UI。用户通过命令参数操作,例如:todo add "任务标题" -d "描述" -due 2025-01-01;todo list [--all|--done|--pending];todo done <id>;todo delete <id>;todo edit <id> --title "新标题"。支持--help查看帮助。输出格式为表格或列表,清晰显示任务信息。
## Anything UNCLEAR
无