4 rules shipped / 5 trials passed

Stop renaming fields by hand.

SOVR Patch is a rule-driven TypeScript migration engine. It finds every reference, generates safe patches, verifies with tsc, and only writes when the compiler says yes.

sovr-patch run --rule field-rename
$ npx sovr-patch run \
--rule field-rename \
--from "config.baseUrl" \
--to "config.apiBaseUrl" \
--repo ./sovr-mcp-server \
--include-this --report
 
Rule: field-rename
Repo: /projects/sovr-mcp-server
 
Scanning 22 TypeScript files...
 
Hits: 13
The Problem

Renaming a field across a TypeScript codebase is mechanical torture.

Your IDE's "Rename Symbol" misses string literals, shorthand properties, destructuring patterns, and this. chains. Find-and-replace breaks things. Manual review takes hours.

For a 22-file TypeScript project, renaming config.baseUrl to config.apiBaseUrl requires touching 13 references across 3 files — including type definitions, property access, this. chains, and destructuring.

One missed reference = runtime crash in production.

IDE Rename Symbol~60%
Find & Replace~40%
Manual Review~85%
SOVR Patch100%
How It Works

Four primitives. One pipeline.

Every rule follows the same contract: Locate → Classify → Transform → Verify. The engine orchestrates. Rules focus on domain logic.

01
{}

Locate

AST-powered scanning finds every reference to the target field across your entire codebase. Value refs, property keys, type fields, this. chains, destructuring patterns.

02
??

Classify

Each hit is classified as safe, ambiguous, or unsafe. Assignment LHS targets are blocked. Shorthand properties are expanded. No guessing.

03
=>

Transform

Safe hits get precise text-level patches. Character offsets, not line-level. Overlap detection prevents conflicting edits.

04
ok

Verify

Patches are applied to a temp copy. tsc --noEmit runs on the result. If it fails, nothing touches your real repo. Zero risk.

Real Results

Verified on real repositories.

Not synthetic benchmarks. These numbers come from running SOVR Patch on production TypeScript codebases across 5 trial runs.

Total Hits Found
0
Across 5 trial runs on 3 real repos
Safe Patches
0
All 53 assertions passed
Rules Shipped
0
field-rename, nullish-fallback, design-token, inline-style
Verify Pass Rate
0%
tsc --noEmit green after every safe-apply
Trial Run History
TrialRepositoryRuleHitsPatchesVerify
#003asovr-mcp-serverfield-rename1313PASS
#003bsovr-mcp-servernullish-fallback33PASS
#004asovr-mcp-serverfield-rename1313PASS
#004bsovr-mcp-servernullish-fallback33PASS
#005aSOVR-MCP-PROXYfield-rename88PASS*
#005bSOVR-MCP-PROXYnullish-fallback33PASS
* PASS with safe-apply protection: verify detected unreachable string literal, blocked unsafe write
Rule Packs

Two packs. Four rules. One contract.

Every rule implements the same RuleDefinition<TConfig> interface. Rules ship in focused packs — install what you need.

PACK A

Safe TS Migration

P0 — shipped

Core refactoring primitives for TypeScript codebases. Rename fields across every reference type. Inject nullish guards with chain and precedence awareness.

field-renameP0
shipped

Safe TypeScript field rename across value refs, property keys, type fields, this. chains, destructuring, and shorthand properties.

-config.baseUrl
+config.apiBaseUrl
nullish-fallbackP0
shipped

Inject ?? fallback for repeated property access targets. Chain-aware: wraps entire optional chain. Operator-precedence-aware: adds parens in binary expressions.

-data.result?.items
+(data.result ?? []).items
PACK B

Frontend Refactor

P1 — shipped

Design system migration rules with dual-mode support. Audit mode discovers all hardcoded colors and inline styles zero-config. Run mode applies precise replacements using presets (sovr-core, tailwind-common) or custom maps.

design-tokenP1
shipped

Replace hardcoded hex color values with CSS custom property references. Supports shorthand hex, uppercase normalization, and template literals.

-"#ff0000"
+"var(--sovr-danger)"
inline-styleP1
shipped

Convert JSX inline style objects to className strings. Full-match → safe replace. Partial-match → ambiguous skip.

-style={{ color: "red" }}
+className="text-red"
All Rules

Complete rule catalog

field-renameP0
shipped

Safe TypeScript field rename across value refs, property keys, type fields, this. chains, destructuring, and shorthand properties.

-config.baseUrl
+config.apiBaseUrl
nullish-fallbackP0
shipped

Inject ?? fallback for repeated property access targets. Chain-aware: wraps entire optional chain. Operator-precedence-aware: adds parens in binary expressions.

-data.result?.items
+(data.result ?? []).items
design-tokenP1
shipped

Replace hardcoded hex color values with CSS custom property references. Supports shorthand hex, uppercase normalization, and template literals.

-"#ff0000"
+"var(--sovr-danger)"
inline-styleP1
shipped

Convert JSX inline style objects to className strings. Full-match → safe replace. Partial-match → ambiguous skip.

-style={{ color: "red" }}
+className="text-red"
Safe-Apply Guarantee

Verify fails? Nothing touches your repo.

SOVR Patch never writes directly to your source files. Every patch is first applied to a temporary copy. The TypeScript compiler runs on that copy. Only when tsc --noEmit returns zero errors does the engine copy the changes back.

This is the core safety guarantee. In Trial #005a, safe-apply correctly blocked a write when the rename left a string literal "url" in a required array inconsistent with the renamed property. A human would have missed it.

verify PASS → write
verify FAIL → block
Safe-apply verification visualization
Get Started

Install and run in 30 seconds.

No signup required. Dry-run is free forever. See every hit, every diff, every risk — before you commit.

Quick start
# Install globally (v0.2.0 on npm)
npm install -g sovr-patch
# Dry-run a field rename (free, no license needed)
npx sovr-patch run --rule field-rename \
--from "config.baseUrl" \
--to "config.apiBaseUrl" \
--repo ./your-project --report
# Audit your codebase for design tokens
npx sovr-patch audit --rule design-token \
--repo ./your-project
# Apply patches (requires license)
npx sovr-patch run --rule field-rename \
--from "config.baseUrl" \
--to "config.apiBaseUrl" \
--repo ./your-project --apply
1

Run a dry-run scan

SOVR Patch scans your codebase, finds every reference, and shows you a complete diff — without touching any files.

2

Review the migration report

See exactly which files are affected, how many hits are safe vs. ambiguous, and what the patches look like.

3

Apply when ready

Upgrade to a paid plan to unlock safe-apply. Patches are verified with tsc before writing — zero risk.

Pricing

See the migration for free. Pay when you execute.

SOVR Patch is priced around what you actually value: seeing the impact of a migration, applying it safely, and reducing review and rollout risk.

Dry-run is free forever. Safe execution is paid.
OPEN

Free

$0

Inspect migrations before you commit to them. See every hit, every diff, every risk.

Includes
Scan your repo
Dry-run migrations
Unified diff preview
Structured migration report
Audit discovery mode
Not included
Safe apply
Presets
CI integration
Best for
Evaluation · Migration planning · Team buy-in
Try dry-run
PACK A

Safe TS Migration

$99one-time

Safely migrate TypeScript field and expression changes across a real codebase.

Includes
field-rename rule
nullish-fallback rule
Safe apply (--apply)
1 year of updates
Best for
API field changes · Config migrations · SDK upgrades
PACK B

Frontend Refactor

$99one-time

Migrate design tokens and inline styles to modern CSS and utility classes.

Includes
design-token rule
inline-style rule
Presets (sovr-core, tailwind-common)
Dual-mode: audit + run
Safe apply (--apply)
1 year of updates
Best for
Design system migrations · Tailwind adoption · CSS modernization
Most Popular
ALL PACKS

Full Engine

$249one-time

For teams that need both migration packs. All rules, one price.

Includes
All 4 rules + all presets
Dual-mode: audit + run
Safe apply (--apply)
CI gate integration
Audit pack mode
1 year of updates
New rule pack discounts
Best for
Cross-functional teams · AI-first engineering · Repo-wide migrations
CUSTOM

Enterprise

Custom

Migration workflows, CI enforcement, and custom rules for teams with real delivery risk.

Includes
Everything in Full Engine
Custom rule development
Audit trail + compliance
Multi-repo CI enforcement
Private support + SLA
Best for
Multi-repo teams · High-risk migrations · Compliance requirements
Talk to us
CLI unlock flow
$ sovr-patch run --rule field-rename --apply
Rule: field-rename
Hits: 37
Patches: 37
Changed files: 12
Verify: PASS
Safe apply is not available on the free plan.
This migration would:
- scan 37 hits across 12 files
- generate 37 verified patches
- verify before write (tsc --noEmit)
To unlock safe apply:
Safe TS Migration Pack — $99
Full Engine — $249
Visit: sovr.app/patch/pricing

Users see the full migration scope before paying. This is the conversion point.

FAQ

Frequently asked questions

Everything you need to know about licensing, installation, and using SOVR Patch.

QHow do I install SOVR Patch?

Install globally via npm: npm install -g sovr-patch. Or use without installing: npx sovr-patch --help. Requires Node.js 18 or higher.

QDoes it work with AI coding tools?

Yes. SOVR Patch is a standard CLI tool that works with Cursor, Claude Code, Copilot, and any AI agent that can execute shell commands. The AI agent runs npx sovr-patch run --rule ... --apply directly. Just ensure the license is activated in the environment where the agent runs.

QDoes SOVR Patch require internet access?

No. All scanning, patching, and verification runs entirely on your machine. The license file is Ed25519-signed and verified offline — no phone-home, no telemetry, no network calls.

QWhat TypeScript versions are supported?

SOVR Patch uses your project's own tsconfig.json and TypeScript installation for verification. It works with TypeScript 4.x and 5.x. The AST parsing is version-independent.

QWhat can I do for free?

Free users get full access to scanning, dry-run migrations, diff previews, and audit reports. You can see exactly what SOVR Patch would change — every hit, every diff, every risk — before paying anything. The --apply flag (which writes changes to your files) requires a license.

QHow does the license work?

After purchase, you download a license.json file. Activate it with sovr-patch activate license.json. The license is cryptographically signed (Ed25519) and verified locally — no server calls needed. Check your status anytime with sovr-patch status.

QIs the license per-user or per-team?

Licenses are per-user. Each developer on your team needs their own license. For team purchases (5+ seats), contact us through the Design Partner program for volume pricing.

QWhat happens when my license expires?

Licenses are valid for 1 year. After expiry, you keep the version you have — it still works for scanning and dry-run. The --apply flag stops working until you renew. Run sovr-patch status to check your expiry date.

QCan I use it in CI/CD pipelines?

Yes. The sovr-patch ci-gate command is designed for CI integration. Set SOVR_LICENSE_PATH env var to point to your license file in CI. CI gate is available with Full Engine and Enterprise plans.

QWhat is the refund policy?

We offer a 14-day money-back guarantee. If SOVR Patch doesn't work for your use case, email us and we'll process a full refund — no questions asked.

Data Privacy & Security

QDoes SOVR Patch send my code to any server?

No. SOVR Patch runs 100% locally on your machine. Your source code never leaves your filesystem. There is no cloud processing, no code upload, no remote AST analysis. The entire pipeline — scanning, classification, patching, and verification — executes in your local Node.js process.

QDoes it collect telemetry or usage data?

No. SOVR Patch collects zero telemetry. No usage analytics, no crash reports, no anonymous metrics. The only network call is an optional version check against the npm registry (which you can disable with SOVR_NO_UPDATE_CHECK=1). We believe developer tools should be silent and respectful.

QHow is the license verified without phoning home?

Your license file contains an Ed25519 digital signature. The CLI embeds the public key and verifies the signature locally — the same cryptographic approach used by SSH keys and package signing. No license server, no token refresh, no network dependency. If your machine is air-gapped, it still works.

QIs my payment information secure?

All payments are processed by Stripe, a PCI-DSS Level 1 certified payment processor. We never see, store, or have access to your credit card details. Your card information goes directly to Stripe's secure infrastructure.

QCan I audit the SOVR Patch source code?

Yes. SOVR Patch is source-available under the BSL-1.1 license. You can inspect every line of code on GitHub. The rule engine, AST analysis, and patch generation are fully transparent. Enterprise customers can request a security audit.

QWhat data does the license file contain?

The license file contains: your email, plan name, licensed rules, issue date, and expiry date — plus the Ed25519 signature. No passwords, no API keys, no sensitive credentials. You can open license.json in any text editor to verify its contents.

Design Partner Program

Ship your migration in hours, not sprints.

We're looking for 5 engineering teams with active TypeScript migration work. You bring the codebase. We bring the engine. Together we validate SOVR Patch on real-world scale.

What you get:€2k – €5k
Full Engine access (all rules)
1–2 private custom rules
Direct migration support
Co-authored case study option
Priority feature requests
Paid partners give real feedback. 5 spots for teams with active TS migration work.
No credit card required|Results in 48 hours|5 spots remaining