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.
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
After
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.
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.
THE AGENTS
Two agents. One discipline.
- Observes and maps system structure
- Classifies elements: living, dead, dormant, duplicated, decorative, parasitic
- Produces compressed system diagnosis
- Recommends exact removal, merge, and rename actions
- 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.
THE PACKAGE
Install the runtime. Run it on anything.
Programmatic system audits. TypeScript. Zero dependencies. 13KB.
npm install prune-systemsimport { 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%“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.