做一个CLI版的时间管理工具(一)| 8月更文挑战

简介: 做一个CLI版的时间管理工具(一)| 8月更文挑战

背景


时间管理一直是一个令人头痛的问题


笔者用过许多款图形化时间管理/TODO 工具


没有一款非常满意且又不可替代的


常见的图形化软件(桌面终端/移动端)的简单操作流程如下:

  • 打开软件(一顿点击操作)
  • 功能选择(一顿点击操作)
  • 定位到目标功能
  • 选择新增/删除/编辑
  • 一顿输出
  • 保存


感觉稍微有些繁琐


目前发现痛点也比较明显,大部分是统计TODO的形式:


  • 一个TODO可能是多天多次断断续续完成的
  • 一段时间会进行多种任务,任务过程中随时可能会被打断
  • 利用计时工具,难免会忘记计时,这样无法较准确的统计每个任务的具体耗时
  • 周报/月报 都要输出技术/业务/其它的耗时 此时需要手动去统计
  • 时间短还好
  • 时间长的话费神费力
  • 。。。还有一些其它的这里就不赘述了


方案


Coder 除了图形化编辑器用得多外,其次应该就是终端工具

一般打开终端工具都是有快捷键的


设想通过一个简单的指令就能完成时间统计,时间记录,可视化数据生成,记录TODO,周报/月报/日报生成....more


期望


添加TODO


timec add <taskName>


完成TODO


timec fin <taskName>


开始TODO


timec start <taskName>


暂停


timec pause <taskName>


.... 还有很多想法指令,只差时间,这里不再赘述,做出来了再和大伙儿接着分享


开工


准备工作


初始化项目


mkdir timec
cd timec
npm init -y


安装依赖commander


yarn add commander


修改package.json内容,添加bin部分的内容


{
  "name": "time-control",
  "version": "0.0.0",
  "description": "生成自己的时间管理报告",
  "main": "index.js",
  "directories": {
    "test": "test"
  },
  "bin": {
    "timec": "./bin/index.js"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ATQQ/time-control.git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/ATQQ/time-control/issues"
  },
  "homepage": "https://github.com/ATQQ/time-control#readme",
  "dependencies": {
    "commander": "^6.2.1"
  }
}


创建./bin/index.js文件,键入demo内容


#!/usr/bin/env node
console.log('hello world');


运行demo


npm link
# 执行
timec


输出结果


网络异常,图片无法展示
|


初步路径


将内容组织成MD文档的形式

通过脚本将MD内容解析成一个JSON对象

最终统计数据,生成各种报告都了若指掌


Markdown格式


# 2021-08-01
## 任务1
* a组件 0.2
* b组件 0.3
## 任务2
* 熟悉代码 0.1
* 学习xx使用 0.2
## 其它
* 学习Vue 0.1
* 写笔记 0.1
# 2021-08-02
## 任务1
* a组件 0.2
* b组件 0.3
## 任务2
* 熟悉代码 0.1
* 学习xx使用 0.2
## 其它
* 学习Vue 0.1
* 写笔记 0.1


  • 一级标题设置时间
  • 耳机标题标识任务
  • 剩下的就是描述具体的任务跟用时
  • 这里的用时并不固定单位,由使用者自己定义
  • 可以是小时/分钟/甚至一天的几分之几


生成的JSON结构如下


[
  {
    "title": "2020-12-23",
    "tasks": [
      {
        "title": "任务1",
        "things": [
          {
            "time": "0.2",
            "content": "a组件"
          },
          {
            "time": "0.3",
            "content": "b组件"
          }
        ]
      },
      {
        "title": "任务2",
        "things": [
          {
            "time": "0.1",
            "content": "熟悉代码"
          },
          {
            "time": "0.2",
            "content": "学习xx使用"
          }
        ]
      },
      {
        "title": "其它",
        "things": [
          {
            "time": "0.1",
            "content": "学习Vue"
          },
          {
            "time": "0.1",
            "content": "写笔记"
          }
        ]
      }
    ]
  }
]


有了这个JSON结构我们就可以为所欲为了


其它


由于每天空闲时间有限,本文就先到这


如果读者还感觉意犹未尽,敬请期待后续更新,或先关注一下仓库


欢迎评论区提需求,交流探讨


本系列会不断的更新迭代,直至产品初代完成


相关文章
数据脱敏——基于Java自定义注解实现日志字段脱敏
上文说了数据过敏主要有两个思路:第一个就是在序列化实体之前先把需要脱敏的字段进行处理,之后正常序列化;第二个就是在实体序列化的时候,对要脱敏的字段进行处理。
数据脱敏——基于Java自定义注解实现日志字段脱敏
|
1天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。
|
2天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
339 90
|
9天前
|
人工智能 自然语言处理 前端开发
Qoder全栈开发实战指南:开启AI驱动的下一代编程范式
Qoder是阿里巴巴于2025年发布的AI编程平台,首创“智能代理式编程”,支持自然语言驱动的全栈开发。通过仓库级理解、多智能体协同与云端沙箱执行,实现从需求到上线的端到端自动化,大幅提升研发效率,重塑程序员角色,引领AI原生开发新范式。
806 156
|
2天前
|
数据采集 缓存 数据可视化
Android 无侵入式数据采集:从手动埋点到字节码插桩的演进之路
本文深入探讨Android无侵入式埋点技术,通过AOP与字节码插桩(如ASM)实现数据采集自动化,彻底解耦业务代码与埋点逻辑。涵盖页面浏览、点击事件自动追踪及注解驱动的半自动化方案,提升数据质量与研发效率,助力团队迈向高效、稳定的智能化埋点体系。(238字)
243 156
|
3天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
10天前
|
机器人 API 调度
基于 DMS Dify+Notebook+Airflow 实现 Agent 的一站式开发
本文提出“DMS Dify + Notebook + Airflow”三位一体架构,解决 Dify 在代码执行与定时调度上的局限。通过 Notebook 扩展 Python 环境,Airflow实现任务调度,构建可扩展、可运维的企业级智能 Agent 系统,提升大模型应用的工程化能力。