Skip to content

Commit 159ce93

Browse files
authored
Add status sorting, stale status, batch delete, and spec-driven display (#14)
* Add status sorting, stale status, batch delete, and status cache * Derive status colors and sort order from spec instead of hardcoded values * Update default status colors: open=green, in-progress=yellow, in-review=purple, closed=dimmed red * Update hero demo with varied statuses and per-workspace drill-down * Improve default status checks and update status spec docs * Add tip admonition about AI-generated check commands to status spec docs * Re-record all GIFs after rebase onto main * Add tests for cache package (0% → 90.9% coverage) * Add tests for agents, git, and ui packages
1 parent 8626143 commit 159ce93

37 files changed

Lines changed: 790 additions & 116 deletions

demo-setup.sh

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,11 @@ create_repo "docs" "update/guides" "README.md" "update setup guide"
7979
create_repo "web" "feat/dashboard" "main.go" "add dashboard page"
8080
create_repo "billing" "feat/billing-v2" "main.go" "billing v2 migration"
8181
create_repo "gateway" "feat/rate-limits" "main.go" "add rate limiting"
82+
create_repo "config" "feat/env-vars" "main.go" "add env var support"
8283

8384
# --- Pre-populate bare clone cache for realistic URLs ---
8485

85-
for name in app api docs web billing gateway; do
86+
for name in app api docs web billing gateway config; do
8687
bare="$FLOW_HOME/repos/github.com/acme/${name}.git"
8788
mkdir -p "$(dirname "$bare")"
8889
git clone --bare "/tmp/demo/$name" "$bare" -q
@@ -166,11 +167,28 @@ spec:
166167
YAML
167168
)"
168169

170+
# Workspace: env-config — will be "open" (no changes)
171+
create_workspace "iron-vale" "$(cat <<'YAML'
172+
apiVersion: flow/v1
173+
kind: State
174+
metadata:
175+
name: env-config
176+
description: Add environment variable support
177+
created: "2026-02-26T08:00:00Z"
178+
spec:
179+
repos:
180+
- url: github.com/acme/config
181+
branch: feat/env-vars
182+
path: config
183+
YAML
184+
)"
185+
169186
# Render all workspaces
170187
$FLOW render bold-creek
171188
$FLOW render swift-pine
172189
$FLOW render calm-ridge
173190
$FLOW render dry-fog
191+
$FLOW render iron-vale
174192

175193
# --- Set up different statuses via local changes and marker files ---
176194

@@ -209,14 +227,22 @@ spec:
209227
statuses:
210228
- name: closed
211229
description: All PRs merged or closed
230+
color: "131"
212231
check: test -f "\$FLOW_REPO_PATH/.flow-closed"
232+
- name: stale
233+
description: Workspace inactive
234+
color: magenta
235+
check: 'false'
213236
- name: in-review
214237
description: Non-draft PR open
238+
color: purple
215239
check: test -f "\$FLOW_REPO_PATH/.flow-review"
216240
- name: in-progress
217241
description: Local diffs or draft PR
242+
color: yellow
218243
check: git -C "\$FLOW_REPO_PATH" diff --name-only "origin/\$FLOW_REPO_BRANCH" 2>/dev/null | grep -q .
219244
- name: open
220245
description: Workspace created, no changes yet
246+
color: green
221247
default: true
222248
YAML

demo.gif

44.1 KB
Loading

demo.tape

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,9 @@ Sleep 500ms
7474
Enter
7575
Sleep 5s
7676

77+
Type "flow status api-refactor"
78+
Sleep 500ms
79+
Enter
80+
Sleep 4s
81+
7782
Sleep 4s

docs/commands/flow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ A YAML manifest defines which repos/branches belong together, and `flow render`
1616

1717
### SEE ALSO
1818

19-
* [flow delete](flow_delete.md) - Delete a workspace and its worktrees
19+
* [flow delete](flow_delete.md) - Delete one or more workspaces and their worktrees
2020
* [flow edit](flow_edit.md) - Open flow configuration files in editor
2121
* [flow exec](flow_exec.md) - Run a command from the workspace directory
2222
* [flow init](flow_init.md) - Create a new empty workspace

docs/commands/flow_delete.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
## flow delete
22

3-
Delete a workspace and its worktrees
3+
Delete one or more workspaces and their worktrees
44

55
![flow delete](tapes/delete.gif)
66

77

88
```
9-
flow delete <workspace> [flags]
9+
flow delete <workspace> [workspace...] [flags]
1010
```
1111

1212
### Examples
1313

1414
```
1515
flow delete calm-delta
16-
flow delete calm-delta --force
16+
flow delete calm-delta warm-brook --force
17+
flow delete ws1 ws2 ws3
1718
```
1819

1920
### Options

docs/commands/tapes/delete.gif

-4 Bytes
Loading
-547 Bytes
Loading

docs/commands/tapes/edit_state.gif

159 Bytes
Loading
6.67 KB
Loading

docs/commands/tapes/exec.gif

-9 Bytes
Loading

0 commit comments

Comments
 (0)