-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Summary
Port the existing Rust implementation to Go with 1:1 feature parity. No new features, no architectural changes - just a straight port.
Motivation
- Faster iteration with Go's sub-second compile times
- Leverage existing Go expertise
- Foundation for future Bubble Tea improvements
Scope
Port all existing functionality:
Panels
- Meetings panel (macOS Calendar.app via osascript)
- PRs panel (gh CLI integration)
- Ports panel (lsof parsing)
- Git status panel (uncommitted work scanning)
- Stashes panel
Features
- Config file parsing (
~/.config/dcc/config.toml) - Keyboard shortcuts (q, r, p, m, g, Tab, Shift+Tab)
- Color coding (meeting buffer, PR age, stash age)
- Auto-refresh interval
- Panel focus/selection
Data Fetching
-
osascriptfor Calendar events -
gh search prsfor GitHub PRs -
lsof -i -P -nfor ports -
git status --porcelainfor repo status -
git stash listfor stashes
Out of Scope
- Bubble Tea / Elm Architecture (separate issue)
- New panels (Jira, Claude sessions)
- Windows support
- Architectural improvements
Technical Notes
Use basic Go TUI approach initially:
github.com/gdamore/tcell/v2or raw terminal handling- Simple event loop matching current Rust structure
- Direct port of current architecture
Acceptance Criteria
- All panels render identically to Rust version
- All keyboard shortcuts work
- Config file compatible with existing format
-
go buildproduces working binary
Metadata
Metadata
Assignees
Labels
No labels