Kaizen
Architecture-driven modernization. Audit trail ships by default. Decompose legacy codebases into editable Architectural Decision Records (ADRs), recompose to modern stacks — compliance is what good architecture produces, not a feature you bolt on.
The ADR is the product. Every architectural decision is cited to
file:linein the source, reviewable as markdown, signable for compliance. The code generation is downstream of the contract — a human reviewer can accept, edit, or reject decisions before any modern code is written.
Install
# Recommended: isolated install, no virtualenv needed
pipx install kaizen-3c-cli
# uv (faster resolver)
uv tool install kaizen-3c-cli
# pip
pip install kaizen-3c-cli
Also available without Python:
winget install Kaizen3C.KaizenCLI # Windows
npm install -g kaizen-cli # any platform with Node
brew tap Kaizen-3C/tap && brew install kaizen-cli # macOS / Linux
Requires Python 3.10+ (pipx/uv/pip installs only). You will also need:
ANTHROPIC_API_KEYorOPENAI_API_KEYin your environment (or a local.envfile).- Rust toolchain (
cargo) if using--recomposefor C/C++ → Rust memory-safety work. - .NET SDK (
dotnet) if using--recomposefor framework-migration work targeting .NET 8.
Quick start
Memory safety roadmap (C/C++ → Rust)
For CISA memory-safety roadmap compliance. Produces a CISA-format roadmap markdown + per-module ADR stubs.
kaizen memsafe-roadmap ./my-c-lib \
--output roadmap.md \
--adr-dir ./adrs \
--glob "*" \
--provider openai
# Plain mode (no --domain schema — sufficient for most cases):
kaizen memsafe-roadmap ./my-c-lib --plain -o roadmap.md
# With Rust code generation:
kaizen memsafe-roadmap ./my-c-lib --recompose --rust-output ./rust-port
Framework migration plan (.NET Framework → .NET 8, AngularJS → Angular, etc.)
kaizen migrate-plan ./legacy-csharp-project \
--from dotnet-framework --to dotnet8 \
--output migration-plan.md \
--provider openai
Supported transitions: angularjs->angular, angularjs->react, jquery->react, dotnet-framework->dotnet8, dotnet-framework->dotnet9, python2->python3, spring4->spring-boot3, java8->java17, java8->java21.
Dry-run first
kaizen memsafe-roadmap ./my-c-lib --dry-run
kaizen migrate-plan ./project --from angularjs --to angular --dry-run
Prints the planned pipeline steps without calling any LLM. Use it to check paths, glob patterns, and provider settings before spending tokens.
Why this instead of one-shot AI coding tools?
Measured on 2 case studies at temperature=0:
| Case study | One-shot LLM (compiles?) | Kaizen plain ADR (compiles?) |
|---|---|---|
inih C → Rust (522 LOC) |
❌ 6 cargo check errors |
✅ 1 error (minor gap) |
Nancy NancyContext.cs .NET Fx → .NET 8 (148 LOC) |
❌ 14 dotnet build errors |
✅ 0 errors |
The ADR-as-contract closes ~83–100% of the "will it compile?" gap that one-shot LLMs leave open. The --domain memory-safe / --domain framework-migration schema flags add enterprise-tier plan-document richness (CISA-format roadmap, API-contract tables, dependency upgrade paths) on top.
The one-shot baseline control is shipped with the CLI — run oneshot_baseline.py on the same source to measure the delta on your own code.
Positioning vs. alternatives
- vs. LegacyLeap (full-lifecycle enterprise modernization platform) — we ship only the ADR + recompose pieces; cloud-agnostic; developer-led distribution.
- vs. Amazon Q Developer Transform (Java 8 → 17 auto-upgrade) — we're LLM-agnostic (Anthropic or OpenAI), cloud-agnostic (runs on a laptop or air-gapped), cover broader language pairs, and expose the ADR as editable intermediate.
- vs. Google Jules / OpenHands / SWE-agent (generic AI coding agents) — we're synchronous + deterministic (
temperature=0default); auditable ADR artifact; different trust model for architecture-driven workflows where compliance is the goal architecture serves.
The ADR-as-contract claim, measured
Three-arm ablation (case study):
- One-shot LLM (no pipeline): 6 errors on
cargo check. - Kaizen plain ADR (no domain schema): 1 error. +5 errors closed by the ADR alone.
- Kaizen +
--domain memory-safe: 0 errors. +1 additional error closed by the domain schema.
The plain ADR pipeline captures ~83% of the measurable value. The domain schemas are enterprise polish. Commercially, this is an open-core model: free plain ADR, paid domain schemas + audit-log + air-gapped deployment.
License
Apache-2.0. See LICENSE.
Contributing / Issues
https://github.com/Kaizen-3C/kaizen-cli
Status
1.0.0 — Alpha. CLI subcommands memsafe-roadmap, migrate-plan, run, priors, status are end-to-end. PyPI package bundles the pipeline scripts via sdist for now; Phase C will move them under cli/pipeline/ as a proper subpackage.
Case studies:
- inih C → Rust (Phase A, three-arm)
- Nancy
NancyContext.cs.NET Fx → .NET 8 (Phase B, three-arm) - adr-tools bash → Python (prior-session cross-language reference)
See docs/markets/ for the product wedge docs (memory safety + framework modernization) and ARCHITECTURE_VALUE_MATRIX.md for the honest value claims backed by data.
Metadata
Release files for kaizen-3c-cli 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kaizen_3c_cli-1.0.4.tar.gz | 622.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kaizen_3c_cli-1.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / kaizen_3c_cli-1.0.4.tar.gz
| Download URL | kaizen_3c_cli-1.0.4.tar.gz |
|---|---|
| Size | 622.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7b74413a130ba91bb268f57b5a0f7adee238236e73df8dbef608aff53a87783
|
|
BLAKE2b-256 checksum How to use checksums |
f32464125d503e756d1e40e560f0e0f87653654d21eec65fd3c9c69d8dcab4a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency logRelease files / kaizen_3c_cli-1.0.4-py3-none-any.whl
| Download URL | kaizen_3c_cli-1.0.4-py3-none-any.whl |
|---|---|
| Size | 647.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0dfda1dafabea83d95298ad8602e4c38cc568a54f0d7dfe0f7fe03317063d626
|
|
BLAKE2b-256 checksum How to use checksums |
6c782b1bc1793721112841e0e4d4328098e802aa267f5098db6cde73de97886c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency log