Skip to content

feat: v0.0.1-beta.3 — Local dev, clone, cross-platform, PHP settings#2

Open
vikasiwp wants to merge 6 commits intomainfrom
fix/release-notify-first-run
Open

feat: v0.0.1-beta.3 — Local dev, clone, cross-platform, PHP settings#2
vikasiwp wants to merge 6 commits intomainfrom
fix/release-notify-first-run

Conversation

@vikasiwp
Copy link
Copy Markdown
Contributor

Summary

Local Development (WordPress Playground)

  • local create — spin up local WordPress sites (zero Docker, uses WASM PHP + SQLite)
  • local clone <cloud-site> — full clone from InstaWP cloud (files + MySQL→SQLite DB import)
  • local start/stop — foreground or --background mode with PID tracking
  • local push/pull — incremental rsync between local and cloud sites
  • local list — shows running/stopped status and file path
  • local delete — clean removal

Clone Flow

  • MySQL dump export via SSH → convert with mysql2sqlite → import into SQLite
  • Table prefix rename (iwp576f_wp_) including meta keys and option names
  • Full URL search-replace across all tables (cloud URL → localhost)
  • AST SQLite driver (WP_SQLITE_AST_DRIVER=true) for WooCommerce compatibility
  • Auto-login via Playground blueprint login step with actual admin username
  • Non-core root files (CLAUDE.md, .htaccess, etc.) pulled alongside wp-content

Site Management

  • sites php <site> — view/update PHP version and settings (memory_limit, max_execution_time, etc.)
  • sites update <site> — update label, description, expiration
  • create --wp <version> — WordPress version selection
  • sites list — 50 per page default, --all flag, pagination hints

Teams

  • teams switch <team> — client-side team context (injects team_id on all API calls)

Cross-Platform (Windows)

  • SSH key generation: removed /bin/sh and yes | pipe
  • whichwhere on Windows for command detection
  • Skip stty sane on Windows
  • Platform-specific rsync install messages
  • --api flag fix: extracted from passthrough args so it works at any position

Other

  • Site resolver: 10-minute cache for name→ID lookups
  • rsync: --itemize-changes (only shows actually changed files)
  • Login: shows user name and team after success
  • Magic login URL: fixed to use /wordpress-auto-login?site={hash}
  • Terminal reset: stty sane after Playground exits (macOS/Linux)

Changelog (v0.0.1-beta.3)

  • feat: Local WordPress development via WordPress Playground
  • feat: Clone InstaWP cloud sites to local (files + database)
  • feat: Push/pull wp-content between local and cloud
  • feat: Background mode for local servers (--background / local stop)
  • feat: sites php — view and update PHP version/settings
  • feat: sites update — update site label, description, expiration
  • feat: teams switch — client-side team context
  • feat: create --wp — WordPress version selection
  • feat: Login shows user and team info
  • fix: Windows SSH key generation (cross-platform)
  • fix: --api flag on exec/wp commands
  • fix: Magic login URL format
  • fix: rsync output (only changed files)

Test plan

  • 148 unit tests passing
  • instawp local create on macOS
  • instawp local clone <site> with WooCommerce site
  • instawp local push/pull incremental sync
  • instawp exec <site> ls -la --api (flag at end)
  • instawp sites php <site> view and update
  • instawp create --name test --wp 6.8 --php 8.2
  • Windows: instawp login, instawp exec <site> --api, SSH key gen

🤖 Generated with Claude Code

vikasprogrammer and others added 3 commits March 23, 2026 20:23
- Local dev: create, clone, start, stop, push, pull, list, delete
- Clone flow: full site clone from InstaWP cloud (files + MySQL→SQLite DB)
- Background mode: --background flag with PID tracking and local stop
- Teams: client-side team switch with team_id injection on all API calls
- Sites list: 50 per page default, --all flag, pagination hints
- Site resolver: 10-minute cache for name→ID lookups
- Rsync: --itemize-changes (only shows changed files)
- Auto-login: finds first admin user, works with cloned sites
- AST SQLite driver: WP_SQLITE_AST_DRIVER=true for WooCommerce compat
- Vendor: mysql2sqlite (MIT, dumblob/mysql2sqlite) for DB conversion
- Terminal: stty sane after Playground exits

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ments

- Windows: fix ssh-keygen (remove /bin/sh, yes pipe), use where instead of which
- Windows: skip stty sane, platform-specific rsync install messages
- exec/wp: fix --api flag being swallowed by passThroughOptions
- sites php: view and update PHP version/settings via PATCH endpoint
- sites update: update site label, description, expiration
- create: add --wp flag for WordPress version selection
- login: show user name and team after successful login
- magic login: fix URL to use /wordpress-auto-login?site={hash}
- local clone: add --force to overwrite existing, --include for rsync patterns
- local pull: add --include flag for rsync patterns
- local stop: new command to stop background servers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude Bot commented Apr 12, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude Bot commented Apr 12, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude Bot commented Apr 12, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude Bot commented Apr 12, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants