Commit Graph

71 Commits

Author SHA1 Message Date
Pedram Amini
17fed4f232 ## CHANGES
- Added Code Style section to CLAUDE.md specifying tabs-for-indentation requirement 📏
- Added Root Cause Verification section under Debugging with historical bug patterns 🔍
- Added UI Bug Debugging Checklist to CLAUDE-PATTERNS.md (section 11) 🎨
- Documents CSS-first debugging, portal escapes, and fixed positioning pitfalls 🐛
2026-02-03 23:29:48 -06:00
Pedram Amini
bcf6c4e60d ## CHANGES
- Added brand-new cross-platform guide covering Windows, Linux, macOS, SSH gotchas 🌍
- Documented SSH remote constraints: no chokidar watch, stdin prompts, path norms 🛰️
- Standardized path best-practices: `path.join`, `path.posix`, delimiters, tilde expansion 🧭
- Clarified shell execution differences: default shells, which/where lookup, permissions 🐚
- Codified agent portability quirks: session IDs, storage locations, resume flags 📦
- Introduced keyboard/input pitfalls: macOS Alt keycodes, Windows command-length limits ⌨️
- Added Git cross-platform warnings: stat differences and case-sensitivity traps 🧩
- Upgraded collaboration rules: assumptions, confusion stops, pushback, scope discipline 🤝
- Added Sentry/error-handling guidance: bubble unexpected errors, report with context 🔎
- Refreshed docs structure references to match current `src/` layout and modules 🗺️
2026-02-03 19:31:52 -06:00
Pedram Amini
bc036c32de MAESTRO: Add File Preview Tab System documentation
- Add comprehensive "File Preview Tab System" section to ARCHITECTURE.md
  documenting features, interfaces, unified tab system, session fields,
  behavior, extension color mapping, and key files
- Update CLAUDE-SESSION.md with FilePreviewTab interface and session fields
- Add file preview tab modification entry to CLAUDE.md Key Files table
2026-02-02 16:19:04 -06:00
Pedram Amini
b7614b25be fix(group-chat): add SSH remote execution support for moderator and participant spawns
Group Chat was spawning agents locally even when sessions were configured
for SSH remote execution. This fix:

- Creates reusable SSH spawn wrapper utility (ssh-spawn-wrapper.ts)
- Updates SessionInfo, SessionOverrides, and ModeratorConfig interfaces
  to include sshRemoteConfig
- Applies SSH wrapping to addParticipant(), moderator spawn, and
  participant spawn in routeModeratorResponse()
- Wires up SSH store in index.ts for group chat router
- Documents SSH/provider awareness pattern in CLAUDE.md

This ensures Group Chat respects SSH remote configuration just like
regular session spawns.

Closes issue #172
2026-01-30 17:42:17 -05:00
Pedram Amini
f87d072f96 ## CHANGES
- Split monolithic CLAUDE.md into focused, indexed sub-docs for faster onboarding 📚
- Added deep Agent support guide: capabilities, flags, parsers, storage, and adding agents 🤖
- Documented full `window.maestro` IPC surface with clearer namespaces and History API 📡
- Captured core implementation patterns: processes, security, settings, modals, SSH, Auto Run 🧭
- Published performance playbook for React, IPC batching, caching, and debouncing 🚀
- Formalized Session interface docs, including multi-tab, queues, stats, and error fields 🧩
- Session-level custom agent path now overrides detected binary during spawn 🛠️
- New rendering settings: disable GPU acceleration (early startup) and disable confetti 🖥️
- Confetti effects now respect user preference across celebration overlays and wizard completion 🎊
- File explorer now distinguishes “loading” vs “no files found” empty states 🗂️
2026-01-13 11:14:59 -06:00
Pedram Amini
1d34eb6f2b ## CHANGES
- Added multi-document Auto Run progress fields across IPC and WebSocket state 📚
- Web clients now receive aggregated task totals and completions across documents 📈
- Active tab UI docs expanded with screenshot and richer contribution details 🖼️
- Canonical `activeTab` lookup is now memoized to kill repeated O(n) finds 
- Staged images, logs, and prompt tab toggles now reuse memoized `activeTab` 🧠
- Tab-completion suggestions now debounce input only while menu is open ⌨️
- @mention suggestions now debounce filter only while menu is open 🔎
- Disabling worktrees now removes all sub-agents and reports counts 🧹
- Added performance guidance: debounce, throttle, batching, virtualization, parallel IPC 🚀
- Bumped version to 0.14.5 for this release tag 🏷️
2026-01-11 12:20:36 -06:00
Pedram Amini
bbb01d8abf ## CHANGES
- Added performance best-practices guide for React and main process tuning 📘
- Introduced `buildFileTreeIndices` for fast, reusable markdown file lookups 
- Updated `remarkFileLinks` to accept prebuilt indices with backward compatibility 🧩
- Memoized file-tree indices in AutoRun, FilePreview, and MarkdownRenderer for speed 🚀
- Expanded test suite to cover indices building and indexed link resolution 🧪
- Made temp-file cleanup asynchronous to keep the main thread snappy 🧹
- Cached shell path resolution to avoid repeated synchronous filesystem checks 🗄️
- Precompiled leading-emoji regex to speed up session name sorting 🔤
- Consolidated SessionList filtering/grouping/sorting into one efficient memo pass 🧠
- Memoized TabBar tabs, computed labels, and style objects to cut rerenders 🎛️
2026-01-11 03:15:12 -06:00
Pedram Amini
215bc8725c perf: virtualize HistoryPanel, batch settings IPC, optimize filter chains
Three performance optimizations:

1. HistoryPanel Virtualization
   - Replace pagination with @tanstack/react-virtual
   - Only render visible entries (overscan: 5)
   - Memoize HistoryEntryItem component with React.memo
   - Eliminates DOM overhead for large history lists

2. Settings IPC Batch Loading
   - Change ~60 individual settings.get() calls to single settings.getAll()
   - Reduces IPC round-trips during initialization
   - Extract all values from single batch response

3. Filter Chain Optimization
   - MindMap.tsx: Single-pass reduce() instead of filter().map()
   - GroupChatInput.tsx: Single-pass reduce() for mentionableAgents

Updated tests:
- useSettings.test.ts: Update mocks from get() to getAll()
- HistoryPanel.test.tsx: Update pagination tests to virtualization
- fonts-and-sizing.test.ts: Update settings mocks

Updated documentation:
- CLAUDE.md: Document batch loading pattern for settings

All 14,980 tests pass.

Claude ID: 286ae250-379b-4b74-a24e-b23e907dba0b
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2026-01-06 20:13:23 -06:00
Pedram Amini
40f83cf772 hotkey for copy to clipboard in image carousel 2026-01-06 18:29:46 -06:00
Pedram Amini
351299bdd1 ## CHANGES
- Wizard now saves generated docs under `Auto Run Docs/Initiation/` for clarity 📁
- Onboarding copy refresh: “Auto Run Playbook” terminology replaces “document” consistently 📝
- Claude parser now extracts and streams extended “thinking” blocks reliably 🧠
- Added full test coverage for thinking, redaction, and tool-use parsing paths 
- Wizard modal gains a real focus trap for rock-solid keyboard navigation ⌨️
- Wizard buttons now show accessible focus rings matching theme colors 🎯
- Phase Review: Escape closes document dropdown before modal closes 🛡️
- Phase Review: cycle multiple generated documents with ⌘/Ctrl+Shift+[ ] shortcuts 🔁
- Directory step: Enter on Browse triggers browse, not accidental “Continue” 🗂️
- Auto Run prompts upgraded with token-efficient task grouping rules and examples 
2026-01-05 12:43:24 -06:00
Pedram Amini
1129fca47d ## CHANGES
- Added `/wizard` inline wizard docs for in-tab Auto Run creation flow 📘
- Inline Wizard now supports streaming “Thinking” with a handy toggle 🧠
- Wizard conversation typing animation upgraded to smooth RAF typewriter 
- Document generation now writes files live via `Write` tool 🚀
- Real-time doc streaming added by watching Auto Run subfolder changes 👀
- Generation UX improved with centered loader, progress text, and cancel button 🛑
- Wizard tabs rename instantly to “Wizard”, then “Wizard: {Project}” 🏷️
- Process Monitor now groups wizard processes with WIZARD/GENERATING badges 🧙
- Context transfer now auto-sends on tab activate for instant injection 🔄
- New session lifecycle stats IPC APIs wired into `maestro.stats` 📊
2026-01-05 12:43:23 -06:00
Pedram Amini
3b75ab0faf ## CHANGES
- Clarified SSH session identifiers and safest fallback patterns everywhere 🧭
- Auto Run now reads, lists, writes docs over SSH remotes 🛰️
- Participant cards display SSH remote name pill for remote agents 🖥️
- Command execution CWD now correctly detects terminal-only SSH sessions 🧷
- Document Graph rebuilt around focus-file BFS traversal with depth control 🧠
- Default Document Graph node load bumped from 50 to 200 📈
- Graph legend supports controlled expand state and layer-stack behavior 🗂️
- MindMap center-node matching massively improved with fuzzy path handling 🧩
- MindMap zoom/pan stabilized via unified transform state and wheel listener 🛞
- Usage heatmap upgraded to GitHub-style grid with month labels 🗓️
- Markdown tables now scroll horizontally with responsive overflow wrapper 📑
- File explorer context menu now labels “Document Graph” action clearly 🧾
2025-12-31 07:52:12 -06:00
Pedram Amini
af7b6398c4 OAuth enabled but no valid token found. Starting authentication...
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES

- Document Graph now toggles external links instantly using cached scan data 
- Document Graph parsing shows live internal/external link counts while loading 📊
- MindMap layout upgraded: smarter center-node matching and cleaner link routing 🧭
- MindMap visuals refreshed with themed headers, spacing tweaks, and text wrapping 🎨
- Document Graph default max nodes reduced to 50 for faster loads 🚀
- Sentry crash reporting stabilized with Classic IPC mode in main process 🛡️
- Renderer Sentry re-enabled with global error capture and privacy filtering 🔍
- ErrorBoundary now reports exceptions to Sentry with component stack context 🧱
- SSH sessions now track remoteCwd across `cd`, and commands run in correct dir 🌐
- Wizard adds downloadable debug logs plus deep generation instrumentation 🧰
- Usage heatmap simplifies month+ views to single-row “per-day” mode for clarity 🗓️
- Usage Dashboard and Document Graph surfaces now clearly labeled Beta 🧪
2025-12-31 06:46:14 -06:00
Pedram Amini
ac0ae0ac73 MAESTRO: Remove documentGraphLayoutMode setting from useSettings
Part of the Document Graph → Mind Map refactoring effort. The layout mode
setting is being removed in preparation for the new deterministic mind map
layout that won't need a force/hierarchical toggle.

Changes:
- Remove documentGraphLayoutMode from UseSettingsReturn interface
- Remove state, setter, and loading logic in useSettings.ts
- Remove props passed to DocumentGraphView in App.tsx
- Remove "Default Layout Mode" toggle from SettingsModal.tsx
- Update CLAUDE.md to remove layoutMode from settings documentation
2025-12-30 13:03:52 -06:00
Pedram Amini
1e9e40a55c MAESTRO: Update CLAUDE.md with power management documentation (Phase 2, Task 4)
Document the sleep prevention feature in CLAUDE.md:
- Add power management to "Key Files for Common Tasks" table
- Add Power Management subsection to IPC API Surface
- Add preventSleepEnabled to Related Settings
2025-12-30 09:23:43 -06:00
Pedram Amini
2c1696ccfb MAESTRO: Add Usage Dashboard and Document Graph documentation to CLAUDE.md
- Add 5 new entries to Key Files table for analytics, dashboard, graph, palettes, metrics
- Add Analytics & Visualization IPC API section documenting stats and documentGraph APIs
- Add comprehensive Usage Dashboard section with architecture, patterns, and settings
- Add comprehensive Document Graph section with architecture, patterns, and settings
2025-12-29 06:24:07 -06:00
Pedram Amini
92b3cc73e7 added doc MCP server information 2025-12-28 12:56:46 -06:00
Pedram Amini
becfc97f42 merge: resolve conflicts with main (gist publishing + openspec) 2025-12-28 12:50:19 -06:00
Pedram Amini
d65b8d2c6b ## CHANGES
- Added `dev:prod-data` to develop against real production sessions safely 🧪
- Dev mode now defaults to an isolated `maestro-dev` data directory 🗂️
- App can explicitly opt into production userData via `USE_PROD_DATA=1` 🔀
- Contributor docs now clearly map dev commands to their data directories 📚
- Reduced dev/production database lock conflicts when running side-by-side 🔒
- Tab hover overlay redesigned to look like a clean “open folder” panel 🗃️
- Removed tab title tooltip to streamline the tab interaction feel ✂️
- Toast logging now captures whether audio/TTS notifications were enabled 🎙️
- Toast logs include the exact audio command used for notifications 🧾
- TTS playback now reuses captured audio state for consistent behavior 🔊
2025-12-28 08:51:42 -06:00
Pedram Amini
f6f967b0af ## CHANGES
- Publish any open file as a GitHub Gist, instantly sharable 🔗
- Smart Share button appears only when GH CLI is ready 🧠
- Quick Actions adds “Publish Document as GitHub Gist” command 
- New high-priority Gist confirmation modal with secret-first default 🔒
- Auto-copies gist URL and shows toast with “Open Gist” action 📋
- Main process IPC now creates gists via `gh gist create` 🛠️
- Command runner now supports stdin input using spawn-based execution 🚰
- Development runs in separate userData directory to avoid lock conflicts 🧪
- Extensive test coverage added for GistPublishModal behavior and a11y 🧰
- New Mintlify docs folder plus contributor guide for docs workflow 📚
2025-12-28 08:05:29 -06:00
Pedram Amini
22db413a5d MAESTRO: docs(openspec): complete Phase 3 documentation tasks
- Add OpenSpec to docs.json navigation after speckit-commands
- Add OpenSpec Commands section to slash-commands.md
- Update features.md to mention bundled Spec-Kit and OpenSpec
- Add Spec-Kit and OpenSpec rows to CLAUDE.md Key Files table
- Update CONTRIBUTING.md with bundled AI command set guide
- Update refresh prompts section to include both spec-kit and openspec
- Fix ESLint warning (prefer-const) in openspec-manager.ts

Tasks 3-9 of Phase 3 complete. Task 2 (screenshot) requires manual UI capture.
Task 10 (manual testing) remains for human verification.
2025-12-28 05:41:57 -06:00
Pedram Amini
36e77a8c4d Merge pull request #98 from denniswebb/tab-context-menu-clean
feat: adds the ability to close multiple tabs at once
2025-12-27 14:01:27 -06:00
Dennis Webb
6f75045c60 Remove context menu and implement tab hover overlay menu
• Replaced context menu with a tab hover overlay menu for AI conversation tabs
 • Added tab management and context operations to the overlay menu
 • Implemented hover delay and fixed positioning for the overlay
 • Removed ContextMenu component and related tests
 • Updated TabBar and Tab components to handle new overlay menu actions
2025-12-27 13:32:23 -06:00
Dennis Webb
1c47c35836 MAESTRO: Document tab context menu feature in CLAUDE.md
- Add new section '9. Context Menus' documenting the reusable ContextMenu component
- Include usage patterns, interface definition, and practical examples
- Document key features: keyboard navigation, ARIA support, viewport positioning
- Add entry in 'Key Files for Common Tasks' table for adding context menus
- Provide tab context menu example with all disable conditions
- Fix incorrect note in Phase 3 doc (context menu was not previously documented)
2025-12-27 13:31:31 -06:00
Dennis Webb
e88e405b5d docs: Add warning to never create CHANGELOG.md in this repo 2025-12-25 11:16:19 -06:00
Dennis Webb
f910842648 MAESTRO: Document Issue #89 fix - Enhance Wizard state lifecycle documentation in CLAUDE.md 2025-12-25 11:16:19 -06:00
Pedram Amini
a8edadbdcf feat: add ESLint with TypeScript/React plugins and fix all lint errors
- Add ESLint 9 configuration (eslint.config.mjs) with TypeScript and React hooks plugins
- Add npm run lint:eslint command for code quality checks
- Expand npm run lint to check all three TypeScript configs (renderer, main, cli)
- Update tsconfig.cli.json to include src/prompts and src/types directories

Fix 29 ESLint errors:
- Remove unused updateCliActivity import in batch-processor.ts
- Convert {false && <jsx>} patterns to comments in AutoRun components
- Wrap case block with const declarations in braces (AgentSelectionScreen)
- Fix unused expression pattern in PreparingPlanScreen
- Fix conditional hook calls in FilePreview, OfflineQueueBanner, RecentCommandChips, TerminalOutput
- Add windows-diagnostics.json to PackageContents interface

Update CLAUDE.md and CONTRIBUTING.md with new linting commands and documentation.

Claude ID: 029e8abe-5734-4967-9fb4-c85078c1973d
Maestro ID: 87ffa06e-0ecd-4eb8-b327-dad1ec24f7a9
2025-12-22 21:20:53 -06:00
Pedram Amini
3b5257d9ac perf: Auto Run performance quick wins 3 & 4
- Quick Win 3: Reduce elapsed time timer from 1s to 3s in RightPanel
  - Reduces timer callbacks by 66% during Auto Run

- Quick Win 4: Memoize batch state selectors in App.tsx
  - currentSessionBatchState and activeBatchRunState wrapped in useMemo
  - Prevents unnecessary re-calculation on unrelated re-renders

- Update RightPanel test to expect 3s intervals

- Document npm run lint command in CLAUDE.md and CONTRIBUTING.md

Claude ID: 9ba72f64-27a0-4682-a8f2-93febcf94609
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2025-12-21 11:52:49 -06:00
Pedram Amini
2be8b5987d MAESTRO: Implement Phase 8.2 - Update documentation for multi-provider architecture
- CLAUDE.md: Added agent capabilities section, updated architecture diagram
  with parsers/ and storage/ directories, added agentSessions and agentError
  APIs, updated key files table, added error fields to Session interface
- AGENT_SUPPORT.md: Added multi-provider architecture status section showing
  all 7 completed components, updated supported agents reference with
  implementation status and detailed checklist for planned agents
- CONTRIBUTING.md: Updated supported agents reference table with status
  column and link to detailed guide
2025-12-16 21:50:19 -06:00
Pedram Amini
b1faa9f310 MAESTRO: Implement Phase 2 of multi-provider refactor - Identifier Renames
This commit completes Phase 2 of the multi-provider refactoring plan,
renaming Claude-specific identifiers to generic "agent" terminology.

Type Definition Changes:
- AITab interface: claudeSessionId → agentSessionId
- Session interface: claudeSessionId → agentSessionId, claudeCommands → agentCommands
- HistoryEntry interface: claudeSessionId → agentSessionId
- Created AgentSession interface (formerly ClaudeSession), with backward-compatible alias

Files Updated:
- 47 source files across renderer, main, web, cli
- 33 test files
- Documentation (CLAUDE.md, ARCHITECTURE.md)

All 10,701 tests pass. Build successful across main, renderer, web, and CLI.
2025-12-16 19:58:34 -06:00
Pedram Amini
b47c9612fb MAESTRO: Complete Phase 4 Context Integration for per-session history
- Add documentation for AI context integration in HistoryHelpModal
- Add "Per-Session Storage" section explaining 5,000 entry limit
- Add "AI Context Integration" section explaining history file usage
- Document History API in CLAUDE.md with getFilePath() and listSessions()
- Add cross-session view toggle (Layers button) to HistoryPanel
- Update test mocks for new Layers and FileJson icons
- Build passes and all 10,010 tests pass
2025-12-15 17:53:24 -06:00
Pedram Amini
fe2c25fb52 feat: add clickable file links to FilePreview markdown viewer
Extend the remarkFileLinks plugin support to FilePreview.tsx, enabling
wiki-style [[links]] and path references in markdown documents to become
clickable and open in the file preview panel. This allows seamless
navigation between documents in the file viewer.

Changes:
- Add fileTree, cwd, and onFileClick props to FilePreview component
- Integrate remarkFileLinks remark plugin for markdown file rendering
- Update MainPanel to pass file linking props to FilePreview
- Document file linking feature in CLAUDE.md Key Files table

Claude ID: ba360ad6-3ae8-4a87-a73d-ab97e466ce07
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2025-12-15 14:29:32 -06:00
Pedram Amini
80f4f3ee93 ## CHANGES
- Added git worktree support for parallel Auto Run operations 🌳
- Enable background processing while continuing interactive work freely 🚀
- No more read-only mode when using worktree feature 🔓
- Visual git branch icon indicates active worktree operation 🌿
- Auto-create pull requests when batch processing completes 
- Worktree path computed from base directory plus branch name 📁
- Yellow border and input locks only without worktree enabled 🟡
- Continue editing main repo while Auto Run processes tasks 💪
- Improved documentation explaining worktree setup and benefits 📚
- Enhanced UI indicators for parallel operation status tracking 🎯
2025-12-14 17:56:23 -06:00
Pedram Amini
ee2a61a87b refactor: extract system prompts to centralized markdown files
Move all built-in prompts from inline code to separate .md files in src/prompts/
for easier editing without code changes. Prompts use {{TEMPLATE_VARIABLES}} that
are substituted at runtime using the central substituteTemplateVariables function.

Changes:
- Add src/prompts/ directory with 7 prompt files (wizard, AutoRun, etc.)
- Add index.ts for central exports using Vite ?raw imports
- Add esbuild plugin in build-cli.mjs to support ?raw imports for CLI
- Update wizardPrompts.ts and phaseGenerator.ts to use central substitution
- Update CLAUDE.md documentation with new prompt location references
- Add TypeScript declaration for *.md?raw imports in global.d.ts

Claude ID: 38553613-f82f-4ce1-973e-fa80d42af3da
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2025-12-14 03:26:48 -06:00
Pedram Amini
4aa5398b9f OAuth enabled but no valid token found. Starting authentication...
Found expired OAuth token, attempting refresh...
Token refresh successful
I'd be happy to help you create a clean update summary for a GitHub project! However, I don't see any input provided after "INPUT:" in your message.

Could you please share the changelog, commit history, or release notes that you'd like me to summarize? Once you provide that information, I'll create an exciting CHANGES section with 10-word bullets and relevant emojis as requested.
2025-12-11 01:10:23 -06:00
Pedram Amini
f841479a8d MAESTRO: Fix tour spotlight system and rename wizard to New Agent Wizard
- Add tour:action event listeners in App.tsx for right panel control
  (setRightTab, openRightPanel, closeRightPanel)
- Add tour:action event listeners in SessionList.tsx for hamburger menu
  (openHamburgerMenu, closeHamburgerMenu)
- Add data-tour attributes to panel content areas (files-panel, history-panel)
- Update tour step selectors to target full panels instead of tab buttons
- Rename "New Project Wizard" to "New Agent Wizard" throughout UI
- Update wizard subtext to "Get started with AI"
- Update CLAUDE.md documentation to reflect naming changes

Claude ID: 545ca79b-d919-4e72-8030-8c9b70ca8c5c
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2025-12-10 07:31:50 -06:00
Pedram Amini
22285c0b6b MAESTRO: Add comprehensive wizard documentation to CLAUDE.md
Document the onboarding wizard system architecture, flow, and
customization points for developers working on the codebase.
2025-12-10 05:15:47 -06:00
Pedram Amini
6a917ccc1b docs: add multi-agent support architecture, expand documentation
- Add AGENT_SUPPORT.md with comprehensive multi-agent architecture design
  - Agent capability model for controlling UI feature availability
  - Refactoring plan for abstracting Claude-specific code
  - Implementation guides for adding new agents (OpenCode, Gemini CLI, etc.)
  - Test impact analysis and migration strategy

- Expand ARCHITECTURE.md with new sections:
  - Achievement system, AI tab system, execution queue
  - Navigation history, web/mobile interface, CLI tool
  - Shared module, remote access & tunnels
  - Updated hooks documentation (15 custom hooks)
  - Expanded IPC API surface reference

- Update CONTRIBUTING.md:
  - Add detailed "Adding a New AI Agent" section
  - Agent capability checklist for new implementations
  - UI feature availability matrix

- Update CLAUDE.md with latest vernacular and patterns

- Various UI improvements:
  - Enhanced history panel with better modal handling
  - Session list refinements
  - Improved template variable handling
  - Mobile interface view state utilities

Claude ID: c19f7b47-0dca-46a5-b8b4-4ca2381c1c71
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2025-12-08 17:11:31 -06:00
Pedram Amini
e7178d1ce4 Delete keyboard shortcuts section
Removed keyboard shortcuts section from CLAUDE.md
2025-12-04 05:59:48 -06:00
Pedram Amini
a6663adbd1 MAESTRO: Tab switcher improvements and slash command UX refinements
- Add lastActivityAt timestamps to tab switcher for better session sorting
- Filter "All Named" sessions to current project only (projectRoot-scoped)
- Add relative time formatting (e.g., "5m ago", "2h ago") in tab switcher
- Change slash command behavior: Tab/Enter now fills text instead of executing
- Allow slash commands to be queued when agent is busy (like regular messages)
- Add projectRoot field to Session for stable Claude session storage path
- Fix markdown list indentation and positioning
- Add GitHub Actions workflow for auto-assigning issues/PRs to pedramamini
- Update CLAUDE.md with projectRoot field documentation

Claude ID: 747fc9d0-a5a2-441d-bc0a-8cd3d579a004
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2025-12-03 15:26:30 -06:00
Pedram Amini
56dca0296a MAESTRO: Add keyboard shortcuts section to CLAUDE.md
Added comprehensive keyboard shortcuts documentation including:
- Panel navigation shortcuts (including new ⌘⇧1 for Auto Run)
- Session management shortcuts
- Tab management shortcuts (AI mode)
- Mode & focus shortcuts
- Git & system shortcuts
- Quick access shortcuts
2025-12-03 01:54:54 -06:00
Pedram Amini
aea55641b6 MAESTRO: Update CLAUDE.md Right Bar description from Scratchpad to Auto Run 2025-12-03 01:53:42 -06:00
Pedram Amini
70879ea29e feat: Update supported agent names and ordering
- Replace Aider with Gemini CLI (gemini-cli)
- Replace Qwen Coder with Qwen3 Coder (qwen3-coder)
- Replace CLI Terminal with OpenAI Codex (openai-codex)
- Reorder agents: Claude Code, OpenAI Codex, Gemini CLI, Qwen3 Coder
- Update agent definitions in agent-detector.ts
- Update mobile web components (AllSessionsView, SessionPillBar)
- Update documentation (CLAUDE.md, README.md)
2025-12-01 12:34:37 -06:00
Pedram Amini
c5a0535c46 feat: Add accentForeground theme color for proper text contrast on accent backgrounds
- Add accentForeground color to all 16 themes for proper text contrast
  when rendering text on accent-colored backgrounds
- Update UI components to use accentForeground instead of hardcoded
  white/dark colors for buttons and highlighted elements
- Refresh Maestro's Choice and Dre Synth theme palettes
- Add Save button to Batch Runner modal for persisting custom prompts
- Fix sidebar resize not saving width correctly during drag
- Queue custom AI commands when agent is busy (like regular messages)
- Update search placeholder in Scratchpad to show correct shortcuts
- Update docs to reflect 13 theme colors (was 12)

Claude ID: ac8e7811-8742-4991-b9ce-9c03629b8288
Maestro ID: 5a166b38-b7e9-47f0-a8ff-0113c65f2682
2025-11-28 18:14:48 -06:00
Pedram Amini
ab02fab0b8 feat: Add global Claude stats with streaming updates and UI refinements
- Add claude:getGlobalStats IPC handler that calculates stats across all
  Claude projects (~/.claude/projects/) with streaming progress updates
- Add onGlobalStatsUpdate listener for real-time stats progress in UI
- Refactor AboutModal to fetch global stats on mount instead of receiving
  persisted stats prop, with loading state and animated cost counter
- Fix busy indicator to only show when busySource matches current inputMode
- Add isSystemCommand property to CustomAICommand for special handling
- Add /synopsis as built-in system command (handled by slashCommands.ts)
- Remove duplicate Built-in System Commands section from AICommandsPanel
- Update CLAUDE.md and ARCHITECTURE.md to document new global stats API

Claude ID: ac8e7811-8742-4991-b9ce-9c03629b8288
Maestro ID: 5a166b38-b7e9-47f0-a8ff-0113c65f2682
2025-11-28 17:49:31 -06:00
Pedram Amini
17b929d430 feat: Add template variables for custom AI commands
- Add template variable system with substitution for session, project,
  date/time, and git context (e.g., {{SESSION_NAME}}, {{GIT_BRANCH}})
- Display collapsible template variables documentation in AI Commands panel
- Update default /commit command to include {{CLAUDE_SESSION_ID}} for traceability
- Add tag icon indicator for sessions with custom (user-defined) names
- Improve Git Log Viewer date formatting (time for today, full date for older)
- Improve Git Log search UX with better focus handling
- Change Agent Sessions Browser default search mode to 'all'
- Update README with custom AI commands documentation
- Add template variable file reference to CLAUDE.md

Session: 35b88ae2-fc1a-44de-a1a1-4b0f0f5a14f9
2025-11-27 01:30:31 -06:00
Pedram Amini
5235b67bf4 feat: Add message queue for AI mode
Messages sent while the AI is busy are now queued and automatically
processed when the current task completes. Features include:

- Queue display in terminal output with "QUEUED" separator
- Ability to remove individual queued messages via UI
- Blocks slash commands and session clearing while queue has items
- Sequential processing of queued messages on agent exit

Updated README.md and CLAUDE.md to document the new feature.
2025-11-26 05:50:36 -06:00
Pedram Amini
b253c4a7ed gss 2025-11-26 02:21:20 -06:00
Pedram Amini
c30c053e0f feat: add usage stats tracking, UI polish, and LLM settings feature flag
- Add real-time token usage and cost tracking from Claude Code responses
  - New UsageStats type with tokens, cost, and context window
  - Context window tooltip shows detailed token breakdown
  - Cost displayed in main panel header and session list

- Improve input area UX with $ prefix for terminal mode

- Add Cmd+L shortcut to insert markdown checkbox in Scratchpad

- Add terminalOnly flag for slash commands (/jump is terminal-only)

- Disable LLM Settings panel behind feature flag (documented in BACKBURNER.md)

- Fix AgentSessionsBrowser to use layer stack for Escape handling

- Update README with cost tracking feature and keyboard shortcut
- Update CLAUDE.md with process:usage event and usageStats session field
2025-11-26 01:42:30 -06:00
Pedram Amini
2a7093c533 feat: improve terminal output scrolling with page navigation
- Add Option/Alt+Up/Down for page up/down scrolling (viewport height)
- Switch to instant scrolling via Virtuoso for better responsiveness
- Update docs with new keyboard shortcuts
2025-11-25 17:18:20 -06:00