mirror of
https://github.com/jlengrand/Maestro.git
synced 2026-03-10 08:31:19 +00:00
refactor: remove keyboard shortcuts for context management features
Remove dedicated shortcuts for mergeSession, sendToAgent, and summarizeAndContinue. These features remain accessible via tab right-click menu and Command Palette (Cmd+K). This resolves a shortcut conflict where mergeSession (Cmd+Shift+M) conflicted with the existing moveToGroup shortcut.
This commit is contained in:
29
README.md
29
README.md
@@ -201,8 +201,6 @@ All these screenshots were captured in the them "Pedurple". For screenshots of o
|
||||
| New Agent | `Cmd+N` | `Ctrl+N` |
|
||||
| Kill Agent | `Cmd+Shift+Backspace` | `Ctrl+Shift+Backspace` |
|
||||
| Move Agent to Group | `Cmd+Shift+M` | `Ctrl+Shift+M` |
|
||||
| Merge Sessions | `Cmd+Shift+M` | `Ctrl+Shift+M` |
|
||||
| Send to Agent | `Cmd+Shift+A` | `Ctrl+Shift+A` |
|
||||
| Previous Agent | `Cmd+[` | `Ctrl+[` |
|
||||
| Next Agent | `Cmd+]` | `Ctrl+]` |
|
||||
| Jump to Agent (1-9, 0=10th) | `Opt+Cmd+NUMBER` | `Alt+Ctrl+NUMBER` |
|
||||
@@ -631,11 +629,10 @@ Context management lets you combine or transfer conversation history between ses
|
||||
|
||||
Combine context from multiple sessions or tabs into one:
|
||||
|
||||
1. **Right-click** a tab → **"Merge With..."**, or
|
||||
2. Press `Cmd+Shift+M` (Mac) / `Ctrl+Shift+M` (Windows/Linux)
|
||||
3. Search for or select the target session/tab
|
||||
4. Review the merge preview showing estimated token count
|
||||
5. Click **"Merge Contexts"**
|
||||
1. **Right-click** a tab → **"Merge With..."**, or use **Command Palette** (`Cmd+K` / `Ctrl+K`) → "Merge with another session"
|
||||
2. Search for or select the target session/tab
|
||||
3. Review the merge preview showing estimated token count
|
||||
4. Click **"Merge Contexts"**
|
||||
|
||||
The merged context creates a new tab in the target session with conversation history from both sources. Use this to consolidate related conversations or bring context from an older session into a current one.
|
||||
|
||||
@@ -652,11 +649,10 @@ The merged context creates a new tab in the target session with conversation his
|
||||
|
||||
Transfer your context to a different AI agent:
|
||||
|
||||
1. **Right-click** a tab → **"Send to Agent..."**, or
|
||||
2. Press `Cmd+Shift+A` (Mac) / `Ctrl+Shift+A` (Windows/Linux)
|
||||
3. Select the target agent (only available/installed agents are shown)
|
||||
4. Optionally enable **context grooming** to optimize the context for the target agent
|
||||
5. A new session opens with the transferred context
|
||||
1. **Right-click** a tab → **"Send to Agent..."**, or use **Command Palette** (`Cmd+K` / `Ctrl+K`) → "Send to another agent"
|
||||
2. Select the target agent (only available/installed agents are shown)
|
||||
3. Optionally enable **context grooming** to optimize the context for the target agent
|
||||
4. A new session opens with the transferred context
|
||||
|
||||
**Context Grooming:**
|
||||
When transferring between different agent types, the context can be automatically "groomed" to:
|
||||
@@ -671,15 +667,6 @@ Grooming is enabled by default but can be skipped for faster transfers.
|
||||
- Transfer a debugging session to an agent with different tool access
|
||||
- Move context to an agent pointing at a different project directory
|
||||
|
||||
### Keyboard Shortcuts
|
||||
|
||||
| Action | macOS | Windows/Linux |
|
||||
|--------|-------|---------------|
|
||||
| Merge Sessions | `Cmd+Shift+M` | `Ctrl+Shift+M` |
|
||||
| Send to Agent | `Cmd+Shift+A` | `Ctrl+Shift+A` |
|
||||
|
||||
These shortcuts are also available in the Command Palette (`Cmd+K` / `Ctrl+K`) as "Merge with another session" and "Send to another agent".
|
||||
|
||||
## Command Line Interface
|
||||
|
||||
Maestro includes a CLI tool (`maestro-cli`) for managing agents and running playbooks from the command line, cron jobs, or CI/CD pipelines. The CLI requires Node.js (which you already have if you're using Claude Code).
|
||||
|
||||
@@ -26,8 +26,6 @@ export const DEFAULT_SHORTCUTS: Record<string, Shortcut> = {
|
||||
viewGitDiff: { id: 'viewGitDiff', label: 'View Git Diff', keys: ['Meta', 'Shift', 'd'] },
|
||||
viewGitLog: { id: 'viewGitLog', label: 'View Git Log', keys: ['Meta', 'Shift', 'g'] },
|
||||
agentSessions: { id: 'agentSessions', label: 'View Agent Sessions', keys: ['Meta', 'Shift', 'l'] },
|
||||
mergeSession: { id: 'mergeSession', label: 'Merge with another session', keys: ['Meta', 'Shift', 'M'] },
|
||||
sendToAgent: { id: 'sendToAgent', label: 'Send to another agent', keys: ['Meta', 'Shift', 'A'] },
|
||||
systemLogs: { id: 'systemLogs', label: 'System Log Viewer', keys: ['Alt', 'Meta', 'l'] },
|
||||
processMonitor: { id: 'processMonitor', label: 'System Process Monitor', keys: ['Alt', 'Meta', 'p'] },
|
||||
jumpToBottom: { id: 'jumpToBottom', label: 'Jump to Bottom', keys: ['Meta', 'Shift', 'j'] },
|
||||
@@ -64,7 +62,6 @@ export const TAB_SHORTCUTS: Record<string, Shortcut> = {
|
||||
toggleShowThinking: { id: 'toggleShowThinking', label: 'Toggle Show Thinking', keys: ['Meta', 'Shift', 'k'] },
|
||||
filterUnreadTabs: { id: 'filterUnreadTabs', label: 'Filter Unread Tabs', keys: ['Meta', 'u'] },
|
||||
toggleTabUnread: { id: 'toggleTabUnread', label: 'Toggle Tab Unread', keys: ['Meta', 'Shift', 'u'] },
|
||||
summarizeAndContinue: { id: 'summarizeAndContinue', label: 'Summarize & Continue', keys: ['Alt', 'Meta', 'k'] },
|
||||
goToTab1: { id: 'goToTab1', label: 'Go to Tab 1', keys: ['Meta', '1'] },
|
||||
goToTab2: { id: 'goToTab2', label: 'Go to Tab 2', keys: ['Meta', '2'] },
|
||||
goToTab3: { id: 'goToTab3', label: 'Go to Tab 3', keys: ['Meta', '3'] },
|
||||
|
||||
@@ -284,20 +284,6 @@ export function useMainKeyboardHandler(): UseMainKeyboardHandlerReturn {
|
||||
ctx.setAgentSessionsOpen(true);
|
||||
}
|
||||
}
|
||||
else if (ctx.isShortcut(e, 'mergeSession')) {
|
||||
e.preventDefault();
|
||||
// Only show merge modal if agent supports context merge
|
||||
if (ctx.hasActiveSessionCapability('supportsContextMerge') && ctx.activeSession?.activeTabId) {
|
||||
ctx.setMergeSessionModalOpen(true);
|
||||
}
|
||||
}
|
||||
else if (ctx.isShortcut(e, 'sendToAgent')) {
|
||||
e.preventDefault();
|
||||
// Only show send to agent modal if agent supports context merge
|
||||
if (ctx.hasActiveSessionCapability('supportsContextMerge') && ctx.activeSession?.activeTabId) {
|
||||
ctx.setSendToAgentModalOpen(true);
|
||||
}
|
||||
}
|
||||
else if (ctx.isShortcut(e, 'systemLogs')) {
|
||||
e.preventDefault();
|
||||
ctx.setLogViewerOpen(true);
|
||||
@@ -446,13 +432,6 @@ export function useMainKeyboardHandler(): UseMainKeyboardHandlerReturn {
|
||||
e.preventDefault();
|
||||
ctx.toggleTabUnread();
|
||||
}
|
||||
if (ctx.isTabShortcut(e, 'summarizeAndContinue')) {
|
||||
e.preventDefault();
|
||||
// Only trigger if summarization is available for the current tab
|
||||
if (ctx.canSummarizeActiveTab && ctx.summarizeAndContinue) {
|
||||
ctx.summarizeAndContinue();
|
||||
}
|
||||
}
|
||||
if (ctx.isTabShortcut(e, 'nextTab')) {
|
||||
e.preventDefault();
|
||||
const result = ctx.navigateToNextTab(ctx.activeSession, ctx.showUnreadOnly);
|
||||
|
||||
Reference in New Issue
Block a user