REA
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Checks TypeORM migrations for data loss, table locks, and deploy problems before they run.
Pick the AI app you use, then copy the settings.
Passed 2/2 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
SettingsDeveloperEdit Config
{
"mcpServers": {
"orm-preflight": {
"command": "npx",
"args": [
"-y",
"orm-preflight",
"mcp"
]
}
}
}Use orm-preflight and tell me what you can do for me, then show me one thing✓ If Claude says it is using orm-preflight or shows a orm-preflight tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect orm-preflight yet
orm-preflight runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect orm-preflight
B · Others in Developer tools that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user orm-preflight -- npx -y orm-preflight mcpYou should see orm-preflight listed as connected
Use orm-preflight and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using orm-preflight or shows a orm-preflight tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Use orm-preflight and tell me what you can do for me, then show me one thing✓ If Cursor says it is using orm-preflight or shows a orm-preflight tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Use orm-preflight and tell me what you can do for me, then show me one thing✓ If VS Code says it is using orm-preflight or shows a orm-preflight tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Claude Code
claude mcp add --scope user orm-preflight -- npx -y orm-preflight mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"orm-preflight": {
"command": "npx",
"args": [
"-y",
"orm-preflight",
"mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"orm-preflight": {
"command": "npx",
"args": [
"-y",
"orm-preflight",
"mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"orm-preflight": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"orm-preflight",
"mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: orm-preflightBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 12, 2026
The registry name was verified with the GitHub account sikandar100, which owns the repo
Code last changed yesterday
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed yesterday, and the latest version (1.2.0) reached the registry 28 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Preflight safety checks for TypeORM migrations: catch data loss and locking before you merge.
Documentation: https://sikandar100.github.io/orm-preflight/
Changing a column's length in TypeORM can delete all of its data. When a column's type or length changes, TypeORM's migration generator drops the column and adds it again (typeorm/typeorm#3357). The migration looks harmless in review and passes every test on an empty database. orm-preflight catches that, and other migrations that lose data, lock busy tables, or break a rolling deploy, before you merge.
src/migrations/1727100000000-WidenUserName.ts
7:30 error no-drop-and-recreate-column "users"."name" is dropped and re-added in the same migration. Every existing value in this column will be lost. Why: TypeORM drops and re-adds a column when its type or length changes, instead of changing it in place. The new column starts empty. Safe: Change the type in place: ALTER TABLE "users" ALTER COLUMN "name" TYPE varchar(255). Widening a varchar, or changing varchar to text, does not rewrite the table. ... Docs: https://github.com/sikandar100/orm-preflight/blob/main/docs/rules/no-drop-and-recreate-column.md
8:30 error no-add-not-null-without-default "users"."name" is added as NOT NULL without a default. The migration fails as soon as "users" has any rows. ...
2 errors, 0 warnings in 1 migration
npm install --save-dev orm-preflight
npx orm-preflight "src/migrations/*.ts"
Node.js 20 or newer. Without arguments, orm-preflight checks the migrations globs from its config, or every migrations folder in the project.
To start on an existing project without fixing its history, run npx orm-preflight init first (see Adopting on an existing project).
| Rule | Reports |
|---|---|
| Data loss | |
no-drop-and-recreate-column | A column dropped and added again in one migration |
possible-rename-data-loss | One column dropped and another added, with no data copied (warning) |
no-drop-column | A dropped column |
no-drop-table | A dropped table |
no-truncate | TRUNCATE or clearTable() |
no-truncating-type-change | A type change whose USING keeps only part of each value, such as left() (warning) |
no-delete-rows | A DELETE on an existing table (warning) |
no-null-out-column | An UPDATE that only clears columns, setting them to NULL (warning) |
rewrites-existing-rows | Every UPDATE, upsert, or INSERT ... SELECT on an existing table, for review (info) |
typeorm/no-changecolumn-recreate | changeColumn() that drops and re-adds the column |
| Deploy safety | |
no-rename-column | A renamed column |
no-rename-table | A renamed table |
| Locking (PostgreSQL) | |
require-concurrent-index | CREATE INDEX without CONCURRENTLY |
concurrent-index-transaction | CONCURRENTLY where it runs inside a transaction |
no-add-not-null-without-default | A NOT NULL column added without a default |
no-volatile-default | A column added with a volatile default, or as serial, identity, or generated |
no-unsafe-column-type-change | A column type change that rewrites the table |
require-not-valid-foreign-key | A foreign key added without NOT VALID |
no-set-not-null | SET NOT NULL on an existing column |
require-not-valid-check | A CHECK constraint added without NOT VALID |
validate-in-same-transaction | VALIDATE CONSTRAINT in the same transaction as its NOT VALID add, where it gains nothing (warning) |
require-concurrent-unique | A unique constraint or primary key added in place |
require-concurrent-index-drop | DROP INDEX without CONCURRENTLY (warning) |
no-blocking-maintenance | VACUUM FULL, CLUSTER, or REINDEX without CONCURRENTLY |
enum-value-used-in-same-transaction | A new enum value used before the transaction that adds it commits |
require-lock-timeout | A change to an existing table without lock_timeout (off, opt-in) |
typeorm/no-enum-recreate | TypeORM 0.3's enum change by recreating the type (warning) |
| Correctness | |
typeorm/transaction-override-forbidden | transaction set on a migration in transaction mode "all" |
typeorm/invalid-migration-name | A migration name without a 13-digit timestamp |
unanalyzable-statement | A statement orm-preflight could not read (warning) |
| [invalid-suppression](https://github.com/sikandar100/orm-preflight/blob/main/docs/rules