DevSession CLI
Source: Dev.to
这是对GitHub Copilot CLI Challenge的提交
我构建的内容
我构建了 DevSession,一个轻量级的基于 PHP 的 CLI 工具,帮助开发者在有上下文的情况下跟踪专注的开发会话,而不仅仅是记录时间。
开发者往往知道自己工作了多长时间,却不清楚到底完成了什么。DevSession 通过允许你启动和结束会话,并自动生成摘要来解决这个问题:
- 会话持续了多长时间
- 哪些 git 提交被创建
- 哪些文件被修改
- 会话的主题是什么
所有操作都在本地运行,数据存储在一个简单的 JSON 文件中,完全在终端中完成。没有后台守护进程,没有云同步,也不需要任何配置。
对我而言,这个项目体现了有意的工作方式:有意识地声明一个会话,专注于此,然后获得对实际发生情况的清晰总结。
演示
项目仓库: DevSession
概览

开始会话

检查状态

结束会话

查看今天的工作

查看历史

我在 GitHub Copilot CLI 的使用体验
我在整个项目中将 GitHub Copilot CLI 作为终端原生的配对程序员使用。与其在编辑器、浏览器和文档之间切换,我一直停留在 CLI 中,用自然语言描述我的需求。Copilot CLI 帮助我更快地推进工作,同时保持对架构和决策的完整控制。
设计 CLI 界面
早期,我使用 Copilot CLI 来探索和完善命令结构,决定哪些命令是必需的(start、end、status、today、log)。有意保持范围小有助于避免过度设计,并专注于真正的生产力价值。
构建 PHP CLI 架构
虽然 PHP 不是最常见的 CLI 工具选择,但我特意选用它来展示在 PHP 中完全可以实现干净、无框架的 CLI 应用。借助 Copilot,我快速搭建了命令调度器,完善了适用于 CLI 使用的错误处理模式,并在干净的基于命令的架构上进行迭代。Copilot 加速了样板代码的编写,却没有强加设计决策。
Git Integration
DevSession 是 git 感知的:在有 git 环境时,它会为会话添加 git 上下文,但它并不依赖 git——即使在非 git 仓库中也能正常工作。Copilot CLI 帮助我构建了 git 命令,以列出自某时间戳以来的提交、检索会话期间的变更文件,并处理 git 不可用的边缘情况。
整体影响
GitHub Copilot CLI 最大的好处不仅是速度;更是专注。我花在搜索文档、回忆命令语法以及上下文切换的时间更少了。我有更多时间思考行为并做出深思熟虑的设计选择。Copilot 并没有取代决策,而是放大了决策的效果。
感谢阅读,也感谢 DEV 和 GitHub 团队提供的挑战!