Compare commits

...
20 changed files with 366 additions and 31 deletions

No files matched your search

+12 -4
View File
@@ -150,7 +150,15 @@ If the plugin is hosted on WordPress.org:
After releasing a new version:
1. Update the wiki documentation if needed
2. Announce the release in relevant channels
3. Monitor for any issues or feedback
4. Start planning the next release
1. Update the wiki documentation:
- Update the Changelog.md file in the .wiki directory to match the main CHANGELOG.md
- Add the new version information to the Home.md file in the Latest Updates section
- Ensure all wiki pages are up-to-date with the new features or changes
- Verify that the _Sidebar.md file has the correct navigation structure
2. Verify that GitHub Actions workflows are running correctly:
- Check that the release workflow created the release with the correct assets
- Check that the sync-wiki workflow synced the wiki changes
- Fix any permissions issues in the workflow files if needed
3. Announce the release in relevant channels
4. Monitor for any issues or feedback
5. Start planning the next release
+5 -2
View File
@@ -8,6 +8,7 @@ The wiki documentation is organized into the following sections:
1. **User Documentation**:
- Home
- Starter Prompt (must be listed before Installation Guide)
- Installation Guide
- Usage Instructions
- Frequently Asked Questions
@@ -88,8 +89,10 @@ Documentation should be updated:
1. Identify the relevant wiki file(s) in the `.wiki/` directory
2. Make the necessary changes
3. Commit and push the changes to the `main` branch
4. The GitHub Actions workflow will automatically sync the changes with the GitHub wiki
3. **Always ensure the Changelog.md in the wiki is updated to match the main CHANGELOG.md file**
4. **Always ensure the _Sidebar.md file has the correct navigation structure with Starter Prompt listed before Installation Guide**
5. Commit and push the changes to the `main` branch
6. The GitHub Actions workflow will automatically sync the changes with the GitHub wiki
### Creating New Pages
+2
View File
@@ -10,6 +10,8 @@ jobs:
build:
name: Build and Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v3
+2
View File
@@ -11,6 +11,8 @@ jobs:
sync-wiki:
name: Sync Wiki to GitHub
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout source code
uses: actions/checkout@v3
+11 -2
View File
@@ -13,6 +13,7 @@ jobs:
strategy:
matrix:
php-versions: ['7.0', '7.4', '8.0']
fail-fast: false
steps:
- name: Checkout code
@@ -26,7 +27,15 @@ jobs:
tools: composer:v2
- name: Install dependencies
run: composer install --prefer-dist --no-progress
run: |
if [[ "${{ matrix.php-versions }}" == "7.0" ]]; then
composer require --dev phpunit/phpunit:"^6.5" --update-with-dependencies
composer require --dev 10up/wp_mock:"0.3.0" --update-with-dependencies
composer require --dev antecedent/patchwork:"^2.1.21" --update-with-dependencies
else
composer install --prefer-dist --no-progress
composer require --dev 10up/wp_mock:"0.3.0" --update-with-dependencies
fi
- name: Run tests
run: ./vendor/bin/phpunit
@@ -50,4 +59,4 @@ jobs:
run: composer install --prefer-dist --no-progress
- name: Run PHPCS
run: ./vendor/bin/phpcs --standard=WordPress
run: ./vendor/bin/phpcs --standard=WordPress --runtime-set installed_paths vendor/wp-coding-standards/wpcs ./includes ./admin ./wp-plugin-starter-template.php
+43 -7
View File
@@ -2,12 +2,48 @@
This page documents all notable changes to the WordPress Plugin Starter Template.
## Version 0.1.6 (2025-04-19)
### Fixed
- GitHub Actions workflows permissions for releases and wiki sync
## Version 0.1.5 (2025-04-19)
### Fixed
- Release workflow to use correct plugin directory name
### Added
- Testing setup with wp-env and Cypress
- Multisite compatibility
- npm scripts for development and testing
## Version 0.1.3 (2025-04-19)
### Added
- Improved AI IDE context recommendations in documentation
- Enhanced Starter Prompt with guidance on pinning .ai-assistant.md and .ai-workflows/
### Changed
- Updated README.md and readme.txt with AI IDE context recommendations
- Improved documentation for AI-assisted development
- Moved Starter Prompt to the wiki for better organization
## Version 0.1.2 (2025-04-18)
### Added
- STARTER-PROMPT.md with comprehensive guide for customizing the template
- Additional AI workflow files for better development guidance
### Changed
- Updated documentation files with improved instructions
## Version 0.1.1 (2025-04-18)
### Changed
- Updated LICENSE file with correct GPL-2.0 text
## Version 0.1.0 (2025-04-17)
### Added
- Initial release with basic template structure
- Added core plugin architecture with OOP approach
- Added admin interface components and styling
- Added update mechanism with multiple source options
- Added documentation templates for users and developers
- Added AI workflow documentation for AI-assisted development
- Added GitHub Actions workflows for automated tasks
- Added wiki documentation templates
- Core plugin architecture with OOP approach
- Admin interface components and styling
- Update mechanism with multiple source options
- Documentation templates for users and developers
- AI workflow documentation for AI-assisted development
- GitHub Actions workflows for automated tasks
- Wiki documentation templates
+5
View File
@@ -4,6 +4,11 @@ Welcome to the documentation wiki for the WordPress Plugin Starter Template.
This template provides a solid foundation for developing WordPress plugins with best practices for AI-assisted development.
## Latest Updates
- Version 0.1.6: Fixed GitHub Actions workflows permissions for releases and wiki sync
- Version 0.1.5: Added testing setup with wp-env and Cypress, multisite compatibility
## Quick Links
- [Starter Prompt](Starter-Prompt)
+1
View File
@@ -1,5 +1,6 @@
## User Documentation
* [Home](Home)
* [Starter Prompt](Starter-Prompt)
* [Installation Guide](Installation-Guide)
* [Usage Instructions](Usage-Instructions)
* [Frequently Asked Questions](Frequently-Asked-Questions)
+4
View File
@@ -1,5 +1,9 @@
All notable changes to this project should be documented both here and in the main Readme files.
#### [0.1.6] - 2025-04-19
#### Fixed
- GitHub Actions workflows permissions for releases and wiki sync
#### [0.1.5] - 2025-04-19
#### Fixed
- Release workflow to use correct plugin directory name
+3
View File
@@ -278,6 +278,9 @@ For more information on Git Updater integration, see the [Git Updater Required H
## Changelog
### 0.1.6
* Fixed: GitHub Actions workflows permissions for releases and wiki sync
### 0.1.5
* Fixed: Release workflow to use correct plugin directory name
* Added: Testing setup with wp-env and Cypress
+74
View File
@@ -1 +1,75 @@
<?php
/**
* Admin functionality
*
* @package WPALLSTARS\PluginStarterTemplate
*/
namespace WPALLSTARS\PluginStarterTemplate\Admin;
use WPALLSTARS\PluginStarterTemplate\Core;
/**
* Admin class
*/
class Admin {
/**
* Core instance
*
* @var Core
*/
private $core;
/**
* Constructor
*
* @param Core $core Core instance.
*/
public function __construct( $core ) {
$this->core = $core;
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_assets' ] );
}
/**
* Initialize admin
*/
public function init() {
// Initialize admin
}
/**
* Enqueue admin assets
*
* @param string $hook Current admin page.
*/
public function enqueue_admin_assets( $hook ) {
wp_enqueue_style(
'wpst-admin-styles',
WPST_PLUGIN_URL . 'assets/css/admin.css',
[],
WPST_VERSION
);
wp_enqueue_script(
'wpst-admin-scripts',
WPST_PLUGIN_URL . 'assets/js/admin.js',
[ 'jquery' ],
WPST_VERSION,
true
);
wp_localize_script(
'wpst-admin-scripts',
'wpstData',
[
'ajaxUrl' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'wpst-admin-nonce' ),
'strings' => [
'success' => esc_html__( 'Success!', 'wp-plugin-starter-template' ),
'error' => esc_html__( 'Error!', 'wp-plugin-starter-template' ),
],
]
);
}
}
+5 -2
View File
@@ -14,9 +14,12 @@
"php": ">=7.0"
},
"require-dev": {
"phpunit/phpunit": "^7.5",
"phpunit/phpunit": "^6.5 || ^7.5 || ^8.0 || ^9.0",
"squizlabs/php_codesniffer": "^3.5",
"wp-coding-standards/wpcs": "^2.3"
"wp-coding-standards/wpcs": "^2.3",
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"10up/wp_mock": "0.3.0",
"antecedent/patchwork": "^2.1.21"
},
"autoload": {
"psr-4": {
+30
View File
@@ -1 +1,31 @@
<?php
/**
* Core functionality for the plugin
*
* @package WPALLSTARS\PluginStarterTemplate
*/
namespace WPALLSTARS\PluginStarterTemplate;
/**
* Core class
*/
class Core {
/**
* Constructor
*/
public function __construct() {
// Initialize hooks
}
/**
* Example method to filter content
*
* @param string $content The content to filter.
* @return string The filtered content.
*/
public function filter_content( $content ) {
return $content;
}
}
+53
View File
@@ -1 +1,54 @@
<?php
/**
* Main plugin class
*
* @package WPALLSTARS\PluginStarterTemplate
*/
namespace WPALLSTARS\PluginStarterTemplate;
/**
* Plugin class
*/
class Plugin {
/**
* Core instance
*
* @var Core
*/
private $core;
/**
* Plugin file
*
* @var string
*/
private $plugin_file;
/**
* Plugin version
*
* @var string
*/
private $version;
/**
* Constructor
*
* @param string $plugin_file Main plugin file path.
* @param string $version Plugin version.
*/
public function __construct($plugin_file, $version) {
$this->plugin_file = $plugin_file;
$this->version = $version;
$this->core = new Core();
}
/**
* Initialize the plugin
*/
public function init() {
// Initialize plugin.
}
}
+57
View File
@@ -1 +1,58 @@
<?php
/**
* Updater functionality for the plugin
*
* @package WPALLSTARS\PluginStarterTemplate
*/
namespace WPALLSTARS\PluginStarterTemplate;
/**
* Updater class
*/
class Updater {
/**
* Plugin file
*
* @var string
*/
private $plugin_file;
/**
* Constructor
*
* @param string $plugin_file Main plugin file path.
*/
public function __construct($plugin_file) {
$this->plugin_file = $plugin_file;
$this->init();
}
/**
* Initialize the updater
*/
public function init() {
add_filter('plugin_action_links_' . plugin_basename($this->plugin_file), array($this, 'add_update_source_link'));
add_action('admin_post_wpst_update_source', array($this, 'handle_update_source'));
}
/**
* Add update source link to plugin actions
*
* @param array $links Plugin action links.
* @return array Modified plugin action links.
*/
public function add_update_source_link($links) {
$update_source_link = '<a href="' . admin_url('admin-post.php?action=wpst_update_source&plugin=' . plugin_basename($this->plugin_file)) . '">' . esc_html__('Update Source', 'wp-plugin-starter-template') . '</a>';
array_unshift($links, $update_source_link);
return $links;
}
/**
* Handle update source selection
*/
public function handle_update_source() {
// Handle update source selection.
}
}
+39
View File
@@ -0,0 +1,39 @@
{
"name": "wp-plugin-starter-template-for-ai-coding",
"version": "0.1.6",
"description": "A comprehensive starter template for WordPress plugins with best practices for AI-assisted development.",
"main": "index.js",
"scripts": {
"start": "wp-env start",
"stop": "wp-env stop",
"wp-env": "wp-env",
"multisite": "wp-env start --config=.wp-env.multisite.json",
"test:e2e": "cypress open --config-file tests/e2e/cypress.json",
"test:e2e:headless": "cypress run --config-file tests/e2e/cypress.json",
"build": "./build.sh",
"lint:php": "composer run-script phpcs",
"fix:php": "composer run-script phpcbf",
"test:php": "composer run-script test"
},
"repository": {
"type": "git",
"url": "git+https://github.com/wpallstars/wp-plugin-starter-template-for-ai-coding.git"
},
"keywords": [
"wordpress",
"plugin",
"template",
"ai",
"coding"
],
"author": "WPALLSTARS",
"license": "GPL-2.0-or-later",
"bugs": {
"url": "https://github.com/wpallstars/wp-plugin-starter-template-for-ai-coding/issues"
},
"homepage": "https://github.com/wpallstars/wp-plugin-starter-template-for-ai-coding#readme",
"devDependencies": {
"@wordpress/env": "^5.0.0",
"cypress": "^9.7.0"
}
}
+7 -1
View File
@@ -5,7 +5,7 @@ Tags: starter, template, boilerplate, plugin development, ai coding
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.0
Stable tag: 0.1.5
Stable tag: 0.1.6
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -205,6 +205,9 @@ npm run multisite
== Changelog ==
= 0.1.6 =
* Fixed: GitHub Actions workflows permissions for releases and wiki sync
= 0.1.5 =
* Fixed: Release workflow to use correct plugin directory name
* Added: Testing setup with wp-env and Cypress
@@ -238,6 +241,9 @@ npm run multisite
== Upgrade Notice ==
= 0.1.6 =
Fixed GitHub Actions workflows permissions for releases and wiki sync.
= 0.1.5 =
Fixed release workflow and added testing setup with wp-env and Cypress, multisite compatibility, and npm scripts for development and testing.
+3 -3
View File
@@ -11,7 +11,7 @@ use WPALLSTARS\PluginStarterTemplate\Core;
/**
* Admin test case.
*/
class AdminTest extends WP_Mock\Tools\TestCase {
class AdminTest extends \WP_Mock\Tools\TestCase {
/**
* Test instance
@@ -30,7 +30,7 @@ class AdminTest extends WP_Mock\Tools\TestCase {
/**
* Set up test environment
*/
public function setUp(): void {
public function setUp() {
parent::setUp();
// Set up mocks
@@ -52,7 +52,7 @@ class AdminTest extends WP_Mock\Tools\TestCase {
/**
* Tear down test environment
*/
public function tearDown(): void {
public function tearDown() {
WP_Mock::tearDown();
parent::tearDown();
}
+3 -3
View File
@@ -10,7 +10,7 @@ use WPALLSTARS\PluginStarterTemplate\Core;
/**
* Core test case.
*/
class CoreTest extends WP_Mock\Tools\TestCase {
class CoreTest extends \WP_Mock\Tools\TestCase {
/**
* Test instance
@@ -22,7 +22,7 @@ class CoreTest extends WP_Mock\Tools\TestCase {
/**
* Set up test environment
*/
public function setUp(): void {
public function setUp() {
parent::setUp();
// Set up mocks
@@ -35,7 +35,7 @@ class CoreTest extends WP_Mock\Tools\TestCase {
/**
* Tear down test environment
*/
public function tearDown(): void {
public function tearDown() {
WP_Mock::tearDown();
parent::tearDown();
}
+7 -7
View File
@@ -3,7 +3,7 @@
* Plugin Name: WordPress Plugin Starter Template
* Plugin URI: https://www.wpallstars.com
* Description: A comprehensive starter template for WordPress plugins with best practices for AI-assisted development.
* Version: 0.1.5
* Version: 0.1.6
* Author: Your Name & The WPALLSTARS Team
* Author URI: https://www.wpallstars.com
* License: GPL-2.0+
@@ -27,12 +27,12 @@
*/
// If this file is called directly, abort.
if (!defined('WPINC')) {
die;
if ( ! defined( 'WPINC' ) ) {
die;
}
// Load the main plugin class
require_once plugin_dir_path(__FILE__) . 'includes/plugin.php';
// Load the main plugin class.
require_once plugin_dir_path( __FILE__ ) . 'includes/plugin.php';
// Initialize the plugin
new WPALLSTARS\PluginStarterTemplate\Plugin(__FILE__, '0.1.5');
// Initialize the plugin.
new WPALLSTARS\PluginStarterTemplate\Plugin( __FILE__, '0.1.7' );