You don't need more architecture. You need less.

Systems grow.
Good systems prune.

Audit your system. Classify every element. Remove what should not exist. In the next 60 seconds.

RUN PRUNE NOW

Audit your system in 60 seconds.

No install required. Copy this prompt. Paste it into ChatGPT, Claude, or Cursor. Add your codebase structure. Get a reduction plan.

1Copy the prompt below
2Paste into any AI assistant
3Append your codebase structure, module list, or architecture description
zengineer — System Audit Prompt
You are zengineer, a subtractive systems auditor.

Audit the system I describe below:

1. List every module, component, function, and dependency
2. Classify each as: living, dead, dormant, duplicated, decorative, or parasitic
3. Apply the 5 filters to each:
   0. Can this be removed entirely?
   1. Is this essential?
   2. Is this symbiotic?
   3. Is this traceable?
   4. Is this removable later?
4. Output:
   - Classification table
   - Health score (% living)
   - Ranked removal plan (highest impact, lowest effort first)
   - Expected outcome after changes

Be precise. Be severe. Recommend removal by default.

Here is my system:

PROOF

We ran PRUNE on a production React dashboard.

Real codebase. 8 engineers. 2 years of accumulated structure. 4-minute audit.

Before

Modules42
Dependencies18
Abstraction layers6
Lines of code11,400

After

Modules
19-55%
Dependencies
9-50%
Abstraction layers
2-67%
Lines of code
5,200-54%
Regressions: 0
Audit time: 4 min
Health: 43% → 91%

THE PROBLEM

The problem isn't building.
It's that we never stop.

Systems accumulate. Features compound. Abstractions layer. And nobody is accountable for what should not exist.

Dead code
Dormant features
Duplicated logic
Decorative abstractions
Parasitic dependencies
Uninspected complexity

They persist because removal is never the default action.

HONEST

What PRUNE will break.

Will break

  • Over-engineered abstractions that feel like progress
  • Unnecessary wrapper layers nobody asked for
  • Duplicated logic hiding behind different names
  • Dependencies you forgot you had
  • The illusion that your system needs all of this

Will not break

  • Core functionality — living elements are preserved
  • Load-bearing architecture — essential passes the filters
  • Anything classified as living and symbiotic
  • Your ability to ship — it gets faster
  • Your confidence — every remaining element earns its place

THE METHOD

A five-step subtractive discipline.

01
Observe
Map the system without judgment.
02
Diagnose
Classify every element.
03
Decide
Apply the filters.
04
Act
Remove, merge, rename, simplify.
05
Reflect
Verify coherence.

THE AGENTS

Two agents. One discipline.

zengineer
The Auditor
  • Observes and maps system structure
  • Classifies elements: living, dead, dormant, duplicated, decorative, parasitic
  • Produces compressed system diagnosis
  • Recommends exact removal, merge, and rename actions
zendev
The Builder
  • Builds only from essential surviving elements
  • Composes from existing primitives
  • Refuses abstraction unless justified
  • Implements only what passes all filters

THE FILTERS

Five questions. Before anything is kept.

0Can this be removed entirely?
1Is this essential?
2Is this symbiotic with the rest of the system?
3Is this traceable to a clear purpose?
4Can this be removed later without cascading damage?

THE PACKAGE

Install the runtime. Run it on anything.

Programmatic system audits. TypeScript. Zero dependencies. 13KB.

npm install prune-systems
audit.ts
import { audit, formatDiagnosis } from 'prune-systems';

const diagnosis = audit({
  system: 'my-app',
  elements: modules,
  mode: 'audit',
});

console.log(formatDiagnosis(diagnosis));
// → System Diagnosis: my-app
// → Health: 57% | 14 elements | 3 dead | 2 duplicated | 1 parasitic
// → Recommended: 5 removals, 2 merges. Projected health: 89%
v0.1.0TypeScriptCJS + ESMMIT LicenseFull API docs →

“Isn't this just deleting code?”

Yes. But correctly.

Most teams don't lack features. They lack restraint. PRUNE doesn't guess what to remove. It classifies, filters, and ranks. Every removal is traceable. Every action is justified.

“We don't have a bloat problem.”

Run the audit. Then decide.

Every team we've seen says this. Every audit finds 30-60% of structure that fails the five filters. The bloat isn't obvious — that's why it persists.

“What if we remove something important?”

That's what the filters prevent.

Essential elements pass. Symbiotic elements pass. Load-bearing architecture passes. PRUNE targets what is dead, dormant, duplicated, decorative, and parasitic. If it's alive and connected, it stays.

“Subtraction is a feature.”

Start pruning.

Copy the prompt and run it now. Or install the package and automate it.