Skip to content
Kotoshu Kotoshu 言修

Projects

One engine, thirteen repositories

Core, surfaces, content, and site. Each surface is a thin adapter; each content repo is fetched on demand by the cache layer.

Core

kotoshu

live Ruby · 3.1+

The core spell checker

Pure-Ruby, Hunspell-compatible spell checking with affix morphology, frequency-ranked suggestions, and an optional FastText/ONNX semantic layer. Two-stage resources: explicit setup, cache-only hot path.

gem install kotoshu

kotoshu-rs

pending Rust · C ABI

The Rust core

The checking engines rebuilt in Rust behind a C ABI: dictionary and suggestion engines, reranking with pluggable embedding providers, optional ONNX (ort load-dynamic), and registry/SHA-256-verified resources. Ships magnus Ruby bindings, a WASM package, and a pyo3 wheel — none published to a registry yet. Behavior is verified against the gem by 2,630 conformance vectors plus differential fuzzing, with zero mismatches.

Surfaces — how you reach the engine

kotoshu-lsp

live Ruby · LSP over stdio

Language Server Protocol server

Inline squiggles, quick-fixes, and hover suggestions in every LSP-capable editor — VS Code, Neovim, Emacs (lsp-mode / eglot), JetBrains, Helix, Zed. Diagnostics carry ranked suggestions as code actions.

gem install kotoshu-lsp

kotoshu-server

live Ruby · HTTP

Self-hostable HTTP API

A Sinatra/Puma service exposing /v1/check, /v1/suggest, /v1/detect over JSON, with an OpenAPI 3.1 spec and a Docker image. The deployment surface for every non-Ruby SDK.

gem install kotoshu-server

kotoshu-python

beta Python · 3.10+

Python client

Sync requests-based client with typed dataclasses — check, suggest, detect, correct. Installable from source now; PyPI release pending token refresh.

pip install git+https://github.com/kotoshu/kotoshu-py

kotoshu-js

beta TypeScript · Node 18+

TypeScript client

Fetch-based client with full TypeScript types for Node 18+, Deno, Bun, and browsers. Installable from source now; npm @kotoshu/client release pending login.

npm install github:kotoshu/kotoshu-js

kotoshu-go

live Go · 1.21+

Go client

Idiomatic Go client — context.Context everywhere, typed errors, APIError with IsResourceNotSetup. Tagged v0.1.0 and resolvable via the Go module proxy.

go get github.com/kotoshu/kotoshu-go@v0.1.0

action-kotoshu

live YAML · Composite action

GitHub Action

One line to spell-check a repo in CI: caches dictionaries between runs, runs kotoshu check, uploads SARIF to the GitHub Security tab. Tagged v1.

uses: kotoshu/action-kotoshu@v1

docker-kotoshu-ci

beta Docker · ruby:3.4-slim

Docker CI image

Pre-warmed Ruby image with the gem and English dictionary baked in — docker run and check, no per-run downloads. Registry publication (ghcr.io) pending.

docker build -t kotoshu-ci github.com/kotoshu/docker-kotoshu-ci

Content — what the engine reads

dictionaries

live Data · Hunspell format

Hunspell dictionaries — 98 languages

The content repo behind every spelling check: Hunspell .aff/.dic pairs with per-language license metadata, fetched on demand by the LanguageCache.

frequency-list-kelly

live Data · JSON tiers

Kelly frequency tiers

Kelly Project frequency lists that rank suggestions by real-world usage — high-frequency corrections surface first.

models-fasttext-onnx

live Data · ONNX, 300-dim

FastText → ONNX embeddings

FastText crawl vectors converted to ONNX upstream, downloaded on demand by the ModelCache for context-aware reranking and out-of-vocabulary handling.

Site

kotoshu.github.io

live Astro · Vue islands

This website & playground

The site you are reading, plus the browser playground that talks to any running kotoshu-server.