A WordPress plugin that provides REST API sync system and admin enhancements for chubes.net documentation.
See the docs in docs/ for endpoint details and sync workflows:
Note:
POST /sync/docrequiresfilesize(int) andtimestamp(string), andsubpathis an array of strings.
curl -X POST /wp-json/chubes/v1/sync/doc \
-H "Content-Type: application/json" \
-d '{
"source_file": "README.md",
"title": "Getting Started",
"content": "# Getting Started\n\nInstallation instructions...",
"project_term_id": 123,
"filesize": 1024,
"timestamp": "2026-01-11T00:00:00Z",
"subpath": ["guides"]
}'- REST API Endpoints: Full CRUD operations for documentation posts and project taxonomy management
- Enhanced Sync System: Project-based sync with
project_term_idandsubpathparameters (v0.2.0+) - GitHub Integration: Full GitHub API integration for automated documentation sync from repositories
- Codebase Integration: GitHub and WordPress.org repository metadata tracking with admin columns
- Install Tracking: Automatic fetching of active install counts from WordPress.org API with daily updates
- Markdown Processing: Convert markdown content to HTML with internal link resolution
- Related Posts: Hierarchical project-aware related documentation display
- Cron Sync: Scheduled automated synchronization with configurable intervals (hourly/twice daily/daily)
- Admin Interface: GitHub PAT configuration, connection diagnostics, and sync management UI
- WP-CLI Commands: Command-line tools for project management and documentation sync
- WP Abilities API: AI agent capabilities for documentation synchronization
- Sync Notifications: Email alerts for sync completion and failures
- WordPress 6.0+
- PHP 8.0+
- Chubes theme (required for full functionality)
- Download the latest release from the releases page
- Upload the plugin to your WordPress installation
- Activate the plugin
- The plugin requires the Chubes theme to be active for documentation features
The plugin provides REST API endpoints under the chubes/v1 namespace:
GET /wp-json/chubes/v1/docs- List documentation postsPOST /wp-json/chubes/v1/docs- Create new documentationGET /wp-json/chubes/v1/docs/{id}- Get specific documentationPUT /wp-json/chubes/v1/docs/{id}- Update documentationDELETE /wp-json/chubes/v1/docs/{id}- Delete documentation
GET /wp-json/chubes/v1/project- List project taxonomy termsGET /wp-json/chubes/v1/project/tree- Get hierarchical project treePOST /wp-json/chubes/v1/project/resolve- Resolve or create taxonomy pathGET /wp-json/chubes/v1/project/{id}- Get specific taxonomy termPUT /wp-json/chubes/v1/project/{id}- Update taxonomy term
POST /wp-json/chubes/v1/sync/setup- Setup project + category termsGET /wp-json/chubes/v1/sync/status- Get sync status for a project (requiresproject)POST /wp-json/chubes/v1/sync/doc- Sync a single documentPOST /wp-json/chubes/v1/sync/batch- Batch sync documentsPOST /wp-json/chubes/v1/sync/all- Manually sync GitHub docs for all projects with GitHub URLsPOST /wp-json/chubes/v1/sync/term/{id}- Manually sync GitHub docs for a single project termGET /wp-json/chubes/v1/sync/test-token- GitHub token diagnosticsPOST /wp-json/chubes/v1/sync/test-repo- GitHub repo diagnostics (repo_url)
wp chubes project ensure- Ensure project taxonomy terms exist and are properly configuredwp chubes docs sync- Manually trigger documentation synchronization
chubes/sync-docs- Sync a single project term from GitHubchubes/sync-docs-batch- Sync multiple project terms from GitHub
./build.shThis creates a production-ready ZIP file in the build/ directory.
inc/Api/- REST API controllers, routes, and WP Abilities API integrationinc/Core/- Core plugin functionality (assets, breadcrumbs, project, documentation, rewrite rules)inc/Fields/- Admin interface fields and install trackinginc/Sync/- Markdown processing, GitHub client, cron sync, repo sync, and notificationsinc/Templates/- Frontend template enhancements (archive, project cards, homepage, related posts)inc/Admin/- Admin interface components (settings page, admin columns)inc/WPCLI/- WP-CLI commands for project management and documentation syncassets/css/- Frontend stylesheets (archives, related posts)assets/js/- Admin JavaScript (sync interface)
GPL v2 or later
Chris Huber - https://chubes.net