WP Manifestindependent plugin directory
manifest / developer / cloudfest-wporgdownload

CloudFest WPOrg Download

Downloads and archives ALL WordPress.org plugins including historical versions. Requires Action Scheduler.

★ 1stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/javiercasares/cloudfest-wporgdownload/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress plugin for CloudFest Hackathon that downloads and archives ALL WordPress.org plugins including historical versions.

Project Information

Requirements

  • WordPress: 6.9+
  • PHP: 8.4+
  • MariaDB: 10.6+
  • Dependencies: Action Scheduler (required)
  • Storage: ~1TB for complete archive
  • Architecture: Object-oriented (Classes)

Features

  • Full sync of 60,000+ WordPress.org plugins
  • Historical version tracking via API
  • Background ZIP downloads (max 3 concurrent)
  • Custom Post Types for metadata storage
  • Local filesystem storage organized by plugin
  • Action Scheduler powered queue system
  • WP-CLI commands for manual operations
  • Admin dashboard with statistics

Documentation

Development

This project follows strict KISS principles and WordPress coding standards.

Setup

  1. Clone repository
  2. Install Action Scheduler plugin
  3. Activate this plugin
  4. Follow ROADMAP.md for implementation steps

Testing

# Run PHPUnit tests
vendor/bin/phpunit

# Run PHPCS
vendor/bin/phpcs --standard=WordPress includes/*.php *.php

WP-CLI Commands

# Sync plugins (incremental)
wp wpinsight sync --entity=plugin --feed=updated

# Full sync
wp wpinsight sync --mode=full

# Process download queue
wp wpinsight zip

# Show status
wp wpinsight status

File Organization

wp-content/uploads/wpinsight/
├── plugin/
│   ├── {slug}/
│   │   ├── {slug}.{version}.zip
│   │   └── ...
│   └── ...
└── theme/
    └── ...

Database Tables

  • wpinsight_sync_state - Tracks pagination cursor and sync status
  • wpinsight_zip_queue - Download job queue (~600K rows expected)
  • wpinsight_artifacts - Downloaded ZIP records (~600K rows expected)

Contributing

Follow the guidelines in AGENTS.md and implement features according to docs/ROADMAP.md.

All code must:

  • Follow WordPress Coding Standards
  • Include PHPDoc documentation
  • Have PHPUnit tests where applicable
  • Pass PHPCS validation
  • Be validated at each step before proceeding

Known Limitations

  • Single site only (no Multisite support)
  • Local storage only (no cloud storage)
  • Plugins only (themes support can be added later)
  • Requires Action Scheduler plugin

License

GPL-3.0-or-later - See LICENSE file for details.