-
Notifications
You must be signed in to change notification settings - Fork 0
systems frontend shell
factory-droid[bot] edited this page Jul 5, 2026
·
1 revision
Active contributors: Douwe de Vries, vriesd
The frontend shell renders QA Scribe's desktop UI and owns interaction state. It keeps workflows in controller/action modules and keeps views focused on rendering and user events.
frontend/src/
app/
views/
editor/
workflows/
components/
styles/
| File | Purpose |
|---|---|
frontend/src/app/useAppController.ts |
Central app state, boot flow, autosave, provider state, generation jobs. |
frontend/src/app/AppShell.tsx |
Layout, navigation, and view selection. |
frontend/src/app/sessionActions.ts |
Session and note operations. |
frontend/src/app/recordActions.ts |
Draft and Finding record operations. |
frontend/src/app/generationActions.ts |
AI job start/reconcile/cancel behavior. |
frontend/src/app/attachmentActions.ts |
Image paste/import/materialization. |
frontend/src/views/SessionEditorView.tsx |
Notes editor view. |
frontend/src/views/TestwareView.tsx |
Testware draft collection view. |
frontend/src/views/FindingsView.tsx |
Findings collection view. |
frontend/src/editor/RichTextEditor.tsx |
TipTap editor integration. |
frontend/src/App.tsx renders AppShell with props from useAppController. The controller creates an AppWorkflowContext, passes it into action factories, and returns state plus handlers to the shell and views.
graph TD
App[App.tsx] --> Controller[useAppController]
App --> Shell[AppShell]
Controller --> Actions[Action factories]
Shell --> Views[Notes, Testware, Findings, Settings]
Views --> Actions
Actions --> Bridge[frontend/src/tauri.ts]
The frontend shell depends on Tauri command bridge, Rich record editing, and AI-assisted Testware.
For a new workflow, add state to frontend/src/app/useAppController.ts, action logic to a focused file under frontend/src/app, and rendering under frontend/src/views or frontend/src/components.
- QA Scribe
- Download overview video (MP4)
- Architecture
- Getting started
- Glossary
- By the numbers
- Lore
- Fun facts
- Video overview
- How to contribute
- Development workflow
- Testing
- Debugging
- Patterns and conventions
- Tooling
- Applications
- Desktop app
- Smoke harness
- Systems
- Rust core
- Tauri command bridge
- Frontend shell
- Generation jobs
- Provider detection
- Release tooling
- Features
- Session capture
- Rich record editing
- Managed attachments
- AI-assisted Testware
- Settings and provider setup
- Crates
- qa-scribe-core
- qa-scribe-app
- Primitives
- Session
- Entry
- Finding
- Draft
- Evidence
- API
- Tauri commands
- Deployment
- Security
- Background
- Architecture decisions
- Migration context
- Cleanup opportunities
- TODOs and FIXMEs
- Complexity hotspots
- Reference
- Configuration
- Data models
- Dependencies