Skip to content

v0.7.0: multiple tasks per workspace + dashboard redesign - #4

Merged
marioolf merged 1 commit into
mainfrom
dev
Jul 13, 2026
Merged

marioolf merged 1 commit into
mainfrom
dev

Conversation

@marioolf

Copy link
Copy Markdown
Owner

v0.7.0 — Multiple tasks per workspace

A workspace can now hold several independent Claude sessions ("tasks") that share the same project directory — parallel efforts in one repo without cloning it.

  • Model: project.Task + Project.Tasks. Named tasks get crabby_<workspace>_<task> sessions (generated automatically); the default main task keeps the legacy crabby_<workspace> name.
  • Migration: existing single-session registries migrate in-memory to a default main task on their original session — existing workspaces keep working, no action needed.
  • Commands: crabby task create/list/delete/restart; crabby attach [workspace] [task] asks which task when several exist (or pass the name).
  • Dashboard: tasks are grouped under their workspace; a header row for multi-task workspaces; t starts a new task; navigation skips headers.

Dashboard redesign

  • Banner stays centred; the list and footer are left-aligned like a normal CLI, with each row's live data in a column to the right of its name.
  • Footer action keys are highlighted (accent colour) so they read distinctly from the informational usage summary.

Notes

  • Task status is derived live from tmux, never stored.
  • With several tasks sharing one directory, transcript-derived detail (model/tokens/activity) shows at the workspace level; per-task rows show reliable tmux state, since Claude transcripts can't be attributed to a specific tmux session.

Workspace model now supports several independent Claude sessions
("tasks") sharing one project directory.

- project.Task + Project.Tasks; legacy single-session registries migrate
  in-memory to a default "main" task on their original session, so
  existing workspaces keep working with no migration step.
- crabby task create/list/delete/restart; attach [workspace] [task] asks
  which task when several exist. Named tasks get crabby_<ws>_<task>
  sessions, generated automatically.
- Dashboard groups tasks under their workspace, adds a 't' key for a new
  task, and skips non-selectable headers when navigating.

Dashboard redesign:
- Banner stays centred; the list and footer are left-aligned CLI-style,
  with each row's live data in a column to the right of its name.
- Footer action keys are highlighted (accent) so they read distinctly
  from the informational usage summary.

Task status is derived live from tmux, never stored. With multiple tasks
in one directory, transcript-derived detail (model/tokens/activity) shows
at the workspace level; per-task rows show reliable tmux state only.
@marioolf
marioolf merged commit 163f135 into main Jul 13, 2026
1 check passed
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