Gutenberg Times Curator
WordPress plugin for curating the Gutenberg Times Weekend Edition newsletter
★ 1stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/bph/gt-curator/archive/refs/heads/main.zipReadme
Gutenberg Times Curator
A WordPress plugin that streamlines curation of the Gutenberg Times Weekend Edition newsletter. It pulls articles from Feedbin, uses AI to categorize and score them, lets the editor approve and generate summaries, and inserts the final block markup into a WordPress post.
Workflow
Feedbin → Fetch → Categorize (AI) → Approve → Summarize (AI) → Insert into Post
- Fetch — Pull unread articles from Feedbin RSS feeds
- Categorize — AI classifies each article into newsletter categories with a 0-100 relevance score
- Approve — DataViews table with filtering, sorting, category grouping, and include toggles
- Summarize — AI generates 70-85 word summaries in the Gutenberg Times editorial style
- Insert — Block markup (headings + paragraphs) merged into a selected WordPress post, grouped by category
Categories
| Category | Newsletter Section |
|---|---|
| Core | Developing Gutenberg and WordPress |
| Nocode | Plugins, Themes, and Tools for #nocode site builders and owners |
| Theme building | Theme Development for Full Site Editing and Blocks |
| Blocks | Building Blocks and Tools for the Block editor |
| AI | AI and WordPress |
| Play | What's new in Playground |
| Themes | WordPress.org Themes (auto-classified by URL) |
| Plugins | WordPress.org Plugins (auto-classified by URL) |
Requirements
- WordPress 7.0+ (for WP AI Client)
- PHP 8.0+
- Node.js 18+
- Feedbin account
- AI provider configured in Settings > AI Credentials (Claude recommended)
Setup
- Clone into your
wp-content/plugins/directory - Install dependencies and build:
npm install npm run build - Activate the plugin in WordPress
- Go to GT Curator > Settings and enter your Feedbin credentials
- Ensure an AI provider is configured in Settings > AI Credentials
Development
npm run start # Watch mode with hot reload
npm run build # Production build
npm run lint:js # Lint JavaScript
npm run lint:css # Lint CSS
Architecture
- PHP REST API endpoints under
gt-curator/v1/for Feedbin proxy, AI calls, state persistence, and post insertion - React admin UI built with
@wordpress/dataviews,@wordpress/components, and@wordpress/api-fetch - WP AI Client integration for provider-agnostic AI (categorization and summarization)
- Anthropic custom skill support — when Claude is the configured provider, summarization uses the Gutenberg Times Summarizer skill for higher quality output
- Bot user (
gt-curator-bot) for post insertions, keeping revision history clean
Plugin Structure
gutenberg-times-curator/
├── gutenberg-times-curator.php # Main plugin file
├── includes/
│ ├── class-admin.php # Admin menu + asset enqueuing
│ ├── class-ai-prompts.php # AI prompt builders (categorize + summarize)
│ ├── class-feedbin-client.php # Feedbin API wrapper
│ ├── class-rest-api.php # REST API endpoints + insert logic
│ └── class-settings.php # Feedbin credentials settings
├── src/
│ ├── index.js # Entry point
│ ├── style.css # Plugin styles
│ └── components/
│ ├── CuratorApp.js # Main app shell
│ ├── ArticleList.js # DataViews article table
│ ├── SummaryReview.js # Summary review + edit UI
│ └── PostSelector.js # Target post picker
├── build/ # Compiled assets (gitignored)
└── package.json
License
GPL-2.0-or-later