Skip to content

Introduction

TSudoku is a TypeScript port of SudokuExplainer -- the gold-standard Sudoku technique classifier. The goal is to identify named solving techniques, explain why moves are valid, and rate puzzle difficulty -- all in TypeScript with zero JVM dependency.

PROJECT STATUS

TSudoku is in Phase 0. The monorepo scaffold is complete but no solving techniques are implemented yet. This documentation describes the project's goals and architecture.

Why TSudoku?

The JS/TS ecosystem has plenty of backtracking solvers. What it lacks is a solver that reasons the way humans do. TSudoku aims to fill that gap.

Roadmap

PhaseDescriptionStatus
0Monorepo scaffolding, CI, docsComplete
1Direct techniques (SE 1.0-2.5)Not started
2Candidate techniques (SE 2.6-4.4)Not started
3Uniqueness techniques (SE 4.5-6.0)Not started
4Chain techniques (SE 6.2+, server-side)Not started
5SE reference integration (Java CLI)Not started
6Generator + corpus pipelineNot started
7ML package (ONNX inference)Not started

Packages

All packages are scaffolded but not yet functional.

PackageDescriptionStatus
@tsudoku/coreBoard model, candidates, technique detectors, solverScaffold
@tsudoku/solverFull solve path recordingScaffold
@tsudoku/generatorPuzzle generation + difficulty ratingScaffold
@tsudoku/cliCommand-line interfaceScaffold
@tsudoku/react-nativeReact Native components + hooksScaffold