#时间跟踪 #生产力 #cli

应用 ct-tracker

使用 ct_tracker_lib 的简单 CLI 时间跟踪工具

2 个版本

0.1.1 2021 年 3 月 15 日
0.1.0 2021 年 3 月 13 日

命令行工具 中排名第 2721

MIT 许可证

68KB
1.5K SLoC

ct

一个命令行时间跟踪工具。

ct on crates.io

什么是 ct

ct 如其名所示,是一个 CLI 时间跟踪工具,用 Rust 编写,根据项目的方式跟踪您的时间。

计划用途

因为这项开发刚刚开始,所有这些都可能改变。

开始一个新项目

当在非存在的项目上使用 start 时,这将自动完成。

$ ct create ct
Created new project 'ct'

跟踪项目中花费的时间(可能仅在 v0.2.0 之前)

开始跟踪新项目

$ ct start -p ct
Created new project 'ct'
Started tracking project 'ct'

开始跟踪现有项目

$ ct start -p ct
Time spent on project 'ct' already: 8h5m4s
Started tracking project 'ct'

在跟踪另一个项目的同时开始跟踪现有项目

$ ct start -p ct
Already tracking project 'npp'
Stopped tracking project 'npp'
Time spent on project 'npp' already: 8h5m4s
Time spent on project 'npp' in this session: 4h0m0s

Time spent on project 'ct' already: 8h5m4s
Started tracking project 'ct'

在跟踪另一个项目的同时开始跟踪新项目

$ ct start -p ct
Already tracking project 'npp'
Stopped tracking project 'npp'
Time spent on project 'npp' already: 8h5m4s
Time spent on project 'npp' in this session: 4h0m0s

Created new project 'ct'
Started tracking project 'ct'

停止跟踪项目

$ ct stop -p # without a specific project
Time spent on project 'ct' already: 8h5m4s
Time spent on project 'ct' in this session: 4h0m0s
Stopped tracking project 'ct'
$ ct stop -p ct # with a specific project
Time spent on project 'ct' already: 8h5m4s
Time spent on project 'ct' in this session: 4h0m0s
Stopped tracking project 'ct'

跟踪项目中任务的时间(v0.2.0)

开始跟踪新任务

$ ct start ct.tracking
Started tracking task 'tracking' in project 'ct'

开始跟踪现有任务

$ ct start ct.tracking
Time spent on 'ct.tracking' already: 8h5m4s
Started tracking task 'tracking' in project 'ct'

停止跟踪

$ ct stop #without specific task
Stopped tracking task 'tracking' in project 'ct'
Time spent on 'ct.tracking' already: 8h5m4s
Time spent on 'ct.tracking' in last session: 4h0m0s
$ ct stop ct.tracking #with a specific task
Stopped tracking task 'tracking' in project 'ct'
Time spent on 'ct.tracking' already: 8h5m4s
Time spent on 'ct.tracking' in last session: 4h0m0s

在另一个任务正在进行时开始跟踪任务

$ ct start ct.export
Already tracking task 'tracking' in project 'ct'
Stopped tracking task 'tracking' in project 'ct'
Time spent on ct.tracking already: 8h5m4s
Time spent on ct.tracking in last session: 4h0m0s

Started tracking task 'export' in project 'ct'

路线图/计划功能

0.1.0

  • 能够跟踪 JSON 文件中的时间
  • 目前只支持基于项目的跟踪
  • 基本时间报告
  • 能够列出已存在的项目(目前只限于项目)
  • 能够清除所有项目
  • 能够删除特定的项目

0.2.0

  • 特定任务的跟踪
  • 能够手动添加/减去任务/项目中的时间
  • 使用 termcolor 等工具的彩色输出
  • 使用 config.json/config.toml 配置 ct
    • 默认保存位置
    • 参数默认值(颜色等)
    • 时间格式
  • 以某种方式与 0.1.0 兼容
    • 升级命令升级旧记录
    • 基于项目的传统时间跟踪

0.3.0

  • 导出到 markdown(和其他格式)
  • 以多种格式报告(并导出)按项目划分的时间,例如
    • 每天花费的时间
  • 能够报告一天中花费的时间

目前未计划(但很好)

  • 加密花费的时间
  • 备份选项
    • 能够备份跟踪的数据并恢复备份
  • 多用户(?)
  • VS Code 扩展(?)
    • 用户界面集成
    • 绑定到工作区
      • 以某种方式集成到 git(见下文)
  • Git 集成
    • 扫描 ct 被调用的路径,检查它是否是 git 仓库,并使用一些元数据(项目、分支等)
  • 一个图形用户界面客户端,可能使用类似 libui 的库。

依赖项

~5–15MB
~200K SLoC