# Markdown in Git. WordPress in charge.

Agents and any Git client work on ordinary .md files while your WordPress database remains the source of truth. Push MD checks roles, creates revisions, rejects stale pushes, and lets WordPress render the site.

Beta: Push MD is an early release for experimentation. Try it on a staging site first and keep your usual WordPress backups in place.

emulator:~/site trunk / WordPress remote

## Markdown files

Posts and pages appear as readable .md files for agents, diffs, and local editors.

## WordPress remote

Git clients clone directly from /wp-json/git/v1/md.git. There is no second repository to reconcile.

## Existing roles

Git over HTTPS uses WordPress authentication and respects current capabilities.

## Revisions

Accepted Markdown pushes go through WordPress APIs and create WordPress revisions.

## Use cases

Push MD is for teams that want Git-shaped work without moving the source of truth out of WordPress. Use any Git client for agent runs, local Markdown edits, and static-site-style publishing flows that still need WordPress roles and revisions.

### coding agents

Agents complete WordPress work through Git.

Give agents a normal checkout instead of a separate sync repo. WordPress coordinates each run through authentication, stale-state checks, and revisions.

  • [x] Clone supported content from WordPress with any Git client.
  • [x] Edit Markdown, block templates, and styles locally.
  • [x] Carry site guidance in AGENTS.md and SKILL.md.
  • [x] Push only after WordPress accepts the change.

Agent skills depend on WordPress Guidelines.

  1. Install and activate the Gutenberg plugin.
  2. Open the Gutenberg Experiments page and turn on the Guidelines experiment.

Once WordPress Guidelines are enabled, Push MD exposes skills as wp_guideline/skills/{slug}/SKILL.md and adds the usual agent entry points for local tools.

### static site generators

Static Site Generator or WordPress? Why not both?

If you like Astro, Jekyll, or a Markdown vault, use a local file tree while WordPress keeps handling previews, roles, rendering, publishing, and revisions.

  • [x] Write posts and pages as Markdown.
  • [x] Keep template parts as block HTML.
  • [x] Version Global Styles as JSON.
  • [x] Pull WP-Admin edits before the next local run.
post/*.md posts and revisions
page/**/*.md pages and hierarchy
wp_template_part/**/*.html Site Editor block markup
wp_global_styles/*.json Global Styles overlays

## FAQ

Short answers for the places where Git workflows usually get tangled with WordPress publishing, permissions, and revision history.

### Is WordPress still the source of truth?

Yes. Your WordPress database stays authoritative. Git clients read and write through Push MD, so there is no separate repository to reconcile.

### Does this work with any Git client?

Yes. Agents, terminals, desktop apps, and editors can use normal Git over HTTPS against the WordPress remote.

### How do agent skills become available?

Push MD stores agent skills as WordPress Guidelines. Today, that means the site needs the Gutenberg plugin installed and active, with the Guidelines experiment turned on from the Gutenberg Experiments page. After that, skills appear in the checkout under wp_guideline/skills/{slug}/SKILL.md, with generated aliases such as AGENTS.md for agent discovery.

### What happens when someone edits in WP-Admin?

WP-Admin edits become Git-visible on pull. If a local checkout is stale, Push MD rejects the push before writing over newer WordPress content.

### How do permissions work?

Push MD uses WordPress authentication and Application Passwords, then respects the current user's capabilities before accepting a write.

### Do pushes create revisions?

Accepted Markdown content pushes go through WordPress APIs and create WordPress revisions, so changes remain reviewable in the usual WordPress history.

### Is this a static site generator?

No. It gives you the local-file workflow people like in static site generators, while WordPress still handles previews, rendering, publishing, roles, and revisions.

## Clone WordPress like a Git remote.

Clone the public read-only remote for a first look. When you are ready to push back, install Push MD on your own WordPress site and authenticate with an Application Password.

  1. Try the read-only public remote from this site.
  2. Open the Markdown files with an editor or agent.
  3. Install the plugin on your WordPress site when you are ready to accept pushes.
git clone https://pushmd.blog/wp-json/git/v1/md.git my-site

The public remote is pullable for a first look. Pushes need the plugin on your own authenticated WordPress site.