1. Scan
Point Legacyless at a real C++ project with compile_commands.json.
Safe C++ modernization
Legacyless upgrades outdated C++ constructs with deterministic, provably safe transformations.
No AI-generated edits. No risky refactors. Only reviewable changes.
How it works
Point Legacyless at a real C++ project with compile_commands.json.
Inspect deterministic, reviewable changes before touching files.
Apply only the transformations that are provably safe.
Core principles
Conservative rules focused on changes teams can actually review and adopt.
Consistent inputs should produce consistent edits and predictable diffs.
Small, readable transformations with intent that is easy to justify in review.
Example transformations
Before
Widget* ptr = NULL;
use(ptr, 0);
After
Widget* ptr = nullptr;
use(ptr, nullptr);
Before
struct Derived : Base {
void render();
};
After
struct Derived : Base {
void render() override;
};
Why Legacyless
Legacyless uses deterministic, rule-based transformations instead of probabilistic code generation.
Rules are applied with project-aware analysis, not naive text substitution.
Each change is small, explainable, and designed to produce clean diffs.
Rules preview