Skip to content

Update My WordPress blueprint#180

Open
akirk wants to merge 24 commits intoWordPress:trunkfrom
akirk:add-recipes
Open

Update My WordPress blueprint#180
akirk wants to merge 24 commits intoWordPress:trunkfrom
akirk:add-recipes

Conversation

@akirk
Copy link
Copy Markdown
Member

@akirk akirk commented May 4, 2026

Summary

Builds out the My WordPress blueprint with a curated library of use-case walkthroughs ("recipes") and a catalogue of vetted plugins,
plus delegates the welcome flow to the new my-apps launcher.

What's new

  • blueprints/my-wordpress/recipes.json — curated, step-by-step walkthroughs that combine plugins, apps, and admin links into a guided
    setup (Family Blog, Family History wiki, etc.). Each step is typed (plugin / app / note / github) so the launcher can render them
    consistently.
  • blueprints/my-wordpress/plugins.json — annotated catalogue of plugins surfaced in the My WordPress launcher (network-privacy,
    family-wiki, friends, cookbook, memex, my-apps, …) with one-line descriptions, categories, and landing pages.
  • apps/memex.json — new Memex app entry (note-taking with [[wiki-links]], backlinks, daily notes, importers for
    Obsidian/Notion/Evernote/Roam) and registration in apps.json.

My WordPress blueprint changes

  • Installs the new my-apps launcher and lands on /my-apps/ instead of the old Tools → Welcome page.
  • Sets blogname to "My WordPress".
  • The bundled playground-welcome plugin is slimmed down: the interactive welcome dialog (PHP page + CSS + AJAX handler) is removed in
    favor of the my-apps plugin handling onboarding. The plugin now only swaps the default Hello World post / Sample Page for the welcome
    content.
  • Translations (de_DE, es_ES, pl_PL, pt_BR, .pot) are pruned to the strings that survived.
  • Welcome post copy drops the backup references that no longer apply on this host.

Apps catalogue

  • Removes apps/app-launcher.json (the launcher self-installs via my-apps now).
  • Renames playground-ai-assistant → ai-assistant (plugin repo was renamed); updates targetFolderName accordingly.
  • Curates auto-discovered plugin titles so the catalogue renders cleanly.

Test plan

  • Boot the My WordPress blueprint — lands on /my-apps/, blog name is "My WordPress".
  • Verify my-apps shows the recipes from recipes.json and the plugins from plugins.json.
  • Step through the Family Blog recipe end-to-end (install Network Privacy, Enable Mastodon Apps, Chat to Blog, Static Archive).
  • Step through the Family History recipe (Family Wiki + Secure Custom Fields, static homepage, first profile).
  • Confirm Memex installs from apps/memex.json and lands on /memex/.
  • Confirm AI Assistant still installs after the repo rename.
  • Spot-check the localized welcome posts (de, es, pl, pt_BR) — no broken strings, no stale backup references.

akirk added 23 commits April 28, 2026 18:20
Recipes are multi-step guides for common things people actually do
with WordPress — Build a Family Blog, Personal Reading Hub, Document
Family History, Stay in Touch, Customize with AI, and Bring Your
Data In. Each recipe has a hero (title, tagline, gradient, icon), a
description, and a list of steps. A step references one of:

- type: "app" with path: "apps/<name>.json" (a blueprint in this repo)
- type: "plugin" with slug: <wp.org slug>
- type: "github" with repo: "owner/name"
- type: "note" with optional url + url_label (instructional only)

Steps can be flagged optional (renders an Optional badge) or scoped
to a context ("self-hosted" — hidden in Playground / hosted networks
where the assumption doesn't apply, e.g. site privacy).

Designed to be consumed by app-launcher-style WP plugins that want to
present curated use cases alongside the apps catalogue. Initial
consumer: github.com/akirk/my-apps.
The App Launcher entry installs the my-apps plugin — but the launcher
that surfaces apps.json is already that plugin. Listing it as an
installable app is circular: you only see it because it's installed.

Removes the apps.json entry and the apps/app-launcher.json blueprint.
Both recipes.json and plugins.json are curated specifically for the
my-wordpress launcher (akirk/my-apps). Putting them in a
my-wordpress/ subdirectory keeps the repo root tidy and lets future
collaborators add related catalogue files (themes, etc.) without
cluttering the top level.

- Renames recipes.json -> my-wordpress/recipes.json
- Adds my-wordpress/plugins.json: curated wp.org / GitHub plugin
  metadata that the my-wordpress launcher surfaces in the
  Recommended Plugins tab and resolves recipe step references against.
…blueprint

blueprints/my-wordpress/ already contains the My WordPress welcome
experience (blueprint.json + plugin/). Putting the launcher's
recipes and curated plugins list in the same directory keeps all
my-wordpress-specific catalogue alongside its blueprint instead of
in a parallel top-level directory.
Old recipe sold the AI Assistant as a tool that dumps pasted text into
draft blog posts. The actual point is that it routes data into each
installed app's native format — Personal CRM contacts with phone /
cadence fields, Family Wiki pages with Person fields populated, RSS
subscriptions in Friends, bookmarks in Post Collection, and so on.

Tagline, description, and step copy all updated to lead with "the
right shape for each app" rather than "draft posts you clean up".
The connect-a-model and the paste-it-in steps now reflect that you
tell the assistant which app each chunk belongs in.
Step 2 was duplicating the per-app routing examples that step 4
already shows in prompt form. Keep the high-level claim in step 2
(reads each app's shape, writes records in native format) and let
step 4 carry the concrete "tell it where to land" examples.
humanizeSlug() in the launcher capitalises the first letter of each
dash-separated word — fine for most slugs but it produced 'Ai',
'Crm', 'Chat To Blog' for plugins that auto-extract from blueprints.
Curated entries always overwrite synthetic ones, so this fixes:

- akirk/playground-ai-assistant -> Playground AI Assistant (AI)
- akirk/chat-to-blog            -> Chat to Blog (Media)
- akirk/post-collection         -> Post Collection (Productivity)
- akirk/personal-crm            -> Personal CRM (Productivity)
- akirk/keeping-contact         -> Keeping Contact (Productivity)
- friends (wp.org)              -> Friends (Social)

Each gets a curated note plus the right category so they group
sensibly in the Recommended Plugins tab instead of all landing under
the synthetic 'Plugins' label. Authors switch from 'akirk' to
'Alex Kirk' for the GitHub-hosted ones.
…stant

The AI Assistant is already surfaced as an app (apps/ai-assistant.json),
so listing the underlying plugin in the curated plugins list as well
just duplicated the entry. Remove it from blueprints/my-wordpress/
plugins.json.

Update apps/ai-assistant.json to install from akirk/ai-assistant
instead of akirk/playground-ai-assistant — the repo has been
renamed; its installer slug, file paths, and target folder all
follow.
Adds an apps/recipes.json blueprint that installs akirk/recipes from
its dist/main branch (which carries vendored composer deps) and lands
on /recipes/. Registers the app in the top-level apps.json index and
in the my-wordpress plugins.json catalogue so it surfaces alongside
the other akirk apps.
Adds an apps/memex.json blueprint that installs akirk/memex from its
dist/main branch and lands on /memex/. Registers the app in the
top-level apps.json index and in the my-wordpress plugins.json
catalogue.

Note: the akirk/memex repo and its dist/main branch need to be
published for the install to resolve.
Install akirk/my-apps and route landing to /my-apps/, which now owns the
display-name + blogname onboarding flow. Strip the welcome plugin down to
just rewriting post 1 (Hello World) and post 2 (Sample Page) with the
provided HTML content; remove the admin page, AJAX handler, RSS importer,
and the now-unused CSS.
Drop the dialog/RSS-importer strings from the .pot/.po catalogs and add
"About this WordPress" translations (de/es/pl/pt_BR). Recompile .mo files;
each locale now has 2/2 translated.
The my-apps plugin doesn't provide backup functionality, so remove copy
that promised it: shorten the "install apps, manage backups, and more"
callout, and drop the "Back up your work" and "Backups" bullets across
en/de/es/pl.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 4, 2026

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Open WordPress Playground Preview

@akirk akirk changed the title Add recipes.json: curated WordPress use-case walkthroughs Update My WordPress blueprint May 4, 2026
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.

1 participant