nudge. Get Nudge

Changelog

v0.1.3

2026-05-07

Added

  • "Create New" button (📄 in icon row) — opens native save dialog, writes a markdown template with formatting instructions to the chosen path
  • "Add Task" input field at the bottom of expanded view — type and press Enter or click + to append a task under the current heading section
  • classifyInput() auto-classification — detects - [ ] (task), * (bullet), - (plain), #/## (heading), numbered lists; defaults to - [ ] action task
  • Numbered list support1. Item syntax parsed as display_mode: "numbered", rendered without checkbox or bullet
  • Pin toggle (📌) — repurposed Hide button toggles between auto-hide and pinned mode with visible icon swap (📌)
  • cmd_create_file Rust command — writes the default markdown template to disk and returns the parsed TodoDocument
  • cmd_append_task Rust command — inserts a formatted task line after the last task under the currently-viewed heading section, re-parses, and returns the updated document
  • find_insert_line() Rust helper — scans parsed entries to locate the correct insert point per heading context

Fixed

  • Trackpad scroll sensitivity — debounce (300ms quiet window) plus synchronous navigation lock eliminates multi-task skipping from momentum scroll events
  • Navigation stuck at heading boundaries — lock now released by onNavigate() completion instead of a fixed 450ms timeout, eliminating the race window between animation end and lock expiry
  • Bullet point UI — bullets now render as clean dots () without checkbox borders, both in the banner and expanded view
  • macOS white shadow/border during auto-hide shrink — removed border and box-shadow on .banner-faded class
  • macOS Next/Previous navigation buttons hiddenflex-shrink: 0 on #main-task-row, min-width: 44px and z-index: 1 on .nav-arrows, position: relative on .content-row
  • macOS autohide not reopening on mouse hoverHOVER_IDLE_H increased from 2px to 6px for reliable mouse event detection

Changed

  • LLM prompt (Info panel) — rule 1 now instructs the model to scan input and auto-generate # and ## headings (previously left heading usage ambiguous)
  • Hide button repurposed button now toggles Pin mode (📌). When pinned, auto-hide is suppressed and the banner stays visible. Visual icon swap communicates state clearly.
  • Scroll navigation lock — renamed isNavigating to navigateLocked; lock set synchronously at wheel handler entry instead of inside async animation functions
  • Banner view#main-task-row now uses flex-shrink: 0 and .content-row uses position: relative for layering stability

v0.1.2

2026-04-29

Changed

  • Product branding — name changed to "Nudge"; integrated brand identity across icons and window title

Added

  • GitHub Actions CI/CD workflow — automated release builds for macOS (aarch64-apple-darwin) and Windows (x86_64-pc-windows-msvc) triggered by version tags

v0.1.1

2026-04-28

Changed

  • Rust parser upgraded — tasks now classified into 3-tier display modes: action (checkbox), bullet (dot), plain (no indicator). Previously all tasks rendered as checkboxes.

v0.1.0

2026-04-27

Added

  • Initial release — Nudge ambient HUD
  • Tauri v2 shell — Rust backend with vanilla TypeScript frontend, no framework runtime
  • 4-pass task parser — supports 4 mixed formats: A (classic brackets h1:/[ ]), B (asterisk *), C (underlined ----), D (markdown #/- [ ])
  • 4 views — banner (always-on-top HUD), settings (theme/opacity/position/width/monitor), expanded (full task list), info (LLM prompt library)
  • 14-step tutorial system — barrel-roll animated walkthrough shown when no file is loaded
  • Auto-hide — banner shrinks to 2px after configurable delay; restores on mouse hover
  • Multi-monitor support — select target monitor, position presets (top-left/center/right) calculated in absolute physical coordinates
  • Light/dark themes — 22 CSS custom properties per theme with glassmorphism via backdrop-filter
  • Progress bar and task counter — optional overlay showing completed/total
  • LLM prompt library — expandable format templates with copy-to-clipboard
  • File I/O — toggle tasks in-place ([ ][x], - [ ]- [x]), open in native editor
  • State persistencestate.json in app data directory, saved on every setting change