The rules that run a business usually live in code nobody fully remembers. Extracted by hand, they take months and are out of date by the time they are written down.
In short
Business rules extraction is recovering the rules a system enforces — validations, conditions, limits, who may do what, how records change status — from its source code, so that people can review them, migrate them or change them safely. GitMir reads a repository into a model of its rules, status flows, customer paths and records, each traceable to the code it came from, and keeps that model current with every push. It reads TypeScript, JavaScript, Python, Ruby, Go, Java, Kotlin, C#, Swift, PHP, Rust and Dart, plus Vue, Svelte and Astro files today.
Before anything moves you need to know what it does and what depends on it — including the connections no import shows.
Who may do what, and under which conditions, written down from what the code actually enforces.
When the person who knew leaves, the rules stay in the code and the explanation goes with them.
An agent that does not know a rule will break it in a clean-looking diff.
| By hand | From a GitMir model | |
|---|---|---|
| How | Interviews, reading code, spreadsheets | Read from the repository |
| Traceable to code | Only if someone wrote the reference down | Every statement traces to the source it came from |
| Stays current | Until the next change | Updated on every push |
| Who can use it | People who read the document | People, in answers and a drawing; agents, over MCP |
What must hold, and where in the product it is enforced.
The states a record moves through and what moves it.
The steps people take, screen by screen.
What the product keeps, with its fields and how sensitive they are.
What changes, watches, grants or depends on what — across areas.
Statuses nothing enters or leaves, and steps that point at nothing — found without being asked.
An example from Supabase Studio: An unpaid invoice restricts the organization. Warning → grace period → restricted
COBOL and other mainframe languages are not read today. A repository that holds only compiled output is read with a notice that names may have been shortened; connect the source if you have it.
Work that is not committed is outside the model, and any part GitMir could not read is named as such — it costs nothing, and the next update reads it again.
The model of your product's rules, status flows and customer paths, current with every push.
Ghost dependencies, rules nobody wrote down, and the map of what depends on what before you move it.
The same, inside your own infrastructure, for many systems at once.
Recovering the rules a system enforces — validations, conditions, limits, permissions and status changes — from its source code, so that people can review, migrate or change them safely.
For the languages GitMir reads — TypeScript, JavaScript, Python, Ruby, Go, Java, Kotlin, C#, Swift, PHP, Rust and Dart, plus Vue, Svelte and Astro files — yes, from the repository, with each rule traceable to its source. COBOL and other mainframe languages are not read today.
Start from what the code enforces rather than what people remember: read the repository into a model of its rules, status flows and customer paths, review it with the people who know, and keep it current from the code instead of by hand.
Yes. Every statement in the model traces to the source it came from, and every answer names the commit it is current to.
Reading a repository uses credits — about 1 credit for 10 lines, so a repository of 200,000 lines is about 20,000 credits — and GitMir shows the estimate before it reads. A new account starts with 10,000 credits.
Read next
Legacy systems and migrations →Business logic, and why AI keeps rebuilding it →Migrate legacy software with AI →When the person who knew leaves →Architecture diagram from code →
More guides
CLAUDE.md and AGENTS.md →MCP server →Context engineering →Architecture diagram from code →Change impact analysis →Spec-driven development →PRD template →All guides →
Connect a repository and ask it in plain words — 10,000 credits to start, no card.