@buckits/claude-statusline 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1
- package/package.json +2 -2
- package/statusline.sh +34 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @buckits/claude-statusline
|
|
2
2
|
|
|
3
|
-
A beautiful 2-line dashboard statusline for Claude Code with gradient progress bar, compact threshold marker, git status indicators, and
|
|
3
|
+
A beautiful 2-line dashboard statusline for Claude Code with gradient progress bar, compact threshold marker, git status indicators, cost tracking, and GSD (Get Shit Done) update notifications.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -21,6 +21,7 @@ npx @buckits/claude-statusline
|
|
|
21
21
|
- `●✚` Both = partial commit state
|
|
22
22
|
- **Ahead/Behind Tracking** - `↑5 ↓2` shows commits ahead/behind remote
|
|
23
23
|
- **Visual Icons** - 🤖 for AI line, 📁 for project line
|
|
24
|
+
- **GSD Update Notifications** - Automatically detects [Get Shit Done](https://www.npmjs.com/package/get-shit-done-cc) installations and shows available updates
|
|
24
25
|
|
|
25
26
|
## Screenshot
|
|
26
27
|
|
|
@@ -29,6 +30,12 @@ npx @buckits/claude-statusline
|
|
|
29
30
|
📁 trellis POC ✓ → origin/POC ↑15
|
|
30
31
|
```
|
|
31
32
|
|
|
33
|
+
With GSD update available:
|
|
34
|
+
```
|
|
35
|
+
🤖 Opus 4.5 ($14.61) │ [████████████████████░░░░░░░░░░░░░░░░░░░⚡░░░░░░░░░░░] 80k/200k
|
|
36
|
+
📁 trellis POC ✓ → origin/POC ↑15 │ ⬆️ GSD 1.5.0 → 1.6.4 /gsd:update
|
|
37
|
+
```
|
|
38
|
+
|
|
32
39
|
## What Each Element Means
|
|
33
40
|
|
|
34
41
|
### Line 1 - AI Session Info
|
|
@@ -53,6 +60,17 @@ npx @buckits/claude-statusline
|
|
|
53
60
|
| `↑15` | Commits ahead (green) |
|
|
54
61
|
| `↓3` | Commits behind (red) |
|
|
55
62
|
|
|
63
|
+
## GSD Integration
|
|
64
|
+
|
|
65
|
+
If you have [Get Shit Done (GSD)](https://www.npmjs.com/package/get-shit-done-cc) installed, the statusline will automatically detect it and show update notifications when a newer version is available.
|
|
66
|
+
|
|
67
|
+
**How it works:**
|
|
68
|
+
1. Checks for GSD installation in project (`.claude/get-shit-done/VERSION`) or global (`~/.claude/get-shit-done/VERSION`)
|
|
69
|
+
2. Reads the latest version from GSD's update cache (`~/.claude/cache/gsd-update-check.json`)
|
|
70
|
+
3. If versions differ, shows the update notification on line 2
|
|
71
|
+
|
|
72
|
+
**Note:** The cache is populated by GSD's SessionStart hook. If you see no notification, you're either on the latest version or GSD hasn't checked for updates yet.
|
|
73
|
+
|
|
56
74
|
## Progress Bar Colors
|
|
57
75
|
|
|
58
76
|
The bar gradient is calculated relative to the ⚡ threshold (not total capacity):
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buckits/claude-statusline",
|
|
3
|
-
"version": "2.0
|
|
4
|
-
"description": "A beautiful 2-line dashboard statusline for Claude Code with gradient progress bar, compact threshold marker, git status indicators, and
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "A beautiful 2-line dashboard statusline for Claude Code with gradient progress bar, compact threshold marker, git status indicators, cost tracking, and GSD update notifications",
|
|
5
5
|
"bin": {
|
|
6
6
|
"claude-statusline": "./bin/install.js"
|
|
7
7
|
},
|
package/statusline.sh
CHANGED
|
@@ -402,6 +402,37 @@ if [ -n "$git_branch" ]; then
|
|
|
402
402
|
fi
|
|
403
403
|
fi
|
|
404
404
|
|
|
405
|
-
#
|
|
406
|
-
|
|
407
|
-
|
|
405
|
+
# GSD Update check (appended to line 2 if update available)
|
|
406
|
+
gsd_update_suffix=""
|
|
407
|
+
gsd_cache_file="$HOME/.claude/cache/gsd-update-check.json"
|
|
408
|
+
|
|
409
|
+
# Check for GSD in project first, then global
|
|
410
|
+
gsd_version_file=""
|
|
411
|
+
if [ -n "$cwd" ] && [ -f "$cwd/.claude/get-shit-done/VERSION" ]; then
|
|
412
|
+
gsd_version_file="$cwd/.claude/get-shit-done/VERSION"
|
|
413
|
+
elif [ -f "$HOME/.claude/get-shit-done/VERSION" ]; then
|
|
414
|
+
gsd_version_file="$HOME/.claude/get-shit-done/VERSION"
|
|
415
|
+
fi
|
|
416
|
+
|
|
417
|
+
if [ -n "$gsd_version_file" ]; then
|
|
418
|
+
# Read installed version directly from the VERSION file we found
|
|
419
|
+
installed_ver=$(cat "$gsd_version_file" 2>/dev/null | tr -d '[:space:]')
|
|
420
|
+
[ -z "$installed_ver" ] && installed_ver="0.0.0"
|
|
421
|
+
|
|
422
|
+
# Get latest version from cache (populated by SessionStart hook)
|
|
423
|
+
if [ -f "$gsd_cache_file" ]; then
|
|
424
|
+
latest_ver=$(jq -r '.latest // "unknown"' "$gsd_cache_file" 2>/dev/null)
|
|
425
|
+
|
|
426
|
+
# Compare versions - append to line2 if they differ
|
|
427
|
+
if [ "$latest_ver" != "unknown" ] && [ "$installed_ver" != "$latest_ver" ]; then
|
|
428
|
+
gsd_update_suffix=$(printf " \033[2;37m│\033[0m \033[1;33m⬆️ GSD\033[0m \033[2m%s → %s\033[0m \033[1;36m/gsd:update\033[0m" "$installed_ver" "$latest_ver")
|
|
429
|
+
fi
|
|
430
|
+
fi
|
|
431
|
+
fi
|
|
432
|
+
|
|
433
|
+
# Append GSD update to line2 if available
|
|
434
|
+
line2+="$gsd_update_suffix"
|
|
435
|
+
|
|
436
|
+
# Output the dashboard (always 2 lines)
|
|
437
|
+
printf "%s\033[K\n" "$line1"
|
|
438
|
+
printf "%s\033[K\n" "$line2"
|