mirror of
https://github.com/jlengrand/Maestro.git
synced 2026-03-10 00:21:21 +00:00
- 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 🗂️
3.3 KiB
3.3 KiB
CLAUDE-IPC.md
IPC API surface documentation for the Maestro codebase. For the main guide, see CLAUDE.md.
Overview
The window.maestro API exposes the following namespaces:
Core APIs
settings- Get/set app settingssessions/groups- Persistenceprocess- Spawn, write, kill, resizefs- readDir, readFiledialog- Folder selectionshells- Detect available shellslogger- System logging
Agent & Agent Sessions
agents- Detect, get, config, refresh, custom paths, getCapabilitiesagentSessions- Generic agent session storage API (list, read, search, delete)agentError- Agent error handling (clearError, retryAfterError)claude- (Deprecated) Claude Code sessions - useagentSessionsinstead
Git Integration
git- Status, diff, isRepo, numstat, branches, tags, infogit- Worktree support: worktreeInfo, getRepoRoot, worktreeSetup, worktreeCheckoutgit- PR creation: createPR, checkGhCli, getDefaultBranch
Web & Live Sessions
web- Broadcast user input, Auto Run state, tab changes to web clientslive- Toggle live sessions, get status, dashboard URL, connected clientswebserver- Get URL, connected client counttunnel- Cloudflare tunnel: isCloudflaredInstalled, start, stop, getStatus
Automation
autorun- Document and image management for Auto Runplaybooks- Batch run configuration managementhistory- Per-session execution history (see History API below)cli- CLI activity detection for playbook runstempfile- Temporary file management for batch processing
Analytics & Visualization
stats- Usage statistics: recordQuery, getAggregatedStats, exportCsv, clearOldData, getDatabaseSizestats- Auto Run tracking: startAutoRun, endAutoRun, recordTask, getAutoRunSessionsstats- Real-time updates viastats:updatedevent broadcastdocumentGraph- File watching: watchFolder, unwatchFolderdocumentGraph- Real-time updates viadocumentGraph:filesChangedevent
History API
Per-session history storage with 5,000 entries per session (up from 1,000 global). Each session's history is stored as a JSON file in ~/Library/Application Support/Maestro/history/{sessionId}.json.
window.maestro.history = {
getAll: (projectPath?, sessionId?) => Promise<HistoryEntry[]>,
add: (entry) => Promise<boolean>,
clear: (projectPath?, sessionId?) => Promise<boolean>,
delete: (entryId, sessionId?) => Promise<boolean>,
update: (entryId, updates, sessionId?) => Promise<boolean>,
// For AI context integration:
getFilePath: (sessionId) => Promise<string | null>,
listSessions: () => Promise<string[]>,
// External change detection:
onExternalChange: (handler) => () => void,
reload: () => Promise<boolean>,
};
AI Context Integration: Use getFilePath(sessionId) to get the path to a session's history file. This file can be passed directly to AI agents as context, giving them visibility into past completed tasks, decisions, and work patterns.
Power Management
power- Sleep prevention: setEnabled, isEnabled, getStatus, addReason, removeReason
Utilities
fonts- Font detectionnotification- Desktop notifications, text-to-speechdevtools- Developer tools: open, close, toggleattachments- Image attachment management