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
SugarTick
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
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-07
