-
Notifications
You must be signed in to change notification settings - Fork 0
how to contribute patterns and conventions
QA Scribe uses Rust-owned domain and persistence logic, typed Tauri commands, generated TypeScript bindings, and action-factory-based React workflows. Product terminology follows CONTEXT.md.
Use Session, Entry, Evidence, Finding, Testware, Draft, AI Run, Generation Context, and Record. Avoid old terms called out in CONTEXT.md, such as Project, Notebook, Artifact, Item, Proof, or AI output.
Domain validation is handled in crates/qa-scribe-core/src/domain/validation.rs and service modules under crates/qa-scribe-core/src/services/session_service. Cross-session ownership is guarded by service methods such as row-in-session checks rather than frontend assumptions.
Core methods return QaScribeError from crates/qa-scribe-core/src/error.rs. Tauri commands map those errors through src-tauri/src/commands/error.rs into structured frontend-facing variants.
src-tauri/src/specta_bindings.rs registers commands and exports TypeScript bindings. Frontend code imports wrappers from frontend/src/tauri.ts and stable command helpers from frontend/src/tauriCommands.ts. Avoid hand-writing DTO shapes when they already exist in frontend/src/bindings.ts.
frontend/src/app/useAppController.ts owns the app workflow context and delegates operations to action factories. Views receive props from frontend/src/app/AppShell.tsx and should avoid duplicating backend orchestration.
Generation is always explicit and user-triggered. Provider authentication belongs to local CLIs. Core prompt and response logic lives in crates/qa-scribe-core/src/generation, while Tauri process execution lives in src-tauri/src/commands/ai.
- 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