mathsteps is a JavaScript library that performs step-by-step algebraic simplification and equation solving for expressions provided as strings. It exposes functions to simplify expressions and to solve equations, returning a structured sequence of steps that detail each transformation. For every step, mathsteps reports the original node, the change type, the resulting node, and any substeps, which makes it useful for education, debugging, and explainable math tooling. The library also exposes a catalog of change types so callers can interpret or filter specific transformations. It is distributed via npm and requires Node.js greater than version 6, with a straightforward API that fits neatly into web or server environments. The repository includes tests and contribution guidelines, making it approachable for developers who want to extend or adapt the behavior for their own applications.
Features
- Step-by-step simplification of algebraic expressions
- Equation solving with an ordered list of transformation steps
- Structured step objects including old/new forms, change type, and substeps
- Enumerated change types available via ChangeTypes
- Simple Node.js API for quick integration in apps or services
- Test suite and contributor workflow for ongoing development