Skip to content

feat(list): enrich daft list with status indicators, branch age, and relative paths#266

Merged
avihut merged 4 commits intomasterfrom
feat/list-ext
Feb 24, 2026
Merged

feat(list): enrich daft list with status indicators, branch age, and relative paths#266
avihut merged 4 commits intomasterfrom
feat/list-ext

Conversation

@avihut
Copy link
Owner

@avihut avihut commented Feb 24, 2026

Summary

  • Add branch age column showing time since branch creation
  • Add shorthand time durations (3d, 2w, 5mo) instead of verbose dates
  • Add file status indicators in Head column: +N staged, -N unstaged, ?N untracked
  • Add remote tracking status with ⇡N/⇣N arrows for unpushed/unpulled commits
  • Show paths relative to current working directory
  • Mark default branch with suffix
  • Add --json fields: staged, unstaged, untracked, remote_ahead, remote_behind, branch_age, is_default_branch

Test plan

  • mise run clippy — zero warnings
  • mise run fmt — formatted
  • mise run test:unit — 404 tests pass
  • mise run test:integration — all list tests pass including new tests for head/remote/relative-path/JSON fields
  • Manual: daft list shows enriched columns with correct indicators

🤖 Generated with Claude Code

avihut and others added 4 commits February 24, 2026 11:53
Replace verbose git relative dates ("3 days ago") with compact shorthand
format (<1m, 5m, 3h, 2d, 3w, 5mo, 2y) and add a new "Age" column
showing how old each branch is since creation.

- Change WorktreeInfo to store Unix timestamps instead of strings
- Add get_branch_creation_timestamp() using reflog with log fallback
- Add shorthand_from_seconds() pure function with unit tests
- Update table header to 8 columns with new "Age" column
- Add branch_age field to JSON output
- Add 3 integration tests for new features
- Update docs, man pages, and SKILL.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…commit

- Add Head column showing short 7-char commit SHA
- Add Remote column showing remote tracking branch (e.g. origin/main)
- Path column now shows relative path from cwd instead of project root
- Combine last commit age + subject into single column to fix width issue
- Add pathdiff dependency for relative path computation
- Add integration tests for new columns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…t branch marker

- Head column now shows uncommitted file count (~N) instead of SHA
- Remote column now shows ahead/behind vs upstream tracking branch
- Default branch marked with * after name (git convention)
- Removed head_sha and remote_branch fields, added head_changes,
  remote_ahead, remote_behind, is_default_branch
- Updated integration tests, docs, man pages, and SKILL.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…h marker

Head column now shows +N staged (green), -N unstaged (red), ?N untracked
(dim) instead of a single ~N count. Remote column uses ⇡N/⇣N arrows
for unpushed/unpulled commits. Default branch suffix changed from * to ◉.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@avihut avihut added this to the v1.1.0 milestone Feb 24, 2026
@avihut avihut self-assigned this Feb 24, 2026
@avihut avihut added the feat New feature label Feb 24, 2026
@avihut avihut merged commit d2c2e38 into master Feb 24, 2026
6 checks passed
@avihut avihut deleted the feat/list-ext branch February 24, 2026 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant