Commit Graph
1632 Commits
Author SHA1 Message Date
Ogulcan Celik a202425340 refactor popup controls to use ratatui tabs and lists 2026-03-29 22:55:41 +03:00
Ogulcan Celik 9badd642b7 fix popup rendering and settings theme flow 2026-03-29 22:48:02 +03:00
Ogulcan Celik 101de0ce45 refactor: two-section sidebar with agent detail panel, theme system with 9 built-in themes
sidebar layout:
- top section: workspace list with accent bar, git branch, state dots
- bottom section: agent detail panel sorted by urgency with braille spinners
- active workspace always highlighted (subtle bg in terminal mode, brighter in nav)
- palette-driven colors throughout (no hardcoded colors in ui.rs)

theme system:
- 9 built-in themes: catppuccin (default), tokyo-night, dracula, nord, gruvbox, one-dark, solarized, kanagawa, rose-pine
- config: theme.name selects base, theme.custom overrides individual tokens
- 15 color tokens: accent, surface0/1, overlay0/1, text, subtext0, mauve, green, yellow, red, blue, teal, peach
- legacy ui.accent still works for backward compatibility

infrastructure:
- Palette struct on AppState, ready for future theme system extensions
- git_branch() reads .git/HEAD for branch detection
- PaneDetail struct with urgency sorting for agent panel
- spinner_tick counter for braille animation (~8fps on 60fps render loop)
2026-03-29 20:44:34 +03:00
Ogulcan Celik bf6b6d779a feat(api): use compact public workspace and pane ids 2026-03-29 19:54:52 +03:00
Ogulcan Celik a5847a8039 feat(cli): add workspace and pane management commands 2026-03-29 19:29:23 +03:00
Ogulcan Celik 8b7848aac3 feat(api): add socket subscriptions and lifecycle events 2026-03-29 17:20:53 +03:00
Ogulcan Celik fd1e3b8b05 feat: add initial socket api for workspace and pane control
add unix socket request/response api scaffolding

implement initial workspace and pane commands:
- ping
- workspace.list
- workspace.get
- workspace.create
- pane.list
- pane.get
- pane.read
- pane.send_text
- pane.send_keys
- pane.wait_for_output

improve pane read semantics:
- visible trims trailing blank viewport rows
- recent reads from parser scrollback/current screen
- wait_for_output returns matched snapshot plus matched_line

add real subprocess integration tests for socket api
2026-03-29 04:23:22 +03:00
Ogulcan Celik 60baa765d9 feat: block nested herdr instances by default 2026-03-28 22:17:14 +03:00
Ogulcan Celik 9c8eadc492 docs: fix agent detection table - mark pi and amp as partial for needs-attention detection 2026-03-28 21:37:50 +03:00
Ogulcan Celik c71af5fec6 release: v0.1.2 v0.1.2 2026-03-28 21:29:54 +03:00
Ogulcan Celik 287ccc33d8 docs: update changelog for unreleased changes 2026-03-28 21:29:13 +03:00
Ogulcan Celik 70b539f79a docs: refresh readme for onboarding and notifications 2026-03-28 21:26:14 +03:00
Ogulcan Celik fa1adf1a26 feat: add onboarding and toast notification preferences 2026-03-28 21:13:41 +03:00
Ogulcan Celik d05ba2ea9f feat: restore workspace numbers in expanded sidebar 2026-03-28 16:38:04 +03:00
Ogulcan Celik 42e9aec481 refine sidebar workspace badges and agent summaries
- make workspace rows use a more consistent marker/name/state order
- simplify multi-pane state presentation in the sidebar
- switch agent summaries from plus-separated to comma-separated wording
2026-03-28 15:55:32 +03:00
Ogulcan Celik ebd8007558 add config diagnostics and split configuration docs 2026-03-28 15:44:31 +03:00
Ogulcan Celik 7380e0ed16 refactor workspace identity and configurable navigate actions 2026-03-28 15:28:13 +03:00
Ogulcan Celik f18f26d1c0 fix prefix key defaults and binding parsing 2026-03-28 04:29:37 +03:00
Ogulcan Celik 6a4315c4ee fix: use annotated release tags 2026-03-28 02:03:34 +03:00
Ogulcan Celik a100c9d014 release: v0.1.1 v0.1.1 2026-03-28 02:00:11 +03:00
Ogulcan Celik 17e5dc6ee9 feat: automate changelog-backed releases 2026-03-28 01:59:52 +03:00
Ogulcan Celik c0fe95235f fix: stabilize claude state detection 2026-03-28 01:18:03 +03:00
Ogulcan Celik e719c6517d fix sound request alerts in active workspace 2026-03-28 01:02:10 +03:00
Ogulcan Celik 380778a928 docs: clarify test workflow 2026-03-28 00:42:14 +03:00
Ogulcan Celik 042938772f chore: add check task 2026-03-28 00:35:05 +03:00
Ogulcan Celik f8c4d6a5f1 feat: add per-agent sound overrides 2026-03-28 00:32:35 +03:00
Ogulcan Celik 787786c620 fix wrapped foreground job agent detection 2026-03-28 00:20:12 +03:00
Ogulcan Celik 0403775fd2 feat: sound notifications for agent state changes
play a chime when an agent finishes work and an alert when one needs
input. only triggers for background workspaces. configurable via
sound = true/false under [ui] in config.
2026-03-27 23:53:37 +03:00
Ogulcan Celik 1d867053fc fix: move vt100 back to main dependencies (was accidentally under macos-only) v0.1.0 2026-03-27 22:55:48 +03:00
Ogulcan Celik 4955dd6024 harden release workflow: musl builds, --locked, version check, portable sed 2026-03-27 22:51:25 +03:00
Ogulcan Celik 9aa50f04a9 fix: use KERN_PROCARGS2 for macOS process name resolution
proc_name() fails on macOS Sequoia due to undersized buffer
(MAXCOMLEN+1 = 17 bytes). Even with a larger buffer, it returns
the kernel comm name ('node') rather than the effective process
title ('pi') set via Node.js process.title.

Replace with sysctl(KERN_PROCARGS2) which reads argv[0] and
reflects runtime title changes, matching what ps(1) displays.
Falls back to pbi_comm from proc_pidinfo if sysctl fails.
2026-03-27 22:43:29 +03:00
Ogulcan Celik a57b97285c initial release
terminal workspace manager for AI coding agents.
single rust binary, runs inside your existing terminal.
workspaces, tiled panes, intelligent agent state detection.

https://herdr.dev
2026-03-27 21:37:05 +03:00