Safe C++ modernization

Modernize C++ safely.

Deterministic, explainable code transformations built for developer trust.

// missing override
- void f();
+ void f() override;

Core principles

Built around trust.

Safe

Conservative rules focused on changes teams can actually review and adopt.

Deterministic

Consistent inputs should produce consistent edits and predictable diffs.

Explainable

Small, readable transformations with intent that is easy to justify in review.

Example transformations

Focused changes, clean diffs.

nullptr modernization

current rule

Before

Widget* ptr = NULL;
use(ptr, 0);

After

Widget* ptr = nullptr;
use(ptr, nullptr);

missing override

current rule

Before

struct Derived : Base {
  void render();
};

After

struct Derived : Base {
  void render() override;
};

Rules preview

Current ruleset.

Open full rules page

Rule 01

nullptr

Replaces legacy null pointer constants when pointer intent is clear.

See rule

Rule 02

override

Adds missing override when the function is already overriding.

See rule