Calman

发表 2026-08-29


Calman

本项目的灵感来源于 Taskwarrior——一款功能出色且强大的命令行任务管理工具。然而,Taskwarrior 在任务同步方面不够便捷,且不支持事件管理,其功能复杂度也超出了我的实际需要。另一款工具 Cfait 采用 ICS 格式存储数据,便于与 CalDAV 协议协同工作(本人使用 Radicale 作为服务端,并与手机同步),但其界面过于繁复。Todoman 同样基于 ICS 文件,而我更倾向于 Taskwarrior 风格的命令交互。

因此,我设计并实现了这一工具,全部代码以 Rust 编写。

该项目以 JSONL 或 ICS(兼容 CalDAV)格式存储任务与事件;数据同步则交由外部工具完成(如 git、vdirsyncer、rclone)。

当前状态:核心功能已基本可用,但规划中的部分特性尚待实现。

用法

cargo build --release        # 二进制:target/release/calman
calman add "buy milk" due:tomorrow pri:H +home
calman next                  # 不带参数的 `calman` 等价于 next
calman list / done / start / stop / count / sync

更多文档见 docs/(安装、用法、循环、iCalendar、报告、过滤器)以及 SPEC.md / DESIGN.md / PLAN.md。