Skip to content

docs: update project documentation to reflect current architecture#60

Open
hidetoshi-oya wants to merge 16 commits intoPrat011:masterfrom
hidetoshi-oya:docs/update-project-documentation
Open

docs: update project documentation to reflect current architecture#60
hidetoshi-oya wants to merge 16 commits intoPrat011:masterfrom
hidetoshi-oya:docs/update-project-documentation

Conversation

@hidetoshi-oya
Copy link
Copy Markdown

Summary

  • CLAUDE.md: Updated architecture diagram with all 16+ new helpers, tech stack (Electron 40, 4 AI providers), test count (184), ProviderRegistry pattern, safeStorage note
  • README.md: Added OpenAI/Claude provider sections, environment variable examples, new keyboard shortcuts (Cmd+Shift+H, Cmd+Shift+T), meeting intelligence/coaching/Whisper/calendar/webhook features, competitive comparison table, updated model list
  • .claude/rules/electron.md: Updated from legacy Strategy pattern to ProviderRegistry, added safeStorage/StorageHelper/prompts guidelines
  • .claude/rules/security.md: Added safeStorage encryption details (macOS Keychain/Windows DPAPI/Linux Secret Service), webhook URL validation policy

Test plan

  • Verify pnpm test:run still passes (184 tests)
  • Review documentation accuracy against actual codebase
  • Confirm no sensitive information leaked in docs

🤖 Generated with Claude Code

hidetoshi-oya and others added 16 commits February 20, 2026 15:18
- Replace all `npm run` / `npm rebuild` references in scripts with pnpm equivalents
- Remove package-lock.json in favor of existing pnpm-lock.yaml
- Add pnpm.onlyBuiltDependencies for native packages (electron, esbuild, sharp, tesseract.js)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace all npm commands with pnpm equivalents in README
- Update CLAUDE.md command table to use pnpm
- Resolve merge conflict in README.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change liquid-glass effects from white-based (rgba 255,255,255) to
black-based (rgba 0,0,0) with ~55% opacity. Update chat bubbles,
inputs, and ModelSelector to use dark theme colors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement real-time dual transcription using Web Speech API for microphone
and Gemini Live API for system audio. Add React hooks, AudioWorklet PCM
processor, TranscriptionDisplay component, and IPC integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…, remove tesseract.js

- U2: Replace deprecated @google/generative-ai with @google/genai v1.42.0
- U3: Update model string from gemini-2.0-flash to gemini-2.5-flash
- U5: Remove unused tesseract.js dependency (15MB+)
- Add 13 unit tests for LLMHelper (TDD Green)
- Exclude test files from electron tsconfig

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Upgrade electron from ^33.2.0 to ^40.6.0 (7 major versions)
- Fix transparent+resizable bug: set resizable: false (#48421)
- Fix setContentProtection cleared by hide(): re-apply after show (#45844)
- sharp rebuilt successfully with new Node ABI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create types.ts with LLMProvider interface and capabilities
- Extract GeminiProvider from LLMHelper (Gemini SDK wrapper)
- Extract OllamaProvider from LLMHelper (REST API wrapper)
- Create ProviderRegistry with switching and auto-fallback
- Refactor LLMHelper as facade over ProviderRegistry
- Add 13 ProviderRegistry unit tests (registration, switching, fallback)
- All 40 existing tests still pass

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- OpenAIProvider: GPT-4o chat + vision (openai v6.23.0)
- ClaudeProvider: Claude Sonnet 4.6 chat + vision (@anthropic-ai/sdk v0.78.0)
- 15 new unit tests (8 OpenAI + 7 Claude)
- All 55 tests pass

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Persistent settings storage in {userData}/settings.json
- API key encryption via Electron safeStorage (OS Keychain)
- Per-provider configuration (gemini/openai/claude/ollama)
- 13 unit tests covering CRUD, encryption, persistence
- Fix: use factory function for defaults to prevent shared mutation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 1.3 - New IPC endpoints:
- get-settings / update-settings
- get-available-providers / get-provider-models
- set-active-provider / set-provider-api-key
- test-provider-connection
- SettingsHelper integrated into AppState

Phase 1.4 - ModelSelector UI:
- 4-provider card grid (Gemini/OpenAI/Claude/Ollama)
- BYOK API key input per provider
- Capability badges (Vision/Audio)
- Connection test button

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- StorageHelper: meeting CRUD with JSON persistence (20 tests)
- MeetingHelper: session management + Map-Reduce chunked summarization (16 tests)
- Prompt templates: summary, action items, coaching, quick response (8 tests)
- 10 new IPC endpoints for meeting lifecycle
- MeetingPanel UI with real-time status, summary, action items
- useMeeting hook for frontend state management
- Meeting button added to QueueCommands toolbar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e 3)

- PlaybookHelper: 6 built-in playbooks + custom CRUD (15 tests)
- CoachingHelper: statement evaluation with cooldown + quick responses (8 tests)
- 7 new IPC endpoints (playbook CRUD, coaching, quick responses)
- PlaybookSelector UI: 3-column grid with active highlight
- QuickResponses UI: click-to-copy response cards
- MeetingPanel: integrated coaching advice + playbook selection
- Built-in playbooks: technical-interview, sales-call, team-standup,
  vc-pitch, customer-success, general

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nitor (Phase 4)

- ConversationHelper: persistent chat history with 50-message cap (11 tests)
- Click-through overlay: Cmd+Shift+T toggle, setIgnoreMouseEvents
- Multi-monitor: getAvailableDisplays, moveToDisplay, snapTo (6 positions)
- 8 new IPC endpoints for conversation, window management
- Keyboard shortcut Cmd+Shift+T registered in ShortcutsHelper

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ExportHelper: Markdown export, clipboard copy, JSON export (6 tests)
- WebhookHelper: meeting.ended event POST, URL config, test hook (6 tests)
- 6 new IPC endpoints for export and webhook management
- Full type safety across all IPC boundaries

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…alendar integration

Phase 4.1: Screen region capture (Cmd+Shift+H) with sharp cropping and
fullscreen selection overlay. Phase 4.5: OpenAI Whisper API multi-language
transcription (50+ languages, auto-detect). Phase 5.1: Calendar helper with
ICS parsing, playbook auto-suggestion, and imminent event detection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CLAUDE.md, README.md, and rule files were outdated — still referencing
Electron 33, Gemini/Ollama-only setup, and missing all new helpers added
in Phases 1-5 (ProviderRegistry, Meeting, Coaching, Whisper, Calendar,
Region Capture, etc.). Updated architecture diagram, tech stack versions,
AI provider docs, keyboard shortcuts, feature descriptions, comparison
table, security rules, and Electron coding guidelines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant