Just do it! - 一个简单的命令行待办事项工具
Project description
justdo - Just do it! 🚀
一个用 TDD 方式开发的简单命令行待办事项工具,支持任务优先级管理。
Just do it! - 简单、高效的待办事项管理工具
安装
pip install justdo
使用方法
基础命令
# 添加任务(默认中等优先级)
jd add "购买牛奶"
# 列出所有任务(按 ID 排序)
jd list
# 标记任务为完成
jd done 1
# 删除任务
jd delete 1
# 清空所有已完成的任务
jd clear
优先级功能
# 添加高优先级任务 (1=高, 2=中, 3=低)
jd add "紧急任务" -l 1
jd add "普通任务" -l 2
jd add "不重要" -l 3
# 按优先级排序显示(高优先级在前)
jd list -s p
参数说明
| 命令 | 参数 | 说明 |
|---|---|---|
add |
-l 1/2/3 |
优先级: 1=高🔴, 2=中🟡, 3=低🟢 |
list |
-s p/i |
排序: p=优先级, i=ID |
### 优先级说明
| 优先级 | Emoji | 说明 |
|--------|-------|------|
| high | 🔴 | 高优先级(紧急重要) |
| medium | 🟡 | 中优先级(默认) |
| low | 🟢 | 低优先级(可延后) |
### 显示示例
```bash
$ jd add "完成文档" -l 1
✓ 已添加任务 [1] 🔴: 完成文档
$ jd add "整理桌面" -l 3
✓ 已添加任务 [2] 🟢: 整理桌面
$ jd list -s p
[1] [ ] 🔴 高优先级任务
[2] [ ] 🟡 中优先级任务
[3] [ ] 🟢 低优先级任务
技术栈
- Python 3.8+
- pytest(测试框架)
- argparse(命令行解析)
- JSON(数据存储)
- TDD 开发模式
开发
# 克隆仓库
git clone https://github.com/gqy20/todo-cli.git
cd todo-cli
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest
# 查看测试覆盖率
pytest --cov=todo
项目结构
do-it/
├── src/
│ └── todo/
│ ├── __init__.py
│ ├── models.py # 数据模型(TodoItem)
│ ├── manager.py # 核心业务逻辑(TodoManager)
│ └── cli.py # 命令行接口
├── tests/
│ └── unit/
│ ├── test_models.py
│ ├── test_manager.py
│ └── test_cli.py
├── pyproject.toml # 包配置
├── todo.json # 数据存储(自动生成)
└── README.md
功能命令
| 命令 | 说明 |
|---|---|
jd add <text> [-l 1/2/3] |
添加新任务,1=高🔴, 2=中🟡, 3=低🟢 |
jd list [-s p/i] |
列出任务,-s p按优先级,-s i按ID |
jd done <id> |
标记指定 ID 的任务为完成 |
jd delete <id> |
删除指定 ID 的任务 |
jd clear |
清除所有已完成的任务 |
测试
项目采用 TDD 开发模式,44 个单元测试全部通过:
- 数据模型测试(15 个)- 包括优先级功能
- 业务逻辑测试(17 个)- 包括优先级参数
- CLI 命令测试(12 个)- 包括优先级显示和排序
为什么叫 justdo?
- ✅ 简洁有力 - 两个音节,朗朗上口
- ✅ 寓意完美 - "Just do it!" 正是待办事项的核心精神
- ✅ 命令简短 -
jd两个字母,快速输入 - ✅ 易记易搜 - 用户搜索 "just do" 很容易找到
- ✅ 国际化 - 英语通用,全球用户都能理解
链接
- GitHub: https://github.com/gqy20/todo-cli
- PyPI: https://pypi.org/project/justdo/
- 文档: http://home.gqy20.top/todo-cli/
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
justdo-0.1.1.tar.gz
(6.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file justdo-0.1.1.tar.gz.
File metadata
- Download URL: justdo-0.1.1.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26c54e8c34c494543d9bc5c1ad462ed936442e906977fbaaee4a70b7129050a5
|
|
| MD5 |
a9ad5ca74fe6452aea7e6fe93a95926e
|
|
| BLAKE2b-256 |
ff5f0efba2671c22623681b48a6c8010dc741d856720263f96b14619dccbd232
|
File details
Details for the file justdo-0.1.1-py3-none-any.whl.
File metadata
- Download URL: justdo-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb9bdec269d442bf15902bd77373b0ca7d744bd52f46703d7cddd7f9bfd15ac0
|
|
| MD5 |
d260f07b494f525f26051697ba86d076
|
|
| BLAKE2b-256 |
add69d75d8edd3bf63cb1862eb2e8c8a80c7fde7e8725db136e124c5c7f8abc7
|