Releases: f/to-wordpress
Release list
v0.5.6
Highlights
- Adds README screenshots for the main migration TUI and Tune the Press flow.
- Keeps the current classic-theme + shortcode migration direction documented clearly.
- Includes the latest agent fixes and tuning flow from the 0.5.x line.
Included in the 0.5.x line
- Claude Code is the default agent, with Copilot and Codex also supported.
- Agent adapters live under
src/agents/. - Classic PHP theme generation with shortcode-based reusable parts.
- Jekyll
_plugins/*.rbsource is passed into the plugin phase for custom endpoint/generator migration. - Verify and Testfix check menu URLs, homepage links, important endpoints, and PHP/WordPress error text.
- Tune the Press post-run flow: draft a tune plan, confirm with
Y, and stream implementation logs into Press. - Animated Cantos running indicators and persisted sidebar state on rerun.
- Copilot model-name normalization (
claude-opus-4-7→claude-opus-4.7).
Verification
- Typecheck passed.
- Test suite passed: 36/36.
- Build passed.
v0.3.2 — Test & Fix final phase + fidelity upgrades
What’s new
- Added a new final
testfixphase (Test & Fix) after Verify/Fix. - The phase endpoint-tests the migrated WordPress site and catches:
- 404 responses
- 500 responses
- request timeouts
- network failures
- fatal-error markers in rendered HTML
- Added a fully agentic repair loop for endpoint failures using Copilot and automatic re-test passes.
Reliability and fidelity upgrades
- Added post-theme refinement loop to close visual structure gaps against prerendered source output.
- Improved stream token concatenation in both TUI and headless output (fixes broken chunk spacing/line artifacts).
- Added migration-complete summary card/output with:
- site URL
- admin URL
- username
- password
Internal updates
- Phase model/state/ETA now includes
testfix. - Migration state loader now backfills missing phase entries for older state files.
- Default package/CLI release version bumped to
0.3.2.
v0.3.1 — Copilot-assisted phase repair
Copilot-assisted repair on phase failure
When any phase fails the retry prompt now defaults to handing the error (plus the last ~120 log lines) to Copilot CLI with a dedicated + "repair.md" + prompt. Copilot diagnoses the root cause, makes a surgical fix inside + "theme//plugin// normalized content / workdir" +, and then the outer loop re-runs the failing phase.
New prompt options on failure
- Retry (ask Copilot to diagnose & patch first) — default.
- Retry without Copilot repair — use when you fixed it by hand.
- Skip and continue — unchanged.
- Abort migration — unchanged.
Changes
+ "src/prompts/repair.md" +— phase-aware diagnostic checklist covering detect / plan / boot / theme / plugin / normalize / import / verify / fix. Includes the common+ "import.phpwp-env-mapping failure" +with explicit remediation (check+ ".wp-env.jsonmappings forwp-content/to-wordpress" +, run+ "npx @wordpress/env start --update" +, verify in-container with+ "ls" +).+ "src/phases/repair.ts" +—+ "runRepair(ctx, bus, { phase, error, attempt })" +. 10-minute timeout, 30-continue autopilot cap; its own failures are non-fatal so the user never gets deadlocked.+ "src/tui/bus.ts" +— 400-entry tail ring buffer exposed via+ "recentLogs(n, phase)" +so the repair prompt gets real log context, not just a one-line error.+ "src/cli.tsx" +— new prompt options wired in; honors+ "--skip-copilot" +as a bypass.
Upgrade
Already using + "npx to-wordpress" + ? Nothing to do — + "npxalways resolves the latest tag." +
+ "```bash\nnpx to-wordpress@latest\n```" +
v0.3.0 — Ingest anything
Ingest anything
to-wordpress now migrates far beyond SSGs. Point it at a spreadsheet, a folder of Word docs, a library of PDFs, a GitHub repo's README, a WordPress WXR export, a Medium or Substack dump, or an EPUB and you'll get a working WordPress site.
14 new detectors
- SSG frameworks: `hexo`, `astro`, `docusaurus`, `mkdocs`
- CMS / platform exports: `wp-wxr`, `medium-export`, `substack-export`
- Raw documents: `docx-folder`, `xlsx-sheet`, `pdf-folder`, `epub-book`, `text-folder`
- Generic: `markdown-folder` (Obsidian/Notion), `github-repo` (README → landing page)
11 per-format conversion prompts
For every binary/tabular source format, a dedicated `convert-.md` prompt tells Copilot how to extract text (pandoc / pdftotext / openpyxl / etc.), what to write, how to populate front matter, and a self-check list. Live in `src/prompts/`.
New pipeline step
`src/phases/convert.ts` runs before `normalize` and drives Copilot with the matching prompt for every raw source, writing canonical markdown into `WORDPRESS_MIGRATION/converted//` then handing it off to the regular normalize loop unchanged.
Detector briefing
Every detector now emits a one-paragraph `detectorBriefing` that is threaded into the `plan`, `theme`, and `plugin` prompts so Copilot knows — for example — to produce a SaaS landing page when migrating a GitHub repo, not a blog.
Install
```bash
npx to-wordpress@latest ./path/to/any/source
```
Full changelog: v0.2.0...v0.3.0