Skip to content

Visual polish — cleaner bars, compact outcomes, smarter defaults#1

Merged
Mahiler1909 merged 1 commit intomainfrom
claude/strange-mendel
Mar 28, 2026
Merged

Visual polish — cleaner bars, compact outcomes, smarter defaults#1
Mahiler1909 merged 1 commit intomainfrom
claude/strange-mendel

Conversation

@Mahiler1909
Copy link
Copy Markdown
Owner

Changes

UI Improvements

  • Bar charts: Replace placeholder with cleaner for empty space
  • Outcome distribution: Switch from individual dots to proportional fixed-width stacked bar (20 chars) with legend
  • Score gauge: Simplify rendering to use solid blocks with cleaner empty space
  • Category/outcome tables: Limit to top 5 items, aggregate remainder as "Other" to reduce clutter

Smart Defaults

  • today command: Load 7 days instead of 2 to handle empty-today cases gracefully
  • No sessions today: Show last activity date, session count, and projects instead of blank message
  • Session detail: Cap exchanges display at 15 (sorted by cost) with omitted count/cost summary
  • Outcome rendering: If one outcome dominates >90%, show inline instead of full table

Type Humanization

  • Add humanizeType() helper to convert snake_case to Title Case
  • Apply to goal categories in breakdown tables for better readability

Testing

  • Update test expectations for new bar character (), exchange count format, and empty-session message
  • Add budget config mock in integration tests for environment-agnostic behavior

Documentation

  • Rewrite README: shorter, faster to scan, with examples and efficiency scoring explanation
  • Add tagline: "Know where your Claude Code tokens go. Stop the bleeding."
  • Condense commands into tables, waste patterns into comparison table
  • Include sparkline examples for trends command

- Replace ░ empty fill with ─ for cleaner bar contrast across all gauges
- Replace outcome dot wall (●●●◐◐○) with proportional stacked bar + legend
- Limit "By Goal Category" to top 5 + "Other (N more)" row
- Limit session exchanges to top 15 by cost with omitted count
- Humanize category names (fix_code_warning → Fix Code Warning)
- Collapse "By Outcome" table to inline when one outcome >90%
- Fix truncation: use truncate() with ellipsis instead of .slice()
- Widen waste signal description column from 40 to 62 chars
- Improve `burnlog today` empty state: show last activity date
- Rewrite README for conversion: hero demo, "Try it now", v0.2.0 commands
- Fix budget test to mock config instead of relying on local machine state

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 28, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@Mahiler1909 Mahiler1909 merged commit 1b686a6 into main Mar 28, 2026
3 of 4 checks passed
Mahiler1909 added a commit that referenced this pull request Mar 28, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant