Auto Release Posts for GitHub
Auto Release Posts for GitHub monitors GitHub repositories for new releases and uses AI to research each release and generate a human-readable blog post about it. Posts can be automatically published or held as drafts for review, with email notifications when new posts are ready. Built on the AI Client API and Connectors introduced in WordPress 7.0 — configure your AI provider (Anthropic, OpenAI, Google, or any other connector) once under Settings → Connectors, and this plugin uses whatever you’ve set up. No AI API keys to manage in the plugin itself. How it works: Monitor — Add any GitHub repository and the plugin checks for new releases daily via WP-Cron. Generate — When a new release is detected, the AI researches the release and writes a blog post tailored to your audience. Publish — Posts are created as drafts for review, or published automatically based on your per-repository settings. You can also generate a post on demand at any time from the Repositories tab. Features: Monitor multiple GitHub repositories for new releases AI-powered post generation via WordPress Connectors — works with Anthropic, OpenAI, Google, and any other configured connector Significance-aware content — patch, minor, major, and security releases get tailored tone and structure Choose the research depth — Standard reviews release notes, linked issues and PRs, metadata, and the README; Deep adds commit messages and file changes since the last release SEO-friendly post slugs and excerpts generated automatically by AI Configurable publish/draft workflow with per-repository overrides Per-repository post defaults (categories, tags, post status) Choose your post title format — prefix with project name and version, version only, or no auto-prefix (let the AI write the full title in single-project sites) Generate posts on demand for any historical release — pick from a version dropdown when a repo has multiple releases; older releases are automatically backdated to keep the archive in chronological order Custom prompt instructions to guide AI writing style, tone, and voice Regenerate posts with feedback — refine AI output directly from the block editor sidebar Email notifications on draft creation, publication, or both Source attribution in the block editor — see which GitHub release generated each post Idempotency — the same release never creates duplicate posts Optional project link support — enter a URL or WordPress.org slug for download CTAs Optional pre-release tracking per repository — track stable releases by default, or opt in to include betas, release candidates, and other pre-release versions Monorepo support — per-repository tag patterns limit posts to selected packages (e.g. @headstartwp/core@*, @headstartwp/next@*) when one repository releases many packages For developers: Extensible via filter hooks at every stage of the pipeline Customize preferred AI models via the ghrp_wp_ai_client_model_preferences filter Override significance classification, prompt content, post terms, and post status per-release All prompt templates defined in code, versioned with the plugin Requirements: WordPress 7.0 or later PHP 8.2 or later At least one AI connector configured under Settings → Connectors (Anthropic, OpenAI, or Google recommended) Auto Release Posts for GitHub is an independent project. It is not affiliated with, endorsed by, or sponsored by GitHub, Inc. or the WordPress Foundation. “GitHub” and “WordPress” are used here for descriptive purposes only. External Services This plugin connects to external services to fetch release data and (via WordPress Connectors) generate post content. Each service is described below. GitHub REST API What it is: GitHub’s REST API (https://api.github.com) is used to read release data and repository metadata, and — when a Personal Access Token is configured — to list repositories the token can access. What is sent: HTTP requests to api.github.com containing the repository owner and name. If a GitHub Personal Access Token is configured (in the Settings tab, or via the GHRP_PAT constant or environment variable), the token is sent in the Authorization header. When it is sent: Daily via WP-Cron (configurable via the ghrp_check_frequency filter), and on demand when generating, regenerating, or refreshing posts from the plugin’s admin screens. Terms of Service: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service Privacy Policy: https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement Image sideloading from GitHub-hosted domains What it is: When AI-generated post content references images hosted on github.com, githubusercontent.com, or github.io, the plugin downloads those images to the WordPress Media Library so posts render without external image dependencies. What is sent: HTTP GET requests to the specific image URLs referenced by the AI output. No data beyond a standard HTTP request. When it is sent: At post creation or regeneration time, for image URLs included in the AI-generated content. The allowed domains and limits are configurable via the ghrp_sideload_allowed_domains, ghrp_max_sideload_images, ghrp_sideload_time_budget, and related filters. Terms of Service and Privacy Policy: same as GitHub above. AI providers (via WordPress Connectors) What it is: AI-generated post content is produced by whichever AI connector you have configured under Settings → Connectors in WordPress 7.0+. The plugin does not call AI provider APIs directly — it dispatches prompts through the WordPress AI Client API. What is sent: The release title, release notes body, repository metadata (owner/name, language, description), and any custom prompt instructions you have configured are sent to the AI provider selected by your connector. Optional Deep research mode additionally sends recent commit messages and file change summaries between releases. When it is sent: When a new release is detected by the daily scheduled check, when you click “Generate post” or “Regenerate,” and when regenerating from the block editor sidebar. Privacy and terms for the AI provider depend on which connector is configured. Common providers: Anthropic — Terms — Privacy OpenAI — Terms — Privacy Google AI — Terms — Privacy Source Code The complete, human-readable source code for this plugin is published at: https://github.com/jakemgold/github-release-posts-wordpress Bundled JavaScript. The minified files under dist/js/ are built from the source files under assets/js/ using the @10up/scripts toolkit (which wraps Webpack). To rebuild: npm install && npm run build Source-to-build mapping: dist/js/admin.js is built from assets/js/admin/index.js dist/js/editor.js is built from assets/js/editor/index.js dist/css/admin-style.css is built from assets/css/admin/style.css Both source and build outputs ship with the plugin, so the source is available locally as well as in the public repository. Third-party libraries. The plugin has no third-party PHP dependencies. The vendor/ directory only contains Composer’s own PSR-4 autoloader scaffolding generated from the plugin’s own classes — it does not include any external libraries. The composer.json require block requires only php: >=8.2. PAT encryption uses libsodium, which has been part of PHP core since 7.2. Bundled npm packages used at build time (development only — not shipped at runtime): @10up/scripts (which itself bundles Webpack, ESLint, Babel, and the build-time-only wp-prettier and eslint-plugin-jsdoc overrides). All declared in package.json and package-lock.json. None of these end up in the distributed plugin.
Top keywords
- ai20×1.73%
- github19×1.65%
- post16×1.39%
- release16×1.39%
- posts11×0.95%
- wordpress11×0.95%
- js10×0.87%
- releases9×0.78%
- sent8×0.69%
- api7×0.61%
- com7×0.61%
- configured7×0.61%
Enable Abilities for MCP
Enable Abilities for MCP gives you full control over which WordPress Abilities are available to AI assistants through the MCP (Model Context Protocol) Adapter. WordPress 6.9 introduced the Abilities API, allowing external tools to discover and execute actions on your site. This plugin extends that functionality by registering a comprehensive set of content management abilities and providing a simple admin interface to toggle each one on or off. Connect from claude.ai with just a URL Since version 2.1 the plugin ships an embedded OAuth 2.1 server built for claude.ai custom connectors. Add your site in claude.ai → Settings → Connectors, log in with your WordPress user, approve the consent screen — connected. No Client ID, no Application Password, no local configuration. Works from the claude.ai web app, mobile apps, and Claude Desktop Each team member authenticates with their own WordPress account and role — a subscriber can never do what only an editor should Every ability execution lands in the activity log under the real user’s name Works on single sites, subdirectory installs, and multisite networks (network-activate so the main site serves the OAuth discovery documents for every subsite) Prefer tokens? Application Passwords (per-user) and a single-admin Bearer token connect Claude Desktop / Claude Code, OpenAI Codex CLI, and Google Antigravity — the Connection tab generates ready-to-paste configuration for each client, and fills in your credentials automatically. Features 91 abilities organized in 18 categories: Core, Read, Write, SEO (Rank Math), SEO (SEOPress), SEO (Yoast), Navigation Menus, Utility, Multilanguage, Custom Post Types, WooCommerce, The Events Calendar, Code Snippets, JetEngine Options Pages, Elementor, LearnDash, Tutor LMS, and AI Agent Readiness (llms.txt) WooCommerce integration — dedicated abilities to manage products, orders, and customers using the native WooCommerce API (HPOS-compatible, formally declared) The Events Calendar integration — list, get, create, and update events with venue, organizer, and date filters claude.ai OAuth custom connector — connect from claude.ai (web, mobile, or desktop) with zero local setup: an embedded OAuth 2.1 server with Client ID Metadata Document (CIMD) support lets each user log in with their own WordPress account and role Admin dashboard with toggle switches for each ability Per-ability control — expose only what you need Third-party ability control — abilities registered by other MCP-ready plugins (e.g. Fluent Forms) appear in the same dashboard, grouped by plugin, with the same per-ability toggles; disabling one removes it from every MCP server on the site Secure by design — proper capability checks, input sanitization, and per-post permission validation WPCS compliant — fully passes WordPress Coding Standards (phpcs) MCP-ready — all abilities include show_in_rest and mcp.public metadata Available Abilities Read (safe, query-only): Get posts with filters (status, category, tag, search) Get single post details (content, SEO meta, featured image) Get categories, tags, pages, comments, media, and users Write (create & modify): Create, update, and delete posts Create categories and tags Create pages Moderate comments Reply to comments as the authenticated user Upload images from external URLs to the media library (with optional auto-assign as featured image) Duplicate any post, page, or custom post type item — including all post meta (ACF, SEO, featured image) and taxonomy terms; saved as a draft by default SEO — Rank Math: Get full Rank Math metadata for any post/page (title, description, keywords, robots, Open Graph, SEO score) Update Rank Math metadata: SEO title, description, focus keyword, canonical URL, robots, Open Graph, primary category, pillar content SEO — SEOPress: Get full SEOPress metadata for any post/page (title, description, focus keyword, robots, canonical, Open Graph, Twitter Card) Update SEOPress metadata: SEO title, description, focus keyword, canonical URL, robots directives, Open Graph, Twitter Card SEO — Yoast SEO: Get full Yoast SEO metadata for any post/page (title, description, focus keyphrase, canonical, robots, Open Graph, Twitter Card) Update Yoast SEO metadata: SEO title, description, focus keyphrase, canonical URL, robots (noindex, nofollow, advanced), Open Graph, Twitter Card Get Yoast sitemap index — fetch and parse the sitemap index, returning all registered sitemap URLs with last modification date Custom Post Types: List all registered custom post types with configuration and taxonomies Get items from any CPT with filtering, search, and taxonomy queries Get full details of a CPT item including all meta fields (WooCommerce, ACF, JetEngine, etc.) Create, update, and delete CPT items with taxonomy and meta field support Get CPT taxonomies with their terms Assign taxonomy terms to CPT items WooCommerce: List products with price, SKU, stock status, categories, and type Get full product detail including gallery, attributes, and variations Update product price, sale price, stock quantity, and status List orders with customer, total, status, and date (HPOS-compatible) Get full order detail: line items, billing/shipping, totals, and notes Update order status with optional note List customers with email, name, total spent, and order count The Events Calendar: List events with start/end date, venue, organizer, and date range filter Get full event detail with resolved venue address and organizer contact Create new events with title, description, dates, venue, and organizer Update existing events Navigation Menus: List menus with item counts and theme locations, and get one menu’s full item hierarchy Create a new menu, and add pages, posts, categories, tags, or custom URLs as items (with parent and position) Update an item’s title, URL, parent, or position Remove an item, assign a menu to a theme location, or delete a menu entirely (opt-in — destructive) Tutor LMS: Read a lesson’s video source configuration (type, value, and runtime) Set a lesson’s video source (external URL, YouTube, Vimeo, HTML5, or a third-party source such as Bunny.net) using Tutor’s own storage function — avoids the string-only limitation of the generic Update Post Meta ability, which Tutor cannot read back List courses, and get a single course’s full detail with its topics/lessons hierarchy Get a user’s enrollment status and completion progress for a course Get a user’s quiz attempt results, optionally filtered to a single quiz Enroll a user in a course, and unenroll them (both opt-in, manage_options only) Utility: Search and replace text in post content Site statistics overview (includes custom post type counts) Update any post meta field by exact key (with protected internal key blocklist) Requirements WordPress 6.9 or later (Abilities API) MCP Adapter plugin installed and configured PHP 8.0 or later