KUBIK Developer Command Center
A comprehensive WordPress + WooCommerce intelligence platform for proactive maintenance, security monitoring, and risk prevention
by KUBIK · github.com/dimitrisnimas/developer-command-center · website
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/dimitrisnimas/developer-command-center/archive/refs/heads/main.zipDeveloper Command Center is an operational dashboard for WordPress and WooCommerce administrators. It reports system health, records selected administrative and security events, runs resumable catalog/database scans, and produces monthly maintenance reports.
Status
Version 1.2 is a production candidate for controlled deployments. Validate it against the target hosting stack on staging and keep normal database and file backups. DCC is an observability and maintenance aid; it is not a firewall, malware scanner, uptime service, or backup system.
Requirements
- WordPress 6.4 or newer
- PHP 8.0 or newer
- MySQL 5.7 or MariaDB 10.4 or newer
- WooCommerce for catalog-specific features
- A reliable system cron calling
wp-cron.phpon sites where traffic-driven WP-Cron is disabled
WordPress multisite network activation is not currently supported.
Installation
- Copy the repository to
wp-content/plugins/developer-command-center. - For PDF downloads, run
composer install --no-dev --optimize-autoloaderbefore packaging the plugin. Without TCPDF, reports open as printable HTML. - Activate KUBIK Developer Command Center in WordPress.
- Open Command Center from the admin menu.
The scheduler is part of the main plugin. Do not copy dcc-cron-scheduler.php to mu-plugins.
Testing version 1.2
- Remove any copied
dcc-cron-scheduler.phpfrommu-pluginsbefore activating 1.2. - Configure
DCC_ALLOWED_USER_IDSbefore deployment if access must be limited beyond the configured capability. - Version 1.2 uses a fresh three-table schema and does not migrate data from pre-release builds. Use a clean installation when testing this version.
Access control
Access requires the manage_options capability by default. Change the capability before the plugin loads if necessary:
define( 'DCC_CAPABILITY', 'manage_woocommerce' );
An optional user-ID allow-list can further restrict capable users:
define( 'DCC_ALLOWED_USER_IDS', [ 12, 37 ] );
The dcc_allowed_user_ids filter supports dynamic configuration. An empty allow-list means that capability checks alone determine access.
Implemented features
- PHP, database, memory, disk, WP-Cron, and WooCommerce Action Scheduler health data
- Autoloaded option size and cache detection
- Query Monitor integration when Query Monitor is active
- Failed-login monitoring with throttled brute-force alerts
- User, content, and plugin activity history
- Database hygiene recommendations
- Resumable WooCommerce catalog and image-size scans
- Atomic worker locks that prevent overlapping catalog and image batches
- Maintenance mode, outgoing-email suppression, and DCC cache invalidation
- Client and technical monthly reports
- Versioned schema checks and 90-day telemetry retention
Background catalog and image scans use small WP-Cron batches. Their progress depends on WP-Cron running successfully. Price-outlier aggregation runs inside the database and does not load the complete catalog into PHP memory.
Batch sizes can be tuned with the dcc_catalog_batch_size and dcc_image_batch_size filters after measuring the target server.
Data storage and privacy
DCC creates three tables using the site's WordPress table prefix:
dcc_eventsdcc_metrics_historydcc_catalog_issues
Current database-cleanup recommendations are stored in the non-autoloaded dcc_cleanup_recommendations WordPress option rather than a dedicated table.
Activity and security records can include user IDs, usernames, email addresses, and IP addresses. Operational telemetry is retained for 90 days by default. Change it with:
add_filter( 'dcc_retention_days', static fn() => 30 );
Maintenance entries and unresolved recommendations are not automatically deleted. Plugin deactivation preserves all data; deleting the plugin removes its tables and options. Define DCC_PRESERVE_DATA_ON_UNINSTALL as true before deletion to retain them.
Reports
Reports contain only measurements available to DCC. They do not claim uptime because DCC does not perform external availability checks. The technical report adds security aggregation and disk-sample details.
PDF generation uses tecnickcom/tcpdf through Composer. Printable HTML is used when the dependency is absent.
Development
composer install
composer test
composer lint
node --check assets/js/dcc-app.js
Pull requests should include tests for changed calculation or data-flow behavior. See CONTRIBUTING.md and SECURITY.md.
License
GPL-2.0-or-later. See LICENSE.