Supported languages.
Cartograph validates widgets with a native engine per language: real tests and tooling, not a text linter. 17 engines ship in the CLI today (as of cartograph-cli 0.7.23). You only need the toolchains for languages you use.
Application
- Python
pythonpytest, line coverage, contamination scan
- JavaScript
javascriptNode test runner, coverage where configured
- TypeScript
typescriptTypecheck + Node tests
- Go
gogo test with native tooling
- Rust
rustcargo test
- Java
javaGradle / JUnit
- C#
csharpdotnet test / xUnit, coverlet line coverage
- PHP
phpPHPUnit
- Nim
nimunittest via nimble
- Angular
angularAngular unit tests
- Flutter
flutterflutter test / flutter_test harness, lcov line coverage
Game
- GDScript
gdscriptGodot headless tests
Hardware & analog
- SystemVerilog
systemverilogCompile + simulate (iverilog / vvp)
- SPICE
spiceCircuit simulation (ngspice), measured checks
CAD & modeling
- OpenSCAD
openscadGeometry compile / render checks
Infrastructure as code
- Terraform
terraformfmt, validate, and plan-style checks
Formal verification
- Lean
leanlake build (no sorry/admit), ASSERT_PASS tests via lean --run
Domains
Every widget id starts with a domain. Domains classify the problem, independent of language: a retry helper and a UART block are both widgets.
backendAPIs, databases, queues, cachingdataParsing, pipelines, serialization, file I/OmlInference helpers, embeddings, training utilitiessecurityAuth, crypto, input sanitizationinfraConfig, logging, monitoring, health checksfrontendUI rendering, templating, client logicuniversalPure utilities with no domain dependencymodelingParametric geometry, surfaces, simulationsrtlSynthesizable digital logic modulesdevopsIaC, deployment, operational toolinganalogParametric SPICE netlistsgamedevGameplay systems validated in-engine