Skip to content

baldiga/unpress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Unpress

Migrate your WordPress site to a modern AI-powered stack β€” in minutes, not months.

Quick Start MIT License PRs Welcome

What is Unpress? β€’ Features β€’ Architecture β€’ Quick Start β€’ How It Works β€’ Contributing


What is Unpress?

Unpress is an open-source MCP (Model Context Protocol) server that migrates WordPress websites to a modern, AI-powered stack:

From To
WordPress + PHP + MySQL Next.js + Sanity CMS + Vercel
Manual theme editing AI co-pilot that changes your site on command
$5–80/mo hosting Free tier for most sites

After migration, Claude stays as your site co-pilot β€” say "Change my header color" or "Add a testimonials section" and it just happens.


Features

πŸ”’ Safe & Non-Destructive

Your WordPress site stays completely untouched. Unpress only reads and copies content β€” it never modifies, deletes, or touches your live site.

🧠 Adaptive Onboarding

Three experience levels adapt the entire wizard:

  • 🌱 Novice β€” Full guidance with screenshots
  • ⚑ Medium β€” Key steps, less hand-holding
  • πŸš€ Expert β€” Just the input fields

🎨 Inspiration-Driven Design

Share 3–5 websites you love. Unpress analyzes their visual DNA (colors, fonts, layout, vibe) and generates a site that matches your taste β€” not a generic template.

πŸ€– AI Co-Pilot (Post-Migration)

Once deployed, Claude can modify your site on demand:

  • "Make the footer dark"
  • "Add a pricing page"
  • "Optimize for mobile"

πŸ’° Cost Calculator

Shows exactly what you'll pay (usually $0) with side-by-side WP hosting comparison



πŸ”„ 301 Redirect Map

Auto-generates SEO-preserving redirects from old WordPress URLs to new routes



πŸ‘€ Preview Gate

See your entire site before it goes live β€” approve or request changes



Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    MCP Server (unpress)                   β”‚
β”‚                                                           β”‚
β”‚  10 Tools: start Β· status Β· rollback Β· scan Β· wizard     β”‚
β”‚            decide Β· migrate Β· design Β· deploy Β· copilot  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Scan    β”‚ Migrate  β”‚ Design   β”‚ Deploy   β”‚  Copilot     β”‚
β”‚  Phase   β”‚ Phase    β”‚ Phase    β”‚ Phase    β”‚  Phase       β”‚
β”‚          β”‚          β”‚          β”‚          β”‚              β”‚
│ WP Client│ HTML→PT  │ Inspira- │ GitHub   │ Site changes │
β”‚ Cost Est β”‚ Schemas  β”‚ tion AI  β”‚ Vercel   β”‚ on demand    β”‚
β”‚ Manifest β”‚ Media    β”‚ Site Gen β”‚ DNS      β”‚              β”‚
β”‚          β”‚ Redirect β”‚          β”‚          β”‚              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β–²                                        β”‚
        β”‚         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚
        └─────────│  WordPress   β”‚               β–Ό
                  β”‚   Plugin     β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  (scanner)   β”‚     β”‚  Generated Site    β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚  Next.js + Sanity  β”‚
                                       β”‚  + Vercel          β”‚
                                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Monorepo Structure

packages/
  shared/            β†’ Types: Manifest, Phase, Checkpoint, Config, Errors
  unpress/           β†’ MCP server orchestrator (10 tools)
  unpress-scan/      β†’ WordPress scanning + cost estimation
  unpress-migrate/   β†’ Content migration pipeline
  unpress-wizard/    β†’ Next.js onboarding UI
  unpress-design/    β†’ Design phase (AI-powered)
  unpress-deploy/    β†’ GitHub + Vercel deployment
  unpress-copilot/   β†’ Post-migration AI co-pilot
plugins/
  unpress-wp/        β†’ WordPress plugin (scanner + REST API + trust badge)
templates/
  next-sanity/       β†’ Generated site template

Tech Stack

Layer Technology
Monorepo Turborepo + pnpm workspaces
Language TypeScript (strict mode, ES2022, NodeNext)
MCP Server @modelcontextprotocol/sdk
Frontend Next.js 16 + Tailwind CSS + shadcn/ui
CMS Sanity CMS (Portable Text, Studio)
Hosting Vercel (free tier for most sites)
WP Plugin PHP 8.0+, WordPress 6.0+
Testing Vitest (31 tests across 7 test files)

Quick Start

Prerequisites

  • Node.js 18+
  • pnpm 9+
  • A WordPress site you want to migrate

Install

# Clone the repo
git clone https://github.com/baldiga/unpress.git
cd unpress

# Install dependencies
pnpm install

# Build all packages
pnpm turbo build

# Run tests
pnpm turbo test

Use with Claude Desktop

Add to your Claude Desktop MCP config (claude_desktop_config.json):

{
  "mcpServers": {
    "unpress": {
      "command": "node",
      "args": ["path/to/unpress/packages/unpress/dist/index.js"]
    }
  }
}

Then tell Claude: "I want to migrate my WordPress site to a modern stack" and it will guide you through the entire process.


How It Works


Step 1

πŸ”Œ

Install WP Plugin


Step 2

πŸ”—

Connect Site


Step 3

πŸ“¦

Set Up Sanity


Step 4

πŸ™

Set Up GitHub


Step 5

β–²

Set Up Vercel


Step 6

🎨

Pick Design


Step 7

πŸš€

Launch!

  1. Install the WordPress plugin β€” scans your content, creates a secure read-only connection
  2. Connect your site β€” enter your URL, Unpress verifies the connection and shows what it found
  3. Set up services β€” Sanity (your new CMS), GitHub (your code), Vercel (your hosting)
  4. Choose your design β€” share websites you love, AI analyzes their visual DNA
  5. Review & launch β€” preview everything before it goes live, approve with one click

The entire process takes 15–45 minutes depending on site size.


MCP Tools

Tool Description
unpress_start Start or resume a migration session
unpress_status Get current migration progress
unpress_scan Scan WordPress site, generate manifest + cost estimate
unpress_wizard Launch the onboarding wizard UI
unpress_decide Submit user decisions for migration choices
unpress_migrate Migrate content to Sanity CMS
unpress_design Analyze inspiration sites + generate design
unpress_deploy Deploy to GitHub + Vercel
unpress_copilot Execute post-migration site changes
unpress_rollback Mark session for rollback

Development

# Build all packages
pnpm turbo build

# Run all tests (31 tests)
pnpm turbo test

# Watch mode for development
pnpm turbo dev

# Clean all build artifacts
pnpm turbo clean

# Lint
pnpm turbo lint

Package Dependencies

@unpress/shared (types)
    β”œβ”€β”€ @unpress/scan
    β”œβ”€β”€ @unpress/migrate
    β”œβ”€β”€ @unpress/design
    β”œβ”€β”€ @unpress/deploy
    β”œβ”€β”€ @unpress/copilot
    β”œβ”€β”€ @unpress/wizard
    └── unpress (MCP server) ← imports all phase packages

Roadmap

  • Core monorepo + shared types
  • MCP server with 10 tools
  • WordPress plugin (scanner, REST API, trust badge)
  • Scan phase (WP client, cost calculator)
  • Migrate phase (HTMLβ†’Portable Text, schemas, media, redirects)
  • Wizard UI (welcome page, skill levels)
  • Design/Deploy/Copilot stubs
  • Wizard steps 1–7 (full onboarding flow)
  • Design phase β€” Playwright analysis + AI site generation
  • Deploy phase β€” GitHub + Vercel API integration
  • Copilot phase β€” post-migration site changes
  • Live migration dashboard
  • End-to-end integration testing
  • WooCommerce support
  • Multi-language support (WPML/Polylang)

Contributing

Contributions are welcome! This is an open-source project and we'd love your help.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feat/amazing-feature)
  3. Write tests for your changes
  4. Make sure all tests pass (pnpm turbo test)
  5. Open a PR

License

MIT License. See LICENSE for details.



Built by Amir Baldiga β€’ Connect on LinkedIn

WordPress β†’ AI-powered websites, one migration at a time.

About

Open-source MCP server that migrates WordPress sites to Next.js + Sanity CMS + Vercel with AI-powered design and ongoing Claude co-pilot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors