Files
AgentCompany/docs/07-renderer-implementation.md
T

39 lines
1.7 KiB
Markdown

# Phase 6: FrontendDeveloper Renderer Implementation
## Stack
- React `19`
- TypeScript
- Vite / electron-vite
- Framer Motion for shell transitions and utility drawer motion
## Renderer Responsibilities Implemented
- first-launch onboarding for company bootstrap and workspace selection
- persistent desktop shell with section navigation
- command palette toggle and keyboard-driven navigation hooks
- connector registry with status, version, auth posture, and configuration surfaces
- company, agent, goal, project, task, approval, cost, activity, workspace, and settings panels
- run console utility drawer with live status and log retrieval
- empty, loading, and error states for first-run and operational flows
## State Model
- snapshot-driven renderer state sourced from `window.agentCompany.loadSnapshot()`
- local UI state for section selection, command palette visibility, console visibility, dialog drafts, and selection state
- event subscription via `window.agentCompany.subscribe(...)` for domain changes and run updates
## Desktop-Native UX Decisions
- shell layout assumes resizable desktop windows, not mobile breakpoints
- keyboard shortcuts are routed from the application menu into renderer event handling
- workspace opening and log access are explicit desktop actions
- drawer, inspector, and list/detail panels remain visible at desktop densities
## Key Files
- [App.tsx](/Users/zacharyzhang/Documents/Github/paperclip/AgentCompany/src/renderer/App.tsx)
- [main.tsx](/Users/zacharyzhang/Documents/Github/paperclip/AgentCompany/src/renderer/main.tsx)
- [styles.css](/Users/zacharyzhang/Documents/Github/paperclip/AgentCompany/src/renderer/styles.css)
- [index.html](/Users/zacharyzhang/Documents/Github/paperclip/AgentCompany/src/renderer/index.html)