Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
f38d5a8
refactor: remove saved setups
jasonsuhari Jul 6, 2026
63f33fd
feat: add startup grid dimension picker
jasonsuhari Jul 7, 2026
36c463e
feat: add tabbed grids
jasonsuhari Jul 7, 2026
bc3fcca
fix: refine startup grid picker preview
jasonsuhari Jul 7, 2026
2fc4543
fix: update pane titles from cwd
jasonsuhari Jul 7, 2026
d045f90
chore: add release automation workflow
jasonsuhari Jul 7, 2026
16888c6
fix: install local package from tarball
jasonsuhari Jul 7, 2026
1f9ce45
fix: satisfy clippy lints
jasonsuhari Jul 7, 2026
33d8fd5
docs: add contributor onboarding
jasonsuhari Jul 7, 2026
ca0c9f6
fix: render startup preview with green cell fill
jasonsuhari Jul 7, 2026
1e7f26f
Merge remote-tracking branch 'origin/main' into docs/contributor-onbo…
jasonsuhari Jul 7, 2026
07c6082
docs: expose versions and devlogs
jasonsuhari Jul 7, 2026
f3afc53
fix: satisfy clippy after onboarding merge
jasonsuhari Jul 7, 2026
eed2753
docs: polish repository community setup
jasonsuhari Jul 7, 2026
1fbb5d8
ci: ignore merge commits in dco check
jasonsuhari Jul 7, 2026
4cb0fd2
ci: fetch base branch for dco range
jasonsuhari Jul 7, 2026
c6f0046
ci: run release preparation from workflow dispatch
jasonsuhari Jul 7, 2026
d65d634
docs: add startup release devlog
jasonsuhari Jul 7, 2026
20b5867
ci: make release publishing retryable
jasonsuhari Jul 7, 2026
fb79b96
Merge remote-tracking branch 'origin/main' into fix/startup-grid-dime…
jasonsuhari Jul 7, 2026
0b56a1d
feat: add startup grid picker and release automation
jasonsuhari Jul 7, 2026
75a84ae
fix: allow exact version release
jasonsuhari Jul 7, 2026
ced48e1
fix: prevent repeated terminal query responses
jasonsuhari Jul 7, 2026
6c30e6f
fix: stop terminal active-state flicker
jasonsuhari Jul 7, 2026
6c5ab78
fix: satisfy redraw lag clippy check
jasonsuhari Jul 7, 2026
4a575d7
feat: show quiet output pane badges
jasonsuhari Jul 7, 2026
f4013e4
feat: add grid session resume command
jasonsuhari Jul 7, 2026
834ef57
feat: add native auth profile manager
jasonsuhari Jul 7, 2026
ca6a745
fix: make quiet pane indicator subtle
jasonsuhari Jul 7, 2026
0e78a65
fix: increase quiet pane indicator contrast
jasonsuhari Jul 7, 2026
778f30e
fix: make release publish retryable
jasonsuhari Jul 7, 2026
d5bf54b
feat: add onboarding tui mascot
jasonsuhari Jul 7, 2026
6db29fc
fix: show pane launch profile in headers
jasonsuhari Jul 7, 2026
dfe5680
feat: add runtime grid palette settings
jasonsuhari Jul 7, 2026
311619f
docs: add OpenVid demo
jasonsuhari Jul 7, 2026
40c3854
feat: add hidden manager agent groups
jasonsuhari Jul 7, 2026
034abb1
fix: make multi-select input default
jasonsuhari Jul 7, 2026
999e370
feat: restyle settings pane
jasonsuhari Jul 7, 2026
f690ca7
feat: show conversation summaries in pane footers
jasonsuhari Jul 7, 2026
b11199d
feat: manage pane worktrees
jasonsuhari Jul 7, 2026
6400232
feat: add runtime grid resizing
jasonsuhari Jul 7, 2026
2bea3b1
fix: contain terminal drag selection
jasonsuhari Jul 7, 2026
eb26607
feat: add pane renaming
jasonsuhari Jul 7, 2026
de0f3e1
feat: add idle terminal todo prompts
jasonsuhari Jul 7, 2026
cb1106f
Merge remote-tracking branch 'origin/fix/prevent-terminal-r-autoinput…
jasonsuhari Jul 7, 2026
82cdef1
Merge remote-tracking branch 'origin/feat/add-tui-mascot' into chore/…
jasonsuhari Jul 7, 2026
e73bcd9
Merge remote-tracking branch 'origin/feat/manage-pane-worktrees' into…
jasonsuhari Jul 7, 2026
ce93c32
Merge remote-tracking branch 'origin/feat/rename-panes' into chore/la…
jasonsuhari Jul 7, 2026
b921b40
Merge remote-tracking branch 'origin/feat/restyle-settings-pane' into…
jasonsuhari Jul 7, 2026
99d39b2
feat: add dedicated command bar
jasonsuhari Jul 7, 2026
175738c
fix: restore centered modal helper
jasonsuhari Jul 7, 2026
ba6ce62
Merge remote-tracking branch 'origin/docs/add-openvid-demo' into chor…
jasonsuhari Jul 7, 2026
f92969a
chore: delete closed issue branches
jasonsuhari Jul 7, 2026
cc8263d
Merge remote-tracking branch 'origin/fix/terminal-selection-containme…
jasonsuhari Jul 7, 2026
7848694
Merge remote-tracking branch 'origin/feat/conversation-footer-summary…
jasonsuhari Jul 7, 2026
373d3c3
Merge remote-tracking branch 'origin/feat/runtime-grid-resize' into c…
jasonsuhari Jul 7, 2026
e09ef04
feat: swap selected tiles
jasonsuhari Jul 7, 2026
17e8ba6
Merge remote-tracking branch 'origin/main' into chore/land-pending-ag…
jasonsuhari Jul 7, 2026
3dc60c1
Merge remote-tracking branch 'origin/main' into chore/land-pending-ag…
jasonsuhari Jul 7, 2026
b0d2348
feat: integrate idle todo prompts
jasonsuhari Jul 7, 2026
07e6cf3
feat: integrate session resume
jasonsuhari Jul 7, 2026
347ced7
feat: integrate idle todo prompts
jasonsuhari Jul 7, 2026
6dff3c5
feat: integrate hidden manager groups
jasonsuhari Jul 7, 2026
dc4ba15
feat: integrate native auth manager
jasonsuhari Jul 7, 2026
dfa5a6c
feat: integrate dedicated command bar
jasonsuhari Jul 7, 2026
849ffe2
fix: satisfy clippy for app initialization
jasonsuhari Jul 8, 2026
a8f1c18
fix: satisfy clippy for command line focus
jasonsuhari Jul 8, 2026
3b579d3
feat: integrate hidden manager groups
jasonsuhari Jul 7, 2026
e3c5bd7
Merge remote-tracking branch 'origin/main' into feat/settings-todo-pr…
jasonsuhari Jul 8, 2026
6e8780f
feat: integrate tabbed grids
jasonsuhari Jul 8, 2026
2ee8813
fix: satisfy clippy warnings
jasonsuhari Jul 8, 2026
eb7657c
chore: merge origin/main into hidden agent groups
jasonsuhari Jul 8, 2026
c66d551
Merge remote-tracking branch 'origin/main' into feat/settings-todo-pr…
jasonsuhari Jul 8, 2026
d355e80
Merge remote-tracking branch 'refs/remotes/origin/pr/69' into chore/f…
jasonsuhari Jul 8, 2026
a0a5dec
Merge remote-tracking branch 'origin/main' into feat/integrate-tabs-main
jasonsuhari Jul 8, 2026
748216b
Merge remote-tracking branch 'refs/remotes/origin/pr/71' into chore/f…
jasonsuhari Jul 8, 2026
af04927
perf: optimize runtime hot paths
jasonsuhari Jul 8, 2026
8b5981c
chore: merge main into dedicated command line
jasonsuhari Jul 8, 2026
217e6c8
Merge remote-tracking branch 'origin/main' into feat/integrate-tabs-main
jasonsuhari Jul 8, 2026
c27d293
chore: merge origin/main into native auth manager
jasonsuhari Jul 8, 2026
04aed4a
Merge remote-tracking branch 'origin/feat/integrate-tabs-main' into c…
jasonsuhari Jul 9, 2026
adda565
feat: allow deselecting specific panes
jasonsuhari Jul 9, 2026
988fc9f
Merge remote-tracking branch 'origin/perf/optimize-runtime-hot-paths'…
jasonsuhari Jul 9, 2026
462cf04
Merge remote-tracking branch 'origin/feat/integrate-native-auth-manag…
jasonsuhari Jul 9, 2026
ee4f0de
Merge remote-tracking branch 'origin/feat/integrate-dedicated-command…
jasonsuhari Jul 9, 2026
3981655
Merge remote-tracking branch 'origin/feat/settings-todo-prompts-curre…
jasonsuhari Jul 9, 2026
08c7e2e
Merge remote-tracking branch 'origin/docs/add-openvid-demo' into chor…
jasonsuhari Jul 9, 2026
f3bfd68
Merge remote-tracking branch 'origin/feat/add-tui-mascot' into chore/…
jasonsuhari Jul 9, 2026
72ccc95
Merge remote-tracking branch 'origin/fix/prevent-terminal-r-autoinput…
jasonsuhari Jul 9, 2026
93fd429
Merge remote-tracking branch 'origin/fix/stabilize-terminal-active-co…
jasonsuhari Jul 9, 2026
64e80b0
Merge remote-tracking branch 'origin/fix/default-multi-select-broadca…
jasonsuhari Jul 9, 2026
4c5b3c4
Merge remote-tracking branch 'origin/fix/terminal-selection-containme…
jasonsuhari Jul 9, 2026
0aafb26
Merge remote-tracking branch 'origin/feat/rename-panes' into chore/me…
jasonsuhari Jul 9, 2026
ff975e7
Merge remote-tracking branch 'origin/feat/runtime-grid-resize' into c…
jasonsuhari Jul 9, 2026
6de9a79
Merge remote-tracking branch 'origin/feat/restyle-settings-pane' into…
jasonsuhari Jul 9, 2026
78d2367
Merge remote-tracking branch 'origin/feat/manage-pane-worktrees' into…
jasonsuhari Jul 9, 2026
f2cff06
Merge remote-tracking branch 'origin/refactor/remove-setups' into cho…
jasonsuhari Jul 9, 2026
34a8c53
Merge remote-tracking branch 'origin/feat/conversation-footer-summary…
jasonsuhari Jul 9, 2026
25f94fe
Merge remote-tracking branch 'origin/feat/output-idle-badges' into ch…
jasonsuhari Jul 9, 2026
7fd0a77
Merge remote-tracking branch 'origin/feat/settings-todo-prompts-curre…
jasonsuhari Jul 9, 2026
2648e25
Merge remote-tracking branch 'origin/feat/settings-todo-prompts' into…
jasonsuhari Jul 9, 2026
2ee6095
Merge remote-tracking branch 'origin/feat/integrate-native-auth-manag…
jasonsuhari Jul 9, 2026
bc830c7
Merge remote-tracking branch 'origin/feat/integrate-hidden-agent-grou…
jasonsuhari Jul 9, 2026
997b613
fix: wrap alt-arrow pane navigation
jasonsuhari Jul 9, 2026
2a7db46
Merge remote-tracking branch 'origin/main' into chore/merge-leftover-…
jasonsuhari Jul 9, 2026
df76b8d
Merge remote-tracking branch 'origin/fix/wrap-alt-pane-navigation' in…
jasonsuhari Jul 9, 2026
de12be4
Merge remote-tracking branch 'origin/feat/102-pane-settings' into cho…
jasonsuhari Jul 9, 2026
245d8d5
Merge remote-tracking branch 'origin/feat/integrate-resume-sessions' …
jasonsuhari Jul 9, 2026
971e91e
Merge remote-tracking branch 'origin/feat/integrate-dedicated-command…
jasonsuhari Jul 9, 2026
dd35d6e
Merge remote-tracking branch 'origin/main' into chore/merge-leftover-…
jasonsuhari Jul 9, 2026
cc44c23
feat: add tabbed grids
jasonsuhari Jul 9, 2026
b5de18d
Merge remote-tracking branch 'origin/feat/integrate-tabs-main' into c…
jasonsuhari Jul 9, 2026
18f4a6c
Merge remote-tracking branch 'origin/feat/tabs' into chore/merge-left…
jasonsuhari Jul 9, 2026
1bd6035
perf: optimize runtime event handling
jasonsuhari Jul 9, 2026
ca51dea
Merge remote-tracking branch 'origin/perf/optimize-runtime-hot-paths'…
jasonsuhari Jul 9, 2026
edd9bc9
Merge remote-tracking branch 'origin/main' into chore/merge-leftover-…
jasonsuhari Jul 9, 2026
478d8cb
Merge remote-tracking branch 'origin/fix/release-trusted-publishing' …
jasonsuhari Jul 9, 2026
5315885
Merge remote-tracking branch 'origin/feat/dedicated-command-line' int…
jasonsuhari Jul 9, 2026
4d92b25
Merge remote-tracking branch 'origin/feat/hidden-agent-groups' into c…
jasonsuhari Jul 9, 2026
71e338e
Merge remote-tracking branch 'origin/feat/native-auth-manager' into c…
jasonsuhari Jul 9, 2026
809dba8
Merge remote-tracking branch 'origin/feat/resume-sessions' into chore…
jasonsuhari Jul 9, 2026
32b5524
Merge remote-tracking branch 'origin/chore/land-pending-agent-branche…
jasonsuhari Jul 9, 2026
38c249c
fix: align pane settings shortcut
jasonsuhari Jul 9, 2026
365d4ce
Merge remote-tracking branch 'origin/main' into chore/merge-leftover-…
jasonsuhari Jul 9, 2026
a78381e
Merge branch 'backup/fix-startup-grid-dimensions-before-signoff' into…
jasonsuhari Jul 9, 2026
e828202
Merge branch 'chore/53-delete-issue-branches' into chore/merge-leftov…
jasonsuhari Jul 9, 2026
6f086c6
Merge branch 'chore/finish-remaining-agent-merges' into chore/merge-l…
jasonsuhari Jul 9, 2026
8ed749b
Merge branch 'chore/land-remaining-agent-prs' into chore/merge-leftov…
jasonsuhari Jul 9, 2026
30c0975
Merge branch 'chore/land-useful-feature-branches' into chore/merge-le…
jasonsuhari Jul 9, 2026
140e733
Merge branch 'docs/contributor-onboarding' into chore/merge-leftover-…
jasonsuhari Jul 9, 2026
829079f
Merge branch 'feat/58-swap-selected-tiles' into chore/merge-leftover-…
jasonsuhari Jul 9, 2026
8537d32
Merge branch 'feat/86-deselect-specific-panes' into chore/merge-lefto…
jasonsuhari Jul 9, 2026
cb1503f
Merge branch 'feat/integrate-settings-todo-prompts' into chore/merge-…
jasonsuhari Jul 9, 2026
644d053
Merge branch 'fix/exact-version-release' into chore/merge-leftover-br…
jasonsuhari Jul 9, 2026
1663465
Merge branch 'fix/redraw-lag-clippy' into chore/merge-leftover-branches
jasonsuhari Jul 9, 2026
0c8bb90
Merge branch 'fix/release-publish-retry' into chore/merge-leftover-br…
jasonsuhari Jul 9, 2026
5bf624f
Merge branch 'fix/startup-grid-dimensions' into chore/merge-leftover-…
jasonsuhari Jul 9, 2026
91978c5
fix: repair integration validation
jasonsuhari Jul 9, 2026
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
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ categories = ["command-line-utilities", "development-tools"]

[dependencies]
anyhow = "1.0"
base64 = "0.22"
clap = { version = "4.5", features = ["derive"] }
crossterm = { version = "0.29", features = ["event-stream"] }
directories = "6.0"
Expand Down
89 changes: 82 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,18 @@ Its niche is Windows-native, PTY-backed, agent-first terminal grids. Traditional

- Real PTY-backed panes through Windows ConPTY via `portable-pty`.
- Up to 100 panes in one terminal process.
- Multiple tabbed grids in one terminal process.
- Configurable default terminal profile: Git Bash, PowerShell, cmd, agents, or custom.
- Pane-contained drag selection that copies selected terminal text without crossing into sibling panes.
- Sleeping panes stay visually hidden until hovered, then wake without crossing input into other panes.
- Normal terminal keys pass through to the focused pane, or to selected panes when multiple panes are selected.
- Modeless Alt shortcuts for pane focus, selection, rename, settings, and quit.
- Modeless Alt shortcuts for pane focus, selection, rename, settings, grouping, and quit.
- Hidden manager agent groups let a manager profile coordinate selected worker panes without taking a visible grid slot.
- Compact dark theme with focus, selection, sleep, exit, usage, and quiet-output cues.
- Claude, Codex, and other agent panes show a compact conversation summary in the footer line.
- Built-in launch profiles for common CLI coding agents.
- Startup dimension picker with a live grid preview.
- `gridbash resume` for reopening prior grids with per-pane command and output context.
- Optional managed git worktrees so every pane can work in an isolated checkout.

## Demo Assets
Expand Down Expand Up @@ -175,6 +178,25 @@ List detected profiles:
gridbash --list-profiles
```

Resume a prior grid:

```powershell
gridbash resume
```

Resume the latest saved grid without prompting:

```powershell
gridbash resume --latest
```

List saved sessions or resume a specific id:

```powershell
gridbash resume --list
gridbash resume <session-id>
```

Start in a repo:

```powershell
Expand All @@ -183,6 +205,8 @@ gridbash 3x4 --profile codex --cwd C:\Users\Jason\Documents\GitHub\fluent

Passing grid, count, profile, or cwd arguments bypasses the startup picker and uses the direct launch path.

GridBash saves bounded session snapshots to local app data as you launch and exit grids. A resumed session restores the grid dimensions, pane profiles, working directories, labels, worktree names, and a pane-local history view with recent submitted commands and output. It relaunches child terminals; it does not reattach still-running processes or replay old commands into shells.

Launch every pane in a separate repo-local git worktree:

```powershell
Expand Down Expand Up @@ -238,13 +262,21 @@ GridBash captures drag selection so selected text stays inside the pane where th
| Alt+Up / Alt+Down | Focus pane above / below in the column, wrapping at column edges |
| Alt+Shift+Up / Alt+Shift+Down | Remove / add a row when safe |
| Alt+Shift+Left / Alt+Shift+Right | Remove / add a column when safe |
| Alt+n | Open the startup picker and launch a new tab |
| Alt+t | Switch to the next tab |
| Alt+s | Toggle focused pane selection |
| Alt+a | Select all panes, or clear selection when all panes are selected |
| Alt+c | Focus or unfocus the command bar |
| Alt+p | Open settings for the focused pane; use Reload past history to refresh its visible conversation snapshot |
| Alt+Shift+p | Open the previous panes list |
| Alt+r | Rename the focused pane |
| Alt+t | Restart exited focused pane; when multiple panes are selected, restart exited selected panes |
| Alt+Shift+r | Rename the current tab |
| Alt+Shift+t | Restart exited focused pane; when multiple panes are selected, restart exited selected panes |
| Alt+z | Put the focused pane to sleep; when multiple panes are selected, sleep the selected panes |
| Alt+g | Group selected panes under a hidden manager; with no selection, open the focused group's manager prompt |
| Alt+u | Dissolve the focused pane's manager group |
| Hover sleeping pane | Wake the pane and make its terminal contents visible again |
| Alt+e | Expand or hide command output |
| Alt+o | Open settings |
| Alt+q | Quit |

Expand All @@ -253,18 +285,43 @@ conversation history snapshot. Press `Esc`, `q`, or `Alt+p` to close it, or
`Alt+o` to switch to overall settings.

When the focused pane has exited, GridBash shows a recovery dialog. Press `Enter`,
`r`, or `t` to restart it, or press `z` to put it to sleep. `Alt+t` still restarts
exited target panes directly when your terminal reports Alt shortcuts as modified
key events.
`r`, or `t` to restart it, or press `z` to put it to sleep. `Alt+Shift+t` restarts
exited target panes directly.

Typing goes to selected panes whenever multiple panes are selected. With zero or one pane selected, input goes to the focused pane.
Typing goes to selected panes whenever multiple panes are selected. With zero or one pane selected, input goes to the focused pane. When the one-line command bar is focused, typing stays in that bar; Enter runs the command from the cwd shown in the prompt and keeps output hidden until expanded.

Renamed pane headers replace the numeric prefix for the current session. Saving a blank name restores the default number.

Settings includes a General tab for local runtime display controls and an Auth tab for GridBash-wide Claude/Codex auth defaults.

Pane titles add a small quiet-output marker after roughly three seconds without output. The marker means a pane produced output and then went idle; it does not mean the process exited or completed its task.

The settings screen includes sample controls plus live color controls for the accent, focus, selected, quiet, and exited grid roles. Palette changes apply immediately for the current run.

## Auth Profiles

GridBash can launch Claude and Codex with isolated auth/config directories. It discovers profiles from:

```text
GRIDBASH_AUTH_HOME > CLAUDE_PROFILES_HOME > [auth].home > %USERPROFILE%\.claude-profiles
```

Claude profiles launch with `CLAUDE_CONFIG_DIR=<profile-dir>`. Codex profiles launch with `CODEX_HOME=<profile-dir>`.

Auth settings controls:

| Input | Action |
| --- | --- |
| Tab | Switch Settings tabs |
| Up / Down | Move through auth profiles |
| d | Set selected profile as the GridBash-wide default for its kind |
| n | Create a profile directory |
| l | Open the selected profile's login command |
| r | Refresh local account and usage status |
| Esc / q | Close settings |

Usage status is best-effort. GridBash reads local auth metadata, masks account emails, and uses short-timeout `curl.exe` requests only while the Auth settings view is refreshed.

## Profiles

Built-in profile keys:
Expand All @@ -278,19 +335,29 @@ GridBash resolves Windows `.exe` and `.cmd` shims before extensionless npm shims
Optional config file:

```text
%APPDATA%\GridBash\config.toml
%APPDATA%\GridBash\config\config.toml
```

Example:

```toml
[defaults]
profile = "powershell"
manager_profile = "claude-1"

[auth]
home = "C:\\Users\\Jason\\.claude-profiles"
usage_status = true

[auth.defaults]
claude = "claude-1"
codex = "codex-2"

[profiles.review]
command = "codex"
args = ["--model", "gpt-5.5"]
title = "Codex Review"
agent_kind = "codex"
```

Then run:
Expand All @@ -305,6 +372,14 @@ Default profile resolution order:
--profile > GRIDBASH_PROFILE > [defaults].profile > git-bash
```

Hidden manager groups use this manager profile resolution order:

```text
--manager-profile > GRIDBASH_MANAGER_PROFILE > [defaults].manager_profile
```

The manager profile can be a normal GridBash profile or a ready Vibe profile. To create a group, select one or more awake panes and press `Alt+g`. GridBash launches the manager as a hidden PTY, marks the grouped panes with a `G<letter>` badge, relays worker output snapshots to the manager, and forwards manager `gridbash send` blocks back to awake workers in that group.

## Design Goals

GridBash is inspired by agent-first multiplexers such as Mato and terminal workspaces such as Zellij, but V1 takes a different path: Windows-native, single binary, visual selection, scoped multi-pane input, and a hard bias toward fast multi-agent grids.
Expand Down
18 changes: 18 additions & 0 deletions config.example.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,33 @@
[defaults]
profile = "git-bash"
manager_profile = "claude-1"

[todos]
idle_seconds = 90
prompts = [
"Review the latest changes and summarize anything risky.",
"Run the fastest relevant validation and report failures.",
]

[auth]
home = "C:\\Users\\Jason\\.claude-profiles"
usage_status = true

[auth.defaults]
claude = "claude-1"
codex = "codex-2"

[profiles.codex-fast]
command = "codex"
args = ["--model", "gpt-5.4-mini"]
title = "Codex Fast"
agent_kind = "codex"

[profiles.claude-review]
command = "claude"
args = []
title = "Claude Review"
agent_kind = "claude"

[profiles.git-worktree]
command = "bash"
Expand Down
29 changes: 29 additions & 0 deletions docs/devlogs/2026-07-07-add-grid-session-resume-command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Add grid session resume command

Date: 2026-07-07
Release target: unreleased

## Summary

- Added `gridbash resume` for finding and reopening saved GridBash sessions.

## What Changed

- Added a session snapshot store under GridBash local app data.
- Normal grid launches now save bounded session metadata for the grid, pane profiles, working directories, labels, worktree names, submitted command history, and recent output context.
- Added `gridbash resume`, `gridbash resume --latest`, `gridbash resume --list`, and `gridbash resume <session-id>`.
- Resumed sessions relaunch the saved grid and show per-pane history context without replaying old commands into child shells.

## Why It Matters

- Agent-heavy work often spans multiple panes and folders. Resume makes prior GridBash grids discoverable as whole workspaces instead of forcing users to rebuild layout and context by hand.

## Validation

- `cargo fmt --check`
- `cargo test`
- `cargo clippy -- -D warnings`

## Release Notes

- Add `gridbash resume` to reopen saved grids with per-pane command and output history context.
29 changes: 29 additions & 0 deletions docs/devlogs/2026-07-07-dedicated-command-bar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Dedicated command bar

Date: 2026-07-07
Release target: unreleased

## Summary

- Added a dedicated one-line command bar above the GridBash status footer.

## What Changed

- The live view now reserves a command prompt line that starts in the directory where GridBash was launched.
- Alt-arrow focus navigation can move into and out of the command line alongside panes.
- Commands run through the host shell with output captured into a hidden buffer by default.
- `Alt+e` toggles the captured command output panel, leaving `Alt+x` for pane swapping.
- Built-in `cd`, `pwd`, `clear`, and `cls` behavior keeps the command cwd useful without requiring a persistent shell.
- The command line was ported onto the current grid behavior without regressing pane sleep, swap, mouse wake, usage labels, runtime resize, or worktree labels.

## Why It Matters

- Users can run quick workspace commands without stealing input from a live agent pane or dedicating a full pane to command output.

## Validation

- `npm test`

## Release Notes

- Adds a focused command bar with hidden output capture and Alt-key output expansion.
28 changes: 28 additions & 0 deletions docs/devlogs/2026-07-07-idle-terminal-todo-prompts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Idle terminal todo prompts

Date: 2026-07-07
Release target: unreleased

## Summary

- Added settings-managed todo prompts that can be offered to idle terminals.

## What Changed

- Added persisted `[todos]` config support for enabling idle prompts, setting the quiet delay, and storing prompt text.
- Added a TODO section to the redesigned settings pane with add, edit, delete, enable, and quiet-delay controls.
- Added per-pane quiet tracking and a small follow-up dialog that can send, cycle, remove, or dismiss queued prompts.
- Updated the example config with sample todo prompts.

## Why It Matters

- Users can keep spare terminals productive by preparing follow-up prompts ahead of time, then sending one when a pane has gone quiet.

## Validation

- `cargo check`
- `npm test`

## Release Notes

- New settings todo list can suggest queued follow-up prompts for quiet panes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Integrate hidden manager agent groups

Date: 2026-07-07
Release target: unreleased

## Summary

- Integrated hidden manager agent groups from `origin/feat/hidden-agent-groups` onto current `main` without carrying over the old branch's unrelated deletes.
- Tracks issue #66.

## What Changed

- Added `--manager-profile`, `GRIDBASH_MANAGER_PROFILE`, and `[defaults].manager_profile` resolution for hidden group managers.
- Added hidden manager PTYs that coordinate selected awake worker panes, parse manager `gridbash send` blocks, and relay worker output snapshots back to managers.
- Added group badges and a manager prompt overlay while preserving visible pane arrays for resize, sleep, swap, worktree labels, usage labels, and pane-contained input selection.
- Added focused tests for manager config parsing, Vibe profile resolution, send-block parsing, and existing pane behavior.

## Why It Matters

- Manager agents can coordinate worker panes without consuming a visible grid slot.
- The integration avoids regressing current `main` behavior that landed after the source feature branch diverged.

## Validation

- `npm test`
- Result: 34 passed, 0 failed, 1 ignored Windows ConPTY smoke test.

## Release Notes

- Added hidden manager agent groups behind `Alt+g`/`Alt+u` and manager profile configuration.
34 changes: 34 additions & 0 deletions docs/devlogs/2026-07-07-integrate-native-auth-manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Integrate native auth manager

Date: 2026-07-07
Release target: unreleased

## Summary

- Integrated the native Claude/Codex auth profile manager with current `main`.
- Preserved the existing live pane usage labels while making them prefer the auth directory applied to a pane.

## What Changed

- Added `[auth]` config with per-kind defaults and local auth profile discovery.
- Added an Auth tab to Settings for browsing profiles, creating profile directories, setting defaults, refreshing status, and launching login.
- Tagged built-in Claude/Codex profiles with `agent_kind` so auth defaults can set `CLAUDE_CONFIG_DIR` or `CODEX_HOME` at launch.
- Pane titles now include launch profile and auth profile metadata while keeping current usage labels.
- Usage monitoring now follows the applied native auth directory before falling back to existing profile/default auth lookup.

## Why It Matters

- Multiple Claude and Codex accounts can run through GridBash without manually exporting auth environment variables.
- Usage labels stay accurate for panes launched with native auth defaults.
- The Settings/Profile flow from current `main` remains the base behavior.

## Validation

- Ran `cargo fmt`.
- Ran `npm test` with 55 passing tests and 1 ignored interactive ConPTY smoke test after rebasing onto the latest `origin/main`.

## Release Notes

- Added native Claude/Codex auth profile management in Settings.
- Added GridBash-wide auth defaults for built-in and kind-tagged custom agent profiles.
- Pane headers now show launch profile/auth profile metadata alongside existing usage labels.
Loading
Loading