How drdobbymazz/office works
Munder Difflin is an Electron desktop harness that turns Claude Code PTY sessions into a coordinated, visible agent team. The main workflow is user input to the GOD agent, hive routing to worker agents, and live terminal/avatar feedback, with memory and approvals supporting coordination. The README documents additional task, schedule, GitHub, CI, Git, and chat capabilities. Sampled excerpts confirm key renderer, preload, and main-process bridges; unsampled subsystem wiring is shown only where the README or tree supports it.
Main entry points: main/index.ts Main IPC process · preload/index.ts IPC bridge · components Agent panels · hive.ts Hive manager
Components 25
Desktop experience
- App shell
src/renderer/src/App.tsx - Agent panels
src/renderer/src/components - Office floor
src/renderer/src/scene/office/OfficeFloor.tsx - UI state
src/renderer/src/store/store.ts - IPC bridge
src/preload/index.ts
Agent coordination
- Hive controller
src/renderer/src/hooks/useHive.ts - Game director
src/renderer/src/game/useDirector.ts - Hive manager
src/main/hive.ts - Agent hooks
src/main/hooks.ts - Memory layer
src/main/memory.ts - Mission scheduler
src/main/index.ts - Task board
src/renderer/src/components/TasksKanban.tsx
Agent runtime
- Main IPC process
src/main/index.ts - PTY sessions
src/main/pty.ts - Git operations
src/main/git.ts - File access
src/main/fs.ts - Usage telemetry
src/main/transcript.ts - Harness settings
src/main/config.ts - Hive files
src/main/hive.ts - Memory index
src/main/memory.ts
External services
- Claude CLI
- Ollama
- Slack
- GitHub CLI
Other components
- User
Connections 32
- User → App shell: uses
- App shell → Office floor: renders
- App shell → Game director: starts game mode
- Agent panels → UI state: reads and updates
- Hive controller → UI state: updates agent state
- Hive controller → IPC bridge: spawns and exchanges events
- App shell → IPC bridge: loads configuration
- IPC bridge → Main IPC process: invokes IPC
- Main IPC process → PTY sessions: manages sessions
- PTY sessions → Claude CLI: runs command
- PTY sessions → IPC bridge: streams terminal data
- Main IPC process → Hive manager: coordinates agents
- Main IPC process → Agent hooks: starts hooks
- Agent hooks → Hive manager: handles agent events
- Hive manager → Hive files: reads and writes
- Hive controller → IPC bridge: receives hive events
- Hive manager → Memory layer: provides agent memory
- Memory layer → Memory index: indexes and recalls
- Agent panels → IPC bridge: requests memory and approvals
- Task board → IPC bridge: reads and updates tasks
- Mission scheduler → Harness settings: loads missions
- Mission scheduler → Hive manager: dispatches missions
- Main IPC process → Harness settings: reads and writes settings
- Agent panels → Git operations: requests repository views
- Agent panels → File access: browses and edits files
- Agent panels → Usage telemetry: requests usage data
- Main IPC process → Usage telemetry: reads session usage
- Game director → IPC bridge: checks local model
- IPC bridge → Ollama: queries model service
- Hive controller → Slack: receives messages
- Main IPC process → Slack: starts webhook server
- Main IPC process → GitHub CLI: ingests issues and CI status