Deterministic codemods,
you can actually trust.

Dennis Forge is a deterministic transformation engine for Git-native projects. Generate human-reviewable plans, package them as signed artifacts (DEX), and apply large code changes safely. No magic. No lock-in. Just control.

Dennis is CLI-first and fully open source. The forge concept extends this into shared, portable plans — without changing the deterministic core.

You can run everything locally. Always.

What is Dennis?

Dennis is a deterministic transformation engine for codebases. It helps you plan, inspect, and apply large changes without fear.

Instead of modifying files blindly, Dennis generates a plan — a human-readable document that shows exactly what will change, before anything is applied.

Every transformation is inspectable, exportable, and reversible. No black boxes. No magic. Just clarity.

Quick Start

Install Dennis globally and generate your first plan in seconds.

pipx install dennis
dennis plan ./project --dict en.json
dennis dex pack plan.json artifact.dex
dennis dex sign artifact.dex --key dev.key
dennis dex verify artifact.dex

This creates a deterministic transformation plan you can inspect, export, share, and replay safely.

How it Works

Dennis follows a simple, transparent workflow:

  • Scan — Analyze the codebase for transformation targets
  • Plan — Generate a deterministic transformation plan
  • Package — Bundle the plan into a portable DEX artifact
  • Sign — Cryptographically sign the artifact
  • Verify — Validate signatures before execution
  • Apply — Execute transformations safely

The plan is the source of truth. Everything flows from it.

Safety & Undo

Every Dennis transformation is reversible by design. The system generates an inverse plan automatically, allowing you to undo changes at any time.

No hidden state. No irreversible migrations. If you can see the plan, you can revert the plan.

This makes Dennis suitable for large refactors, legacy systems, and high-trust environments.

CLI & Open Source

Dennis is built as an open, Git-native tool. The CLI is fully functional and will always remain available.

You can run everything locally, inspect the source, and integrate Dennis into your own workflows.

The web interface builds on top of the same deterministic core — no hidden logic, no proprietary transformations.

Install it globally with:

pipx install dennis

Self-Host or Cloud

Dennis is designed to run wherever you are most comfortable.

Use the CLI locally, deploy it inside your infrastructure, or use the hosted forge when it becomes available.

Your plans remain portable and human-readable, so you are never locked into a single environment.

Why?

Dennis was built to solve a specific problem: How do you safely transform large, complex data structures?

Traditional tools either lack transparency, are too slow, or require irreversible migrations. Dennis solves this by making the transformation plan the source of truth.

It's designed for engineers who need to move fast while maintaining control over their data.

Philosophy

“An archive is not merely a place where truths are stored. It is a machine built so that tomorrow may still trust yesterday.”