Improve your codebase. Keep the final say.
KyZN runs real linters, coordinates specialist reviews, and applies fixes in independently verified batches. You review before anything merges.
The Problem
Improving code with AI is still manual
KyZN coordinates the workflow with one command. The final diff review stays yours.
8Manual steps every time
1One coordinated workflow
Profile the repo. Run specialist reviews. Build consensus. Apply and verify fixes in severity batches. Review the resulting changes before merging.
Get Started
Install with one command
One command. Works on macOS and Linux.
$ curl -fsSL https://raw.githubusercontent.com/bokiko/KyZN/main/install.sh | bashFirst run
kyzn doctor— Check prerequisiteskyzn measure— Static repository score — no project commands runkyzn analyze— Read-only review — writes a report, no source changeskyzn fix --allow-unsafe-host-execution— Deep analysis + verified fixesWhy the flag: KyZN has no container or VM isolation yet. A mutating run executes your repository’s own build and test commands, and AI-generated changes, with your user permissions. The acknowledgement applies to that single invocation and is not stored — no config setting or environment variable can grant it.
Requires: git, gh (GitHub CLI), claude (Claude Code), jq, yq, Bash 4.3+, plus the toolchain for your language. macOS users need brew install bash. Optional: kyzn init saves settings — interactive runs prompt without it.
Pipeline
How it works
From detection to verified changes. Mutating runs need an explicit per-run acknowledgement, and merging remains manual.
Detect
Identifies project type from package.json, pyproject.toml, Cargo.toml, go.mod, .csproj/.sln, pom.xml or build.gradle — with a generic fallback
Measure
Static repository signals always; with the host-execution flag, real tools too (eslint, ruff, clippy, go vet, dotnet, Maven/Gradle)
Analyze
Specialist reviews examine security, correctness, performance and architecture; consensus deduplicates and ranks findings
Fix
Sonnet implements fixes in severity batches — CRITICAL first, LOW last — with build verification after each
Verify
Each severity batch is verified independently. A failed batch gets one repair attempt, then is reverted. If verification cannot run, KyZN stops without opening a PR
Open a PR
KyZN pushes verified changes to an isolated kyzn/ branch and opens a pull request when GitHub access is available. Merging remains manual
Efficiency
More value per token
Every Claude invocation is budgeted, scoped and stateless by design. These are the mechanisms.
Structured JSON input
Linter output is parsed into scored JSON — Claude gets signal, not 200 lines of raw tool output
Mode constraints
Deep mode instructs the model to prefer a few high-impact fixes over cosmetic churn like renames and reformatting
Read-only analysis
Specialist agents only get Read/Glob/Grep — zero tokens spent on exploratory edits during analysis
Cached profiler
Repo conventions are profiled once per commit SHA and reused across runs
Consensus dedup
Specialist reviews may flag the same issue — consensus removes duplicates before the fix phase starts
Hard budget caps
Every Claude invocation has --max-budget-usd and --max-turns enforced
Stateless sessions
--no-session-persistence on every call — no cross-run context bloat accumulating
Structured fix plans
A finding may carry a fix plan — target file, function and pattern to follow — giving the fix agent a concrete starting location
Features
Everything you need
From health scoring to pull requests ready for review. Pure Bash, driven by Claude Code.
Health Scoring
5 weighted categories out of 100: security (25%), testing (25%), quality (25%), performance (15%), documentation (10%). Static repository signals by default; real language tooling once you allow host execution.
Deep Analysis
The standard profile runs four Opus specialist reviews in parallel — security, correctness, performance, and architecture. Single-reviewer and focused modes are also available. Consensus deduplicates and ranks findings.
Auto-Fix
Sonnet implements fixes in severity batches with build verification after each. If a fix breaks the build, reflexion retry gives it a second chance with error output.
Safety Model
Layered by design: branch isolation, per-language tool allowlists, file restrictions, budget caps, verification gates and secret detection.
Host-Execution Gate
quick, improve, fix and doctor --install refuse to start unless that run passes --allow-unsafe-host-execution. No config setting or environment variable can grant it, because KyZN has no container or VM isolation yet.
Review Workflow
kyzn history lists recorded runs, kyzn diff shows what a run changed, and kyzn approve/reject records your verdict; a rejection can include a reason.
Languages
Built-in support for 6 ecosystems
Real tools, not LLM guesses. Each language uses its native linters, type checkers, and test runners.
Node.js
eslint, tsc, vitest/jest, npm audit
Python
ruff, mypy, pytest, pip-audit
Rust
clippy, cargo test, cargo audit
Go
go vet, go test, govulncheck
C# / .NET
dotnet build, dotnet test, dotnet list package
Java / JVM
Maven or Gradle build/test, dependency-check
Plus a generic measurer that works on any project type for general analysis.
Safety
Layered protection
KyZN runs AI with real tool access on your code, on your host. These are the constraints that apply.
Host-Execution Gate
- No container or VM isolation yet — this is the reason for the gate
- quick, improve, fix / analyze --fix and doctor --install refuse to start without --allow-unsafe-host-execution
- The acknowledgement is per invocation and is never stored
- kyzn analyze and static kyzn measure run without it and change no source
- Recurring mutating schedules cannot be created; kyzn schedule off still removes legacy ones
Isolation
- All changes on kyzn/ branches — never touches main
- Git hooks disabled via core.hooksPath=/dev/null
- Rejects repos with symlinks escaping the repo root
- Autopilot is disabled — every generated PR waits for human review
Access Control
- Per-language tool allowlists tightened to specific subcommands
- Claude cannot read ~/.ssh, ~/.aws, .env, key files, Terraform state
- CI workflow files unstaged by default
- Secret detection unstages .env, .pem, .key, and credential patterns
Budget & Limits
- quick/improve caps its configured budget at $25 and turns at 100 per Claude invocation; self-repair is a separate half-budget invocation. The accumulated run diff is capped at 10,000 lines.
- fix takes its own analysis and fix budgets, defaulting to $5 for the fix phase
- Every Claude invocation carries --max-budget-usd and --max-turns
- Configurable timeouts — 600s default for quick/improve, 900s for analysis and fix
Verification Gates
- quick/improve: red final verification never takes the success path — it routes to the configured on_build_fail strategy, plus an aggregate score gate and a 5-point per-category floor
- fix: each severity batch is verified independently, gets one repair attempt, and is reverted if still red
- on_build_fail: draft-pr may open a clearly marked draft PR of a red result — but never when verification could not run at all
- Pinned binary downloads are SHA256-verified where a published checksum exists for the platform; packages installed via apt or brew are verified by those tools, not by KyZN
Full threat model available in SECURITY.md
Open Source
Contribute to KyZN
KyZN is early-stage and actively developed. Whether it's a bug fix, a new language measurer, or a pipeline idea — contributions are welcome.
New Languages
Add measurers for Ruby, PHP, Elixir, and more
measurers/ — follow python.sh as a template
Measurers
Improve scoring accuracy, integrate new tools
measurers/*.sh
Analysis Prompts
Better specialist prompts, fewer false positives
templates/
Safety
New edge cases, threat model gaps
lib/execute.sh + SECURITY.md
Tests
Cover untested paths, add new edge cases
tests/selftest.sh
Docs
Improve guides, add examples and tutorials
README.md + docs/
Found a bug or have an idea?
Use our issue templates to report bugs or request features.
See CONTRIBUTING.md for conventions, commit format, and PR guidelines.
Start improving your codebase today
Measure for free, analyse without touching your source, and review verified fixes before anything merges.