Skip to content
ddv1982Public

About

AI-assisted tool for turning raw test notes, logs, and findings into structured QA test results and bug reports.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

QA Scribe

Rust TypeScript JavaScript Python Shell

A local-first desktop notepad for exploratory testing. Capture evidence during a Session, track Findings, and turn your notes into editable Testware Drafts.

Get started · Download · Wiki · Development

What you can do

  • Organize testing Sessions with context, objectives, and a chronological Timeline.
  • Capture Notes, API responses, logs, screenshots, and attachments.
  • Link Findings to their supporting Evidence.
  • Start a local Finding or test-case draft from Note or its collection. Choose a manual output format or finding template, then save explicitly. Optional AI setup is inside the draft. Session Chat accepts pasted or chosen images. Testware remains the domain umbrella for testing output.
  • Use Copy on a Note, test case, Finding, or selected library record. Library copying keeps the current Session and uses the saved output.
  • Use Copy first screenshot to copy the first managed screenshot in a Note or record.

Capture and editing work without AI. Optional AI uses your authenticated local Claude Code, Codex CLI, or GitHub Copilot CLI. QA Scribe does not store provider API keys.

Install

Get the latest build from GitHub Releases.

  • macOS: Open the .dmg and drag QA Scribe into Applications. Choose aarch64 for Apple Silicon or x64 for Intel.
  • Linux: Install the .deb or .rpm, or run the .AppImage.

For Debian and Ubuntu, enable the signed APT repository:

bash <(curl -fsSL https://ddv1982.github.io/qa-scribe/install-apt-repo.sh)
sudo apt update
sudo apt install qa-scribe

The bootstrap verifies the repository setup package with the pinned signing key. Later updates use your normal APT workflow.

Tech stack

  • Desktop and backend: Rust and Tauri 2.
  • Interface: React 19, TypeScript, Vite, and Tiptap.
  • Storage: SQLite through rusqlite, with managed attachment files.
  • Typed bridge: Tauri commands, Serde, and Specta-generated TypeScript bindings.
  • Tooling: Bun, the Rust tsc-rs compiler and language server, the Microsoft TypeScript 7 extension client, and Oxlint with its Go-based typed-lint engine.
  • AI: Local CLI processes for generation and Chat.

Develop

Contributor setup, toolchains, editor configuration, and checks are in the development guide. For a first testing task, follow Get started. Optional AI setup is in AI providers and Session Chat.

Data and privacy

Sessions and Drafts live in local SQLite. Attachments are managed files in the app-data directory. Deleting a Session removes its database records and attachments. Older Electrobun databases are not migrated.

Deleting a Finding removes its Evidence links. Deleting a Draft preserves its AI Run history.

AI generation sends the selected context and attachment metadata, without raw attachment binaries. Sending a Chat image sends its pixels to the selected CLI, including when that conversation is replayed. Chat tools and connectors use the selected CLI's permissions. See the AI guide for the full behavior.

Project layout

crates/qa-scribe-core/  Domain, SQLite, attachments, and generation
crates/qa-scribe-app/   Non-GUI smoke harness
src-tauri/             Desktop shell and Tauri commands
frontend/              React interface and typed bridge
docs/                  Guides, architecture, and research

More information

About

AI-assisted tool for turning raw test notes, logs, and findings into structured QA test results and bug reports.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages