Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,88 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.9.0] - 2026-07-15

### Added

- **Mission Control** (F12): a live overview of every Claude task at once — a
grid of cards, one per task, each showing its status, branch, uptime, model and
tokens, and a short live preview of the session's screen. Previews come from
`tmux capture-pane`, stripped of box art and Claude's status chrome so the card
shows recent output and the current prompt. Captures are cached and only
refreshed when a session produces new output, so it scales to dozens of tasks.
Arrow/Tab keys move between cards; Enter attaches and leaving returns to Mission
Control. It is an observation surface, kept separate from the dashboard.
- **Import now scans the machine automatically.** Pressing `i` no longer asks for
a path: it scans the WSL home and the common project folders under each Windows
user on the mounted drives, matching CLAUDE.md and claude.md. The pick list
shows `Found N` / `Selected N` with space to toggle, `a`/`n` to select all/none,
`i`/enter to import, and `r` to rescan; the scan runs off the UI thread.

- **Open a workspace's folder** (o) in the file manager (Windows Explorer on
WSL), so you can drop files into a workspace without copying its path.
- **Relink a moved or renamed workspace** (e). When a workspace's folder is
renamed or moved, the dashboard now flags it as `⚠ missing` and `o` explains
why instead of failing; pressing `e` points it at its new folder (with the same
Tab completion) and updates both its name and path, keeping its tasks.
- **Un-import from the import screen** (d): remove an already-imported workspace
from Crabby without leaving the import view (its files are kept).

### Changed

- Import pruning now also skips `build`, `dist` and hidden config folders (so
`~/.claude` and Crabby's own packs no longer appear as importable workspaces).

## [0.8.0] - 2026-07-14

### Changed

- **Crabby is now a TUI-first terminal application.** Running `crabby` opens a
persistent, multi-panel home screen and every day-to-day action happens inside
it — the shell is no longer part of the workflow. The dashboard is three
columns (**Workspaces | Tasks | Details**) with keyboard focus moving between
panes (Tab / arrows); Enter opens the selected task in Claude.
- Attaching to a Claude session now runs through the app (via `tea.ExecProcess`),
so the screen is released for Claude and the dashboard restored on return —
without ever leaving Crabby. The prefix-free return key (F12) is shown on
screen and in Help.

### Added

- In-app **workspace creation** (n): pick a directory and a pack, no shell. The
path field completes with **Tab** and lists matching sub-directories as you
type; **Ctrl+O** opens the native Windows folder picker (WSL) as a convenience.
- In-app **import** (i): scan a folder for workspaces with a `CLAUDE.md` and pick
which to adopt; the scan runs off the UI thread so a large tree never freezes.
- In-app **task management**: create (t), stop (x), remove (d), and open (Enter).
- In-app **pack management** (p): create, duplicate, edit (via `$EDITOR`), and
delete packs — no manual filesystem editing required.
- A **Settings** section (Packs, Diagnostics, About) and a **Help** screen (?)
listing every navigation key, shortcut, and action.
- The banner's crab is **gently animated** — it sways side to side, waves a claw
and blinks — driven by its own light redraw tick (no filesystem or tmux reads),
so it costs nothing. The wordmark is now **CRABBY** (letters together).

### Removed

- The `init`, `import`, `task`, `attach`, `start`, `ps`, and `rm` CLI
subcommands. Everything they did now lives in the interface. The command line
keeps only `crabby`, `crabby version`, and `crabby doctor`.

Existing workspaces, tasks, and packs keep working — the data model, session
storage, and pack format are unchanged.

## [0.7.3] - 2026-07-14

### Fixed

- **Mouse wheel scrolled Claude's prompt history instead of the pane.** With
tmux's mouse mode off (the default), the wheel was forwarded to Claude Code as
arrow keys, cycling through old prompts rather than scrolling up through the
response. Crabby now enables mouse mode on its tmux socket so the wheel scrolls
the pane's scrollback. (Hold Shift while dragging for the terminal's native
selection.)

## [0.7.2] - 2026-07-13

### Fixed
Expand Down
Loading
Loading