Skip to content
Kotoshu Kotoshu 言修

Audiences

Who tends words with Kotoshu

Five audiences, five entry points. Find yourself below — each section says what you get and exactly what to install.

Ruby developers

A spell checker that behaves like a Ruby gem

Application and gem teams who want checking inside their own code — model validations, rake tasks, test suites — without shelling out to hunspell or aspell.

gem install kotoshu

Ruby API guide →

You need Kotoshu if…

  • Pure-Ruby API: Kotoshu.correct?, .suggest, .check, .check_file
  • Two-stage resources — explicit Kotoshu.setup, then a cache-only hot path that never surprises you with a download
  • Personal dictionaries, XDG layout, offline mode, SHA-256 verified downloads
  • Hunspell-compatible morphology: affix rules, compounding, ~98 dictionaries
  • Optional semantic reranking via ONNX when you install onnxruntime

Writers & editors

Squiggles and one-keystroke fixes, in your editor

Prose writers, docs authors, and reviewers who live in VS Code, Neovim, Emacs, JetBrains, Helix, or Zed and want misspellings flagged as they type — with ranked quick-fixes.

gem install kotoshu-lsp

Editor wiring guide →

You need Kotoshu if…

  • LSP diagnostics on open and change, debounced as you type
  • Code actions: change to the top suggestion, or add to your personal dictionary
  • Hover a flagged word to see ranked candidates with confidence
  • Respects .kotoshu.yml project ignore lists
  • One server, every LSP-capable editor

Maintainers & CI

Spell checks that fail the build — nicely

Repository maintainers who want typos caught in pull requests with SARIF annotations in the GitHub Security tab, and deterministic, cached CI runs.

uses: kotoshu/action-kotoshu@v2

Action guide →

You need Kotoshu if…

  • One-line GitHub Action with dictionary caching between runs
  • SARIF 2.1.0 output that renders as GitHub code annotations
  • Stable exit codes: 0 clean, 1 errors, 2 usage, 3 not set up
  • Offline-first Docker image with dictionaries pre-baked
  • Works from markdown to AsciiDoc to plain text

Non-Ruby teams

One HTTP service, every language ecosystem

Python, JavaScript/TypeScript, and Go teams — or anyone with an OpenAPI client — who want Kotoshu as a self-hosted service. Your text never leaves your network.

gem install kotoshu-server   # or docker run ghcr.io/kotoshu/ci

HTTP API guide →

You need Kotoshu if…

  • Self-hostable HTTP API: /v1/check, /v1/suggest, /v1/detect
  • Typed SDKs on the registries: kotoshu and kotoshu-native on PyPI, @kotoshu/client and @kotoshu/wasm on npm, kotoshu-go
  • OpenAPI 3.1 spec — generate clients for Rust, .NET, Java
  • Docker image with healthcheck; Helm-friendly
  • Languages pre-warmed on boot; add more without downtime

Multilingual writers

Every language you write, resolved on demand

Translators, technical writers, and teams producing documentation across several languages, who need the right dictionary, frequency list, and embedding model to just appear.

gem install kotoshu

Language support matrix →

You need Kotoshu if…

  • Full-feature support in twenty languages — Greek, Italian, Norwegian Bokmål, Polish, Turkish, and Ukrainian among them
  • Automatic language detection from document content
  • Frequency-ranked suggestions (Kelly tiers) in Arabic, Chinese, and Norwegian
  • Interactive CLI review: navigate, accept, skip
  • 98 dictionaries staged and ready as language modules land