Skip to content

massun-onibakuchi/speech-to-text-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

741 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dicta

Electron-based macOS utility that captures speech, transcribes via STT providers (Groq, ElevenLabs), optionally transforms with an LLM (Google Gemini), and outputs to clipboard/paste.

Prerequisites

  • Node.js 22+
  • pnpm 10+ (enforced — npm/yarn are blocked)
  • macOS 15+ (runtime target)

Initial Setup

gh auth login

Setup

pnpm install

For unattended repository maintenance with Codex in Docker on macOS, see docs/scheduled-codex-setup.md.

Development

pnpm dev          # launch electron-vite dev server
pnpm build        # production build
pnpm typecheck    # type-check without emitting

For the current local development commands, see the scripts section in package.json.

Testing

For the current test and verification commands, see the scripts section in package.json.

Vitest excludes .worktrees and .pnpm-store from test discovery to avoid running tests from external worktrees or cached stores.

CI E2E Strategy

  • Default CI e2e runs on macOS to match the runtime support target.
  • macOS e2e on pull request/push is intentionally minimized to smoke checks.
  • Workflow concurrency cancels redundant in-progress runs on the same ref.
  • Dependency install uses pnpm cache via actions/setup-node.

GitHub Pages Deploys

  • .github/workflows/github-pages.yml deploys on main only when the Pages site inputs change.
  • The tracked inputs are site/index.html, site/public/**, site/src/**, site/vite.config.ts, package.json, pnpm-lock.yaml, tsconfig.json, the two shared icon assets the site imports, and the workflow file itself.
  • Manual deploy remains available through workflow_dispatch.

Manual run options (.github/workflows/e2e-playwright-electron.yml):

  • run_macos=true runs macOS smoke e2e tests (@macos) for manual dispatch.
  • run_live_provider_checks=true additionally runs live provider tests (@live-provider).

Available CI secrets used by e2e workflows:

  • GOOGLE_APIKEY
  • ELEVENLABS_APIKEY
  • GROQ_APIKEY

Distribution

For packaging and release-related commands, see the scripts section in package.json and the release process in docs/release-checklist.md.

  • Pushing main with a changed package.json#version now creates the matching vX.Y.Z tag and builds the GitHub Release from that tag in the same workflow.
  • Manual release backfills or reruns should use workflow_dispatch on an existing vX.Y.Z tag so the build source stays immutable.
  • GitHub Releases now ship direct-download .dmg and .zip assets.
  • The app does not use GitHub-hosted auto-update metadata.
  • Releases are unsigned, so macOS Gatekeeper warnings are expected.
  • Renderer and site typography intentionally use @fontsource latin and latin-ext subsets to keep shipped font assets smaller.
  • See docs/release-checklist.md for the release workflow inputs/secrets.

Architecture

See specs/spec.md for the full normative specification

About

Swiss army knife for transcription and text transformation

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors