corrupt-cli
by CorruptFun
README.md
# 💠Corrupt CLI - Master Infrastructure Engine

The **Corrupt CLI** is a zero-configuration scaffolding engine and Model Context Protocol (MCP) server. It instantly generates production-ready, white-labeled web architectures for local businesses and SaaS platforms.
Built by [Corrupt Solutions](https://corrupt.solutions).
## 🚀 The generators
Three white-label site generators. Full detail + a "which one do I pick?" guide in
[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md).
**Dealership / Local Service — two tiers:**
1. **Simple — `corrupt-dealership-engine/`**
- **Stack:** static HTML/JS/Tailwind + Python build. No backend.
- **What:** a fast brochure site with real lead capture. Edit a JSON, re-render,
drop `dist/` on any static host. Cheapest and fastest to ship.
2. **Pro — `corrupt-dealership-pro/`**
- **Stack:** Next.js + Supabase (Postgres/RLS, Auth, Storage, Edge Functions).
- **What:** the static site *plus* a real, RLS-secured admin portal — OTP login,
database inventory with photo uploads, credit-application inbox. Configured by
editing one config file + `.env` (no token replacement).
**Membership / Booking SaaS — `CorruptCLI-Engine/`**
- **Target:** Gyms, Salons, Clubs, member-based orgs.
- **Stack:** Next.js + Supabase + Deno Edge Functions; Stripe billing, scheduling,
RLS, optional liability waivers.
> `engine` vs `pro`: the Simple tier has **no backend** (static, edit-JSON-and-render);
> the Pro tier is a **full app** with a real admin and a database. Pick Simple for
> speed and zero infrastructure, Pro for a live admin and DB-backed inventory. See
> [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md).
---
## 💻 Human Installation
Run the following commands to install the CLI globally on your machine:
```bash
git clone https://github.com/CorruptFun/corrupt-cli.git
cd corrupt-cli
./install.sh
```
**Usage:**
Type `corrupt` in your terminal to launch the interactive selector.
---
## 🤖 AI Agent Installation (MCP Server)
This repository includes a native FastMCP server, allowing AI agents (Claude, Cursor, Hermes) to autonomously scaffold these architectures for you.
Add the following to your agent's `config.yaml` or MCP configuration:
```json
{
"mcpServers": {
"corrupt-cli": {
"command": "python3",
"args": ["/path/to/corrupt-cli/corrupt-mcp/server.py"]
}
}
}
```
**Available MCP Tools:**
- `scaffold_inventory_site`: Generates the Dealership/Local Service stack.
- `scaffold_saas_platform`: Generates the Supabase/Next.js Membership stack.
- `list_verticals` / `standup_site`: Stand up **any** Next.js + Supabase app —
scaffold, provision Supabase, deploy edge functions, deploy to Vercel, run the
security gate. See below.
- `create_vertical_pack`: Teach the server a new site type from an app you have.
---
## 🧩 Standing up any site — vertical packs
The stand-up automation is not dealership-specific. The engine
(`corrupt-mcp/standup_core.py`) knows Supabase and Vercel and nothing about any
business domain; the domain lives in a **vertical pack** — a directory with a
`vertical.json` naming the app template, the baseline migration, the config file
to generate, and the edge functions to deploy. The dealership is simply the first
pack.
**Already have a Next.js + Supabase app?** Wrap it:
```
create_vertical_pack(pack_path="~/packs/bistro", name="bistro",
template_dir="~/code/bistro-app", ...)
```
```bash
export CORRUPT_VERTICALS_PATH=~/packs
```
```
standup_site(vertical="bistro", target_path="~/sites/bistro-verde",
config_json='{"brand_name":"Bistro Verde", ...}')
```
**No schema yet?** Declare the domain as a *blueprint* and the compiler writes
the database for you — tables, RLS policies, admin allow-list, storage buckets,
notification trigger, Data API grants — plus a notification edge function and
TypeScript row types:
```
list_recipes # restaurant, services, realty, portfolio
preview_blueprint_schema(recipe="restaurant") # read the SQL, write nothing
create_vertical_from_blueprint(pack_path="~/packs/taqueria", recipe="restaurant")
```
Everything a blueprint declares is one of two shapes: a **catalog** the public
browses and admins write (vehicles, menu items, listings, services), or an
**inbox** the public submits into and only admins read (credit applications,
reservations, showing requests). Most local-business sites are exactly one of
each.
Generated schemas are applied to a real Postgres in the test suite, and their
access control is exercised as an anonymous visitor, a signed-in stranger, and an
admin — so the policies are checked, not just plausible.
> Agents: call `vertical_authoring_guide` first — it returns the decision tree,
> the field reference, and the rules as structured data.
Full guide — manifest reference, blueprints, placeholders, config emitters, what
the engine assumes, troubleshooting: [`docs/VERTICALS.md`](docs/VERTICALS.md).
---
## 📜 License & Usage
Created for the community by Corrupt Solutions.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues