cure-cli 0.1.11

CLI for cure: fault-tolerant Java and TypeScript/JavaScript simplifier/formatter (source in, source out)
cure-cli-0.1.11 is not a library.

cure-cli

crates.io CI License: MIT

cure — the command-line front end of the cure simplification engine: a fault-tolerant, semantic-preserving code simplifier/formatter that turns decompiled code back into something a human would have written. The CLI is language-agnostic (Java and TypeScript/JavaScript are the backends implemented today) — a new language registers in LANG_BACKENDS (extensions + pipeline function) and inherits traversal, parallelism, --check/--diff/--stats, and the cross-platform batched I/O for free.

cargo install cure-cli
echo 'class A{int m(){int a=foo();int b=a;return b;}}' | cure -
# class A {
#     int m() {
#         return foo();
#     }
# }

echo 'const x = 1 + 2; console.log(x);' | cure --lang ts -
# const x = 3;
# console.log(3);

Highlights:

  • Fault-tolerant — parse errors never abort a run; broken regions are preserved verbatim while everything around them is simplified (--strict turns them into an error exit for CI).
  • Directory mode — recursive, parallel (dynamic work queue, threads = CPU cores × 1.5), mirrors the tree into <dir>-cure-out/; the 371,674-file OpenJDK corpus (4.70 GB) in ~15 s / ~430 MiB peak RSS on an 18-core laptop (--check), 0 failures.
  • Cross-platform batch I/O — optional Linux io_uring backend (--features io-uring; read syscalls 6,977 → 10 on a 3,483-file trace); macOS/Windows thread pool. Default build: zero runtime dependencies.
  • Dry runs (--check), diffs (--diff), stats (--stats/--report), rule toggles (--disable), in-place mode (-w), thread control (-j).
  • Simplification-quality metrics (--stats): AST nodes, decision points, max nesting — before vs. after. Untouched by formatting, they separate real simplification from reformatting; per-file classification (structurally simplified / format-only / untouched) surfaces files no rule reached.

Full documentation — rule catalog, verification methodology, performance notes, and the 中文版 — in the repository README.

License: MIT.