candycore/sugar-tick 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

candycore/sugar-tick

最新稳定版本:v0.2.0

Composer 安装命令:

composer create-project candycore/sugar-tick

包简介

Privacy-first coding-time tracker — port of Rtarun3606k/TakaTime on the SugarCraft stack.

README 文档

README

sugar-tick

SugarTick

CI codecov Packagist Version License PHP

demo

Privacy-first coding-time tracker — port of Rtarun3606k/TakaTime. Storage is JSONL on local disk (no cloud, no MongoDB), the dashboard is a SugarCharts-driven TUI that reads it.

Run it

# write a heartbeat from your editor (one-shot CLI):
sugar-tick push <project> <language> <file> [duration]

# open the dashboard:
sugar-tick

By default heartbeats land in $XDG_DATA_HOME/sugar-tick (or ~/.local/share/sugar-tick). Override with SUGARTICK_DIR=....

Keys (dashboard)

Key Action
Shift the 7-day window back
Shift forward (to today)
r Reload from disk
q / Esc Quit

Architecture

File Role
Heartbeat Value object — one activity sample (project, language, file, duration).
Store JSONL-backed reader / appender. One file per day under the data dir.
Stats Pure folder — totals per project / language + per-day timeline buckets.
Dashboard CandyCore Model — renders the report, ←/→ shifts the window, r reloads.
Renderer View — header + ranking panes side-by-side + Sparkline timeline (SugarCharts).

The Store is intentionally append-only at the file level, so editor plug-ins can >> echo a JSON line directly without coordinating with the dashboard. The dashboard reads at r / on launch / when the day shifts — never holds a file lock.

Test

composer install
vendor/bin/phpunit

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固