Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Universal Spell Check

A Windows-wide AI spell checker. Select text anywhere, press Ctrl+Alt+U, and the corrected version replaces your selection in place. Lives in the system tray; the OpenAI Responses API does the work.

Install

Download the latest Setup.exe from the Releases page and run it. No admin prompt, no code signing — Windows SmartScreen may warn on first install. The app checks GitHub Releases on launch and every ~4 hours. It installs a newer version automatically during startup. Background checks prepare updates for the next restart.

Technical users can restart and update from PowerShell:

& "$env:LOCALAPPDATA/UniversalSpellCheck/current/UniversalSpellCheck.exe" --restart

The command sends one brief notice and restarts the app. Startup checks and installs any available update automatically; a failed update notifies you and keeps the current version usable. --update remains an alias. The launcher acknowledges the request; restart and installation complete asynchronously.

You'll need an OpenAI API key. Open the dashboard from the tray icon, add a named key, and select it. You can store multiple keys and switch the active key without restarting.

Use

  1. Select text in any app.
  2. Press Ctrl+Alt+U.
  3. Wait for the loading bar; corrected text replaces your selection.

The tray icon menu has version info, "Check for Updates", "Open Dashboard", and "Open Logs Folder".

Repo layout

rust/                      # The product — native Rust tray app and dashboard
src/                       # Frozen C# reference; BuildChannel.cs remains canonical
.github/workflows/         # Tag-triggered Velopack release pipeline
replacements.json          # Brand/casing post-processing rules
docs/                      # Architecture, conventions, debugging notes
.archive/ahk-legacy/       # The original AutoHotkey implementation (history)
tests/                     # Native tests plus Python fine-tune and benchmark tooling

Development

# Run a Dev build alongside the installed Prod app (Ctrl+Alt+D, separate settings)
cargo run --manifest-path rust/Cargo.toml --release

# Build a release-style local artifact
./rust/package.ps1 -Output rust/dist/prod

Prod and Dev settings are isolated (%LocalAppData%\UniversalSpellCheck.Data\ vs %LocalAppData%\UniversalSpellCheck.Dev\). Logs are intentionally unified at %LocalAppData%\UniversalSpellCheck.Data\logs\spellcheck-{date}.jsonl with per-line channel, app_version, and pid stamps. %LocalAppData%\UniversalSpellCheck\ is reserved for Velopack installation files.

Release

Use the repository's deploy skill. A version tag on clean, verified main triggers the Rust release workflow: locked production build, regressions, startup smoke, Velopack packaging, fresh-installer execution on a disposable CI runner, then publication. The tag must match rust/Cargo.toml. Push the intended main commit and only its release tag together.

Rust releases retain the existing package ID, UniversalSpellCheck.exe name, installation path and update feed. Existing C# installations upgrade through their built-in restart/update flow; settings and encrypted keys remain under %LocalAppData%\UniversalSpellCheck.Data. New installs do not require .NET. Installer-owned program files are replaced during updates; user data remains outside that directory. Keep any shared .NET runtime installed for other applications.

License

Personal project. No license declared.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages