@mytechtoday/augment-extensions 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/augment-extensions/domain-rules/wordpress/README.md +163 -0
  2. package/augment-extensions/domain-rules/wordpress/module.json +32 -0
  3. package/augment-extensions/domain-rules/wordpress/rules/coding-standards.md +617 -0
  4. package/augment-extensions/domain-rules/wordpress/rules/directory-structure.md +270 -0
  5. package/augment-extensions/domain-rules/wordpress/rules/file-patterns.md +423 -0
  6. package/augment-extensions/domain-rules/wordpress/rules/gutenberg-blocks.md +493 -0
  7. package/augment-extensions/domain-rules/wordpress/rules/performance.md +568 -0
  8. package/augment-extensions/domain-rules/wordpress/rules/plugin-development.md +510 -0
  9. package/augment-extensions/domain-rules/wordpress/rules/project-detection.md +251 -0
  10. package/augment-extensions/domain-rules/wordpress/rules/rest-api.md +501 -0
  11. package/augment-extensions/domain-rules/wordpress/rules/security.md +564 -0
  12. package/augment-extensions/domain-rules/wordpress/rules/theme-development.md +388 -0
  13. package/augment-extensions/domain-rules/wordpress/rules/woocommerce.md +441 -0
  14. package/augment-extensions/domain-rules/wordpress-plugin/README.md +139 -0
  15. package/augment-extensions/domain-rules/wordpress-plugin/examples/ajax-plugin.md +1599 -0
  16. package/augment-extensions/domain-rules/wordpress-plugin/examples/custom-post-type-plugin.md +1727 -0
  17. package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block-plugin.md +428 -0
  18. package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block.md +422 -0
  19. package/augment-extensions/domain-rules/wordpress-plugin/examples/mvc-plugin.md +1623 -0
  20. package/augment-extensions/domain-rules/wordpress-plugin/examples/object-oriented-plugin.md +1343 -0
  21. package/augment-extensions/domain-rules/wordpress-plugin/examples/rest-endpoint.md +734 -0
  22. package/augment-extensions/domain-rules/wordpress-plugin/examples/settings-page-plugin.md +1350 -0
  23. package/augment-extensions/domain-rules/wordpress-plugin/examples/simple-procedural-plugin.md +503 -0
  24. package/augment-extensions/domain-rules/wordpress-plugin/examples/singleton-plugin.md +971 -0
  25. package/augment-extensions/domain-rules/wordpress-plugin/module.json +53 -0
  26. package/augment-extensions/domain-rules/wordpress-plugin/rules/activation-hooks.md +770 -0
  27. package/augment-extensions/domain-rules/wordpress-plugin/rules/admin-interface.md +874 -0
  28. package/augment-extensions/domain-rules/wordpress-plugin/rules/ajax-handlers.md +629 -0
  29. package/augment-extensions/domain-rules/wordpress-plugin/rules/asset-management.md +559 -0
  30. package/augment-extensions/domain-rules/wordpress-plugin/rules/context-providers.md +709 -0
  31. package/augment-extensions/domain-rules/wordpress-plugin/rules/cron-jobs.md +736 -0
  32. package/augment-extensions/domain-rules/wordpress-plugin/rules/database-management.md +1057 -0
  33. package/augment-extensions/domain-rules/wordpress-plugin/rules/documentation-standards.md +463 -0
  34. package/augment-extensions/domain-rules/wordpress-plugin/rules/frontend-functionality.md +478 -0
  35. package/augment-extensions/domain-rules/wordpress-plugin/rules/gutenberg-blocks.md +818 -0
  36. package/augment-extensions/domain-rules/wordpress-plugin/rules/internationalization.md +416 -0
  37. package/augment-extensions/domain-rules/wordpress-plugin/rules/migration.md +667 -0
  38. package/augment-extensions/domain-rules/wordpress-plugin/rules/performance-optimization.md +878 -0
  39. package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-architecture.md +693 -0
  40. package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-structure.md +352 -0
  41. package/augment-extensions/domain-rules/wordpress-plugin/rules/rest-api.md +818 -0
  42. package/augment-extensions/domain-rules/wordpress-plugin/rules/scaffolding-workflow.md +624 -0
  43. package/augment-extensions/domain-rules/wordpress-plugin/rules/security-best-practices.md +866 -0
  44. package/augment-extensions/domain-rules/wordpress-plugin/rules/testing-patterns.md +1165 -0
  45. package/augment-extensions/domain-rules/wordpress-plugin/rules/testing.md +414 -0
  46. package/augment-extensions/domain-rules/wordpress-plugin/rules/vscode-integration.md +751 -0
  47. package/augment-extensions/domain-rules/wordpress-plugin/rules/woocommerce-integration.md +949 -0
  48. package/augment-extensions/domain-rules/wordpress-plugin/rules/wordpress-org-submission.md +458 -0
  49. package/augment-extensions/examples/gutenberg-block-plugin/README.md +101 -0
  50. package/augment-extensions/examples/gutenberg-block-plugin/examples/testimonial-block.md +428 -0
  51. package/augment-extensions/examples/gutenberg-block-plugin/module.json +40 -0
  52. package/augment-extensions/examples/rest-api-plugin/README.md +98 -0
  53. package/augment-extensions/examples/rest-api-plugin/examples/task-manager-api.md +1299 -0
  54. package/augment-extensions/examples/rest-api-plugin/module.json +40 -0
  55. package/augment-extensions/examples/woocommerce-extension/README.md +98 -0
  56. package/augment-extensions/examples/woocommerce-extension/examples/product-customizer.md +763 -0
  57. package/augment-extensions/examples/woocommerce-extension/module.json +40 -0
  58. package/augment-extensions/workflows/wordpress-plugin/README.md +232 -0
  59. package/augment-extensions/workflows/wordpress-plugin/ai-prompts.md +839 -0
  60. package/augment-extensions/workflows/wordpress-plugin/bead-decomposition-patterns.md +854 -0
  61. package/augment-extensions/workflows/wordpress-plugin/examples/complete-plugin-example.md +540 -0
  62. package/augment-extensions/workflows/wordpress-plugin/examples/custom-post-type-example.md +1083 -0
  63. package/augment-extensions/workflows/wordpress-plugin/examples/feature-addition-workflow.md +669 -0
  64. package/augment-extensions/workflows/wordpress-plugin/examples/plugin-creation-workflow.md +597 -0
  65. package/augment-extensions/workflows/wordpress-plugin/examples/secure-form-handler-example.md +925 -0
  66. package/augment-extensions/workflows/wordpress-plugin/examples/security-audit-workflow.md +752 -0
  67. package/augment-extensions/workflows/wordpress-plugin/examples/wordpress-org-submission-workflow.md +773 -0
  68. package/augment-extensions/workflows/wordpress-plugin/module.json +49 -0
  69. package/augment-extensions/workflows/wordpress-plugin/rules/best-practices.md +942 -0
  70. package/augment-extensions/workflows/wordpress-plugin/rules/development-workflow.md +702 -0
  71. package/augment-extensions/workflows/wordpress-plugin/rules/submission-workflow.md +728 -0
  72. package/augment-extensions/workflows/wordpress-plugin/rules/testing-workflow.md +775 -0
  73. package/cli/dist/cli.js +5 -1
  74. package/cli/dist/cli.js.map +1 -1
  75. package/cli/dist/commands/show.d.ts.map +1 -1
  76. package/cli/dist/commands/show.js +41 -0
  77. package/cli/dist/commands/show.js.map +1 -1
  78. package/modules.md +52 -0
  79. package/package.json +1 -1
@@ -0,0 +1,839 @@
1
+ # AI Prompt Templates for WordPress Plugin Development
2
+
3
+ This document provides ready-to-use AI prompt templates for common WordPress plugin development tasks. These prompts are optimized for use with AI coding assistants like Augment Code AI.
4
+
5
+ ## Table of Contents
6
+
7
+ 1. [Plugin Creation Prompts](#plugin-creation-prompts)
8
+ 2. [Feature Development Prompts](#feature-development-prompts)
9
+ 3. [Security Audit Prompts](#security-audit-prompts)
10
+ 4. [Testing Prompts](#testing-prompts)
11
+ 5. [WordPress.org Submission Prompts](#wordpress-org-submission-prompts)
12
+ 6. [Debugging Prompts](#debugging-prompts)
13
+ 7. [Optimization Prompts](#optimization-prompts)
14
+
15
+ ---
16
+
17
+ ## Plugin Creation Prompts
18
+
19
+ ### Basic Plugin Scaffolding
20
+
21
+ ```
22
+ Create a WordPress plugin called [Plugin Name] that [brief description].
23
+
24
+ Requirements:
25
+ - Plugin slug: [plugin-slug]
26
+ - Text domain: [plugin-slug]
27
+ - Minimum WordPress version: 6.0
28
+ - PHP version: 7.4+
29
+ - License: GPL-2.0+
30
+
31
+ Features:
32
+ - [Feature 1]
33
+ - [Feature 2]
34
+ - [Feature 3]
35
+
36
+ Architecture:
37
+ - Use object-oriented approach
38
+ - Separate admin and public functionality
39
+ - Follow WordPress coding standards
40
+ - Include activation/deactivation hooks
41
+
42
+ File structure:
43
+ - Main plugin file with header
44
+ - Includes directory for core classes
45
+ - Admin directory for admin functionality
46
+ - Public directory for frontend functionality
47
+ - Languages directory for translations
48
+
49
+ Security requirements:
50
+ - Nonce verification for all forms
51
+ - Capability checks for admin actions
52
+ - Input sanitization using WordPress functions
53
+ - Output escaping for all user-generated content
54
+
55
+ Create the basic plugin structure with all necessary files and boilerplate code.
56
+ ```
57
+
58
+ ### Plugin with Custom Post Type
59
+
60
+ ```
61
+ Create a WordPress plugin called [Plugin Name] that manages [custom post type].
62
+
63
+ Requirements:
64
+ - Plugin slug: [plugin-slug]
65
+ - Custom post type: [post-type-slug]
66
+ - Custom taxonomy: [taxonomy-slug] (if applicable)
67
+ - Minimum WordPress version: 6.0
68
+
69
+ Features:
70
+ - Register custom post type with proper labels
71
+ - Register custom taxonomy (if applicable)
72
+ - Admin interface for managing [post type]
73
+ - Frontend display with custom template
74
+ - Shortcode: [shortcode-name]
75
+ - Widget support (optional)
76
+
77
+ Custom post type configuration:
78
+ - Public: true
79
+ - Has archive: true
80
+ - Supports: title, editor, thumbnail, excerpt
81
+ - Menu icon: [dashicon-name]
82
+ - Rewrite slug: [slug]
83
+
84
+ Include:
85
+ - Custom meta boxes for additional fields
86
+ - Custom columns in admin list view
87
+ - Filters for custom queries
88
+ - Template hierarchy support
89
+
90
+ Follow WordPress best practices for custom post types and taxonomies.
91
+ ```
92
+
93
+ ### Plugin with Settings Page
94
+
95
+ ```
96
+ Create a WordPress plugin called [Plugin Name] with a settings page.
97
+
98
+ Requirements:
99
+ - Plugin slug: [plugin-slug]
100
+ - Settings page location: Settings > [Page Name]
101
+ - Minimum WordPress version: 6.0
102
+
103
+ Settings to include:
104
+ - [Setting 1]: [type] (text, checkbox, select, etc.)
105
+ - [Setting 2]: [type]
106
+ - [Setting 3]: [type]
107
+
108
+ Features:
109
+ - Settings page using WordPress Settings API
110
+ - Proper sanitization for all settings
111
+ - Default values on activation
112
+ - Settings validation
113
+ - Success/error messages
114
+ - Reset to defaults option
115
+
116
+ Security:
117
+ - Nonce verification for form submission
118
+ - Capability check: manage_options
119
+ - Sanitize all inputs based on type
120
+ - Escape all outputs
121
+
122
+ Use WordPress Settings API with register_setting(), add_settings_section(), and add_settings_field().
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Feature Development Prompts
128
+
129
+ ### Add AJAX Functionality
130
+
131
+ ```
132
+ Add AJAX functionality to [plugin name] for [feature description].
133
+
134
+ Requirements:
135
+ - AJAX action: [action-name]
136
+ - Trigger: [user action, e.g., button click, form submit]
137
+ - Response: [JSON response format]
138
+
139
+ Implementation:
140
+ - Create AJAX handler in PHP
141
+ - Add JavaScript for AJAX request
142
+ - Localize script with ajax_url and nonce
143
+ - Handle success and error responses
144
+ - Show loading state during request
145
+
146
+ Security:
147
+ - Verify nonce with check_ajax_referer()
148
+ - Check user capability: [capability]
149
+ - Sanitize all inputs
150
+ - Escape all outputs in response
151
+
152
+ JavaScript requirements:
153
+ - Use jQuery.ajax() or fetch()
154
+ - Handle errors gracefully
155
+ - Update UI based on response
156
+ - Show user-friendly error messages
157
+
158
+ PHP handler requirements:
159
+ - Hook to wp_ajax_[action] and wp_ajax_nopriv_[action] (if public)
160
+ - Return JSON with wp_send_json_success() or wp_send_json_error()
161
+ - Log errors for debugging
162
+ ```
163
+
164
+ ### Add REST API Endpoint
165
+
166
+ ```
167
+ Add a REST API endpoint to [plugin name] for [purpose].
168
+
169
+ Requirements:
170
+ - Namespace: [plugin-slug]/v1
171
+ - Route: /[endpoint-path]
172
+ - Methods: [GET, POST, PUT, DELETE]
173
+ - Authentication: [required/optional]
174
+
175
+ Endpoint details:
176
+ - URL: /wp-json/[plugin-slug]/v1/[endpoint-path]
177
+ - Parameters: [list parameters with types]
178
+ - Response format: [JSON structure]
179
+
180
+ Implementation:
181
+ - Register route with register_rest_route()
182
+ - Create callback function
183
+ - Add permission callback
184
+ - Validate parameters with args
185
+ - Sanitize inputs
186
+ - Return WP_REST_Response
187
+
188
+ Security:
189
+ - Permission callback to check capabilities
190
+ - Nonce verification (if needed)
191
+ - Sanitize all inputs
192
+ - Validate parameter types
193
+ - Rate limiting (if applicable)
194
+
195
+ Example usage:
196
+ - Show example JavaScript fetch() call
197
+ - Show example cURL command
198
+ ```
199
+
200
+ ### Add Custom Database Table
201
+
202
+ ```
203
+ Add a custom database table to [plugin name] for [purpose].
204
+
205
+ Requirements:
206
+ - Table name: wp_[plugin_prefix]_[table_name]
207
+ - Columns: [list columns with types]
208
+ - Indexes: [list indexes]
209
+
210
+ Table schema:
211
+ - id: bigint(20) AUTO_INCREMENT PRIMARY KEY
212
+ - [column1]: [type] [constraints]
213
+ - [column2]: [type] [constraints]
214
+ - created_at: datetime DEFAULT CURRENT_TIMESTAMP
215
+ - updated_at: datetime ON UPDATE CURRENT_TIMESTAMP
216
+
217
+ Implementation:
218
+ - Create table on plugin activation using dbDelta()
219
+ - Add version checking for updates
220
+ - Create model class with CRUD methods
221
+ - Use $wpdb->prepare() for all queries
222
+ - Add proper indexes for performance
223
+
224
+ Model class methods:
225
+ - create($data): Insert new record
226
+ - get_by_id($id): Get single record
227
+ - get_all($args): Get multiple records with pagination
228
+ - update($id, $data): Update record
229
+ - delete($id): Delete record
230
+
231
+ Security:
232
+ - Always use $wpdb->prepare() with placeholders
233
+ - Sanitize all inputs
234
+ - Validate data before insertion
235
+ - Use correct placeholder types (%s, %d, %f)
236
+
237
+ Uninstall:
238
+ - Drop table in uninstall.php (optional)
239
+ - Or keep data for plugin reinstallation
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Security Audit Prompts
245
+
246
+ ### Comprehensive Security Audit
247
+
248
+ ```
249
+ Perform a comprehensive security audit on [plugin name].
250
+
251
+ Audit scope:
252
+ 1. CSRF Protection (Cross-Site Request Forgery)
253
+ 2. XSS Prevention (Cross-Site Scripting)
254
+ 3. SQL Injection Prevention
255
+ 4. Authentication and Authorization
256
+ 5. Input Validation and Sanitization
257
+ 6. Output Escaping
258
+ 7. File Upload Security (if applicable)
259
+ 8. API Security (if applicable)
260
+
261
+ For each area, check:
262
+ - All forms have nonce verification
263
+ - All AJAX handlers verify nonces
264
+ - All admin actions check capabilities
265
+ - All user input is sanitized
266
+ - All output is escaped
267
+ - All database queries use prepared statements
268
+ - No eval() or exec() usage
269
+ - No unserialize() on user input
270
+ - File uploads are restricted and validated
271
+
272
+ Provide a report with:
273
+ - List of vulnerabilities found
274
+ - Severity rating (Critical, High, Medium, Low)
275
+ - File names and line numbers
276
+ - Recommended fixes with code examples
277
+ - Security best practices to implement
278
+
279
+ Use WordPress security functions:
280
+ - wp_nonce_field(), wp_verify_nonce(), check_ajax_referer()
281
+ - sanitize_text_field(), sanitize_email(), sanitize_textarea_field()
282
+ - esc_html(), esc_attr(), esc_url(), esc_js()
283
+ - $wpdb->prepare() with %s, %d, %f placeholders
284
+ - current_user_can() for capability checks
285
+ ```
286
+
287
+ ### Fix Security Vulnerabilities
288
+
289
+ ```
290
+ Fix the following security vulnerabilities in [plugin name]:
291
+
292
+ [List vulnerabilities with file names and line numbers]
293
+
294
+ For each vulnerability:
295
+ 1. Explain the security risk
296
+ 2. Show the vulnerable code
297
+ 3. Provide the secure fix
298
+ 4. Explain why the fix works
299
+
300
+ Security fixes to apply:
301
+ - Add nonce verification to forms
302
+ - Add nonce verification to AJAX handlers
303
+ - Add capability checks to admin actions
304
+ - Sanitize all user inputs
305
+ - Escape all outputs
306
+ - Convert database queries to use $wpdb->prepare()
307
+
308
+ Follow WordPress security best practices:
309
+ - Use WordPress security functions (not custom implementations)
310
+ - Apply defense in depth (multiple layers of security)
311
+ - Validate on both client and server side
312
+ - Log security events for monitoring
313
+ - Use least privilege principle for capabilities
314
+
315
+ Test all fixes to ensure:
316
+ - Functionality still works correctly
317
+ - Security vulnerabilities are resolved
318
+ - No new vulnerabilities introduced
319
+ - User experience is not negatively impacted
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Testing Prompts
325
+
326
+ ### Set Up PHPUnit Testing
327
+
328
+ ```
329
+ Set up PHPUnit testing for [plugin name].
330
+
331
+ Requirements:
332
+ - Install PHPUnit via Composer
333
+ - Install WordPress Test Suite
334
+ - Create test bootstrap file
335
+ - Create PHPUnit configuration
336
+ - Create test directory structure
337
+
338
+ Directory structure:
339
+ tests/
340
+ ├── bootstrap.php
341
+ ├── unit/
342
+ │ ├── test-[class-name].php
343
+ │ └── ...
344
+ ├── integration/
345
+ │ ├── test-[feature-name].php
346
+ │ └── ...
347
+ ├── fixtures/
348
+ │ └── sample-data.php
349
+ └── mocks/
350
+ └── mock-[class-name].php
351
+
352
+ Test coverage needed:
353
+ - Unit tests for core logic (isolated from WordPress)
354
+ - Integration tests for WordPress integration
355
+ - AJAX tests for AJAX handlers
356
+ - Database tests for custom tables
357
+ - REST API tests for endpoints
358
+
359
+ Configuration:
360
+ - PHPUnit version: 9.x
361
+ - WordPress test suite: latest
362
+ - Code coverage: enabled
363
+ - Test groups: unit, integration, ajax, database
364
+
365
+ Create example tests for:
366
+ - [Class/Feature 1]
367
+ - [Class/Feature 2]
368
+ - [Class/Feature 3]
369
+
370
+ Use WordPress test suite functions:
371
+ - WP_UnitTestCase for WordPress integration tests
372
+ - factory() for creating test data
373
+ - go_to() for simulating page requests
374
+ ```
375
+
376
+ ### Write Unit Tests
377
+
378
+ ```
379
+ Write comprehensive unit tests for [class/feature name] in [plugin name].
380
+
381
+ Class/Feature to test:
382
+ - File: [file path]
383
+ - Class: [class name]
384
+ - Methods: [list methods]
385
+
386
+ Test coverage requirements:
387
+ - Test all public methods
388
+ - Test edge cases and error conditions
389
+ - Test with valid and invalid inputs
390
+ - Test return values and side effects
391
+ - Achieve > 80% code coverage
392
+
393
+ Test structure:
394
+ - One test class per class being tested
395
+ - One test method per scenario
396
+ - Use descriptive test method names
397
+ - Follow Arrange-Act-Assert pattern
398
+
399
+ Example test scenarios:
400
+ - Test with valid input
401
+ - Test with invalid input
402
+ - Test with empty input
403
+ - Test with boundary values
404
+ - Test error handling
405
+ - Test WordPress integration (if applicable)
406
+
407
+ Use PHPUnit assertions:
408
+ - assertEquals(), assertSame(), assertTrue(), assertFalse()
409
+ - assertInstanceOf(), assertArrayHasKey()
410
+ - expectException() for error testing
411
+
412
+ Mock WordPress functions where needed:
413
+ - Use WP_Mock or Brain\Monkey for mocking
414
+ - Mock database calls
415
+ - Mock WordPress hooks
416
+ ```
417
+
418
+ ### Write Integration Tests
419
+
420
+ ```
421
+ Write integration tests for [feature name] in [plugin name].
422
+
423
+ Feature to test:
424
+ - Description: [feature description]
425
+ - Files involved: [list files]
426
+ - WordPress integration points: [hooks, filters, etc.]
427
+
428
+ Test scenarios:
429
+ - Test feature with WordPress environment
430
+ - Test database operations
431
+ - Test AJAX handlers
432
+ - Test REST API endpoints
433
+ - Test shortcodes
434
+ - Test widgets
435
+ - Test admin pages
436
+
437
+ Integration test requirements:
438
+ - Use WP_UnitTestCase
439
+ - Create test data with factory()
440
+ - Clean up after each test
441
+ - Test with different user roles
442
+ - Test with different WordPress configurations
443
+
444
+ Example tests:
445
+ 1. Test [scenario 1]
446
+ 2. Test [scenario 2]
447
+ 3. Test [scenario 3]
448
+
449
+ Use WordPress test utilities:
450
+ - $this->factory->post->create() for test posts
451
+ - $this->factory->user->create() for test users
452
+ - wp_set_current_user() to simulate logged-in users
453
+ - do_action() to trigger hooks
454
+ - apply_filters() to test filters
455
+ ```
456
+
457
+ ---
458
+
459
+ ## WordPress.org Submission Prompts
460
+
461
+ ### Prepare Plugin for Submission
462
+
463
+ ```
464
+ Prepare [plugin name] for WordPress.org submission.
465
+
466
+ Pre-submission checklist:
467
+ 1. Code Quality
468
+ - Run WPCS check: vendor/bin/phpcs --standard=WordPress
469
+ - Fix all errors and warnings
470
+ - Ensure all functions are documented (PHPDoc)
471
+ - Remove debug code and console.log statements
472
+
473
+ 2. Security
474
+ - Run security audit
475
+ - Fix all security vulnerabilities
476
+ - Verify nonce usage in all forms
477
+ - Verify capability checks in all admin actions
478
+ - Verify input sanitization and output escaping
479
+
480
+ 3. Functionality
481
+ - Test all features
482
+ - Test with latest WordPress version
483
+ - Test with minimum supported version
484
+ - Test with common themes
485
+ - Test with common plugins
486
+
487
+ 4. Documentation
488
+ - Create/update readme.txt
489
+ - Validate readme.txt format
490
+ - Add installation instructions
491
+ - Add FAQ section
492
+ - Add changelog
493
+
494
+ 5. Assets
495
+ - Create banner images (772x250, 1544x500)
496
+ - Create icon images (128x128, 256x256)
497
+ - Take screenshots (at least 2-3)
498
+ - Optimize all images
499
+
500
+ 6. Licensing
501
+ - Verify GPL-2.0+ license
502
+ - Check third-party library licenses
503
+ - Add license file
504
+ - Add copyright notices
505
+
506
+ Create a submission-ready ZIP file excluding:
507
+ - .git, .gitignore
508
+ - node_modules, vendor
509
+ - tests, .phpunit.xml
510
+ - Development files (package.json, composer.json)
511
+ - Documentation files (.md files except readme.txt)
512
+
513
+ Provide a checklist of completed items and any remaining tasks.
514
+ ```
515
+
516
+ ### Create readme.txt
517
+
518
+ ```
519
+ Create a WordPress.org readme.txt file for [plugin name].
520
+
521
+ Plugin details:
522
+ - Plugin name: [name]
523
+ - Description: [brief description]
524
+ - Contributors: [wordpress.org usernames]
525
+ - Tags: [tag1, tag2, tag3] (max 5)
526
+ - Requires at least: 6.0
527
+ - Tested up to: 6.4
528
+ - Requires PHP: 7.4
529
+ - Stable tag: [version]
530
+ - License: GPLv2 or later
531
+
532
+ Include these sections:
533
+ 1. Short Description (150 characters max)
534
+ 2. Description (detailed features and benefits)
535
+ 3. Installation (step-by-step instructions)
536
+ 4. Frequently Asked Questions (at least 3-5 questions)
537
+ 5. Screenshots (descriptions for each)
538
+ 6. Changelog (version history)
539
+ 7. Upgrade Notice (important upgrade information)
540
+
541
+ Features to highlight:
542
+ - [Feature 1]
543
+ - [Feature 2]
544
+ - [Feature 3]
545
+
546
+ Use proper readme.txt format:
547
+ - Use === for plugin name
548
+ - Use == for section headers
549
+ - Use = for subsection headers
550
+ - Use * for bullet points
551
+ - Use 1. 2. 3. for numbered lists
552
+
553
+ Validate with: https://wordpress.org/plugins/developers/readme-validator/
554
+ ```
555
+
556
+ ---
557
+
558
+ ## Debugging Prompts
559
+
560
+ ### Debug Plugin Issue
561
+
562
+ ```
563
+ Debug the following issue in [plugin name]:
564
+
565
+ Issue description:
566
+ [Describe the problem]
567
+
568
+ Steps to reproduce:
569
+ 1. [Step 1]
570
+ 2. [Step 2]
571
+ 3. [Step 3]
572
+
573
+ Expected behavior:
574
+ [What should happen]
575
+
576
+ Actual behavior:
577
+ [What actually happens]
578
+
579
+ Environment:
580
+ - WordPress version: [version]
581
+ - PHP version: [version]
582
+ - Active theme: [theme name]
583
+ - Active plugins: [list plugins]
584
+
585
+ Debug process:
586
+ 1. Enable WordPress debug mode (WP_DEBUG, WP_DEBUG_LOG)
587
+ 2. Check error logs for PHP errors
588
+ 3. Check browser console for JavaScript errors
589
+ 4. Add debug logging to relevant functions
590
+ 5. Test with default theme (Twenty Twenty-Four)
591
+ 6. Test with all other plugins deactivated
592
+ 7. Check for conflicts with other plugins/themes
593
+
594
+ Provide:
595
+ - Root cause of the issue
596
+ - Step-by-step fix
597
+ - Code changes needed
598
+ - Testing steps to verify fix
599
+ - Prevention measures for future
600
+ ```
601
+
602
+ ### Optimize Plugin Performance
603
+
604
+ ```
605
+ Optimize the performance of [plugin name].
606
+
607
+ Current performance issues:
608
+ - [Issue 1: e.g., slow page load]
609
+ - [Issue 2: e.g., too many database queries]
610
+ - [Issue 3: e.g., large asset files]
611
+
612
+ Optimization areas:
613
+ 1. Database Queries
614
+ - Identify N+1 query problems
615
+ - Add database indexes
616
+ - Implement query caching
617
+ - Use transients for expensive queries
618
+
619
+ 2. Asset Loading
620
+ - Minify CSS and JavaScript
621
+ - Combine files where possible
622
+ - Conditional loading (only load when needed)
623
+ - Use wp_enqueue_script() with dependencies
624
+
625
+ 3. Caching
626
+ - Implement object caching
627
+ - Use transients for API calls
628
+ - Cache expensive calculations
629
+ - Set appropriate cache expiration
630
+
631
+ 4. Code Optimization
632
+ - Remove unnecessary loops
633
+ - Optimize algorithms
634
+ - Lazy load data
635
+ - Use WordPress core functions
636
+
637
+ Performance targets:
638
+ - Page load time: < 2 seconds
639
+ - Database queries: < 10 per page
640
+ - Asset size: < 500KB total
641
+ - Time to First Byte: < 600ms
642
+
643
+ Provide:
644
+ - Performance audit results
645
+ - Specific optimizations to implement
646
+ - Before/after performance metrics
647
+ - Testing methodology
648
+ ```
649
+
650
+ ---
651
+
652
+ ## Optimization Prompts
653
+
654
+ ### Add Caching
655
+
656
+ ```
657
+ Add caching to [plugin name] for [feature/data].
658
+
659
+ Caching requirements:
660
+ - Cache type: [transient, object cache, page cache]
661
+ - Cache duration: [time in seconds]
662
+ - Cache key: [unique identifier]
663
+ - Invalidation triggers: [when to clear cache]
664
+
665
+ Implementation:
666
+ - Use WordPress Transients API
667
+ - Set appropriate expiration time
668
+ - Implement cache invalidation
669
+ - Add cache warming (if needed)
670
+ - Handle cache misses gracefully
671
+
672
+ Example caching scenarios:
673
+ 1. Cache API responses
674
+ 2. Cache database query results
675
+ 3. Cache expensive calculations
676
+ 4. Cache rendered HTML
677
+
678
+ Code structure:
679
+ ```php
680
+ // Check cache
681
+ $cache_key = 'plugin_prefix_' . $identifier;
682
+ $cached_data = get_transient($cache_key);
683
+
684
+ if (false !== $cached_data) {
685
+ return $cached_data;
686
+ }
687
+
688
+ // Generate data
689
+ $data = expensive_operation();
690
+
691
+ // Store in cache
692
+ set_transient($cache_key, $data, HOUR_IN_SECONDS);
693
+
694
+ return $data;
695
+ ```
696
+
697
+ Cache invalidation:
698
+ - Clear cache on data update
699
+ - Clear cache on plugin settings change
700
+ - Provide manual cache clear option
701
+ - Clear cache on plugin deactivation (optional)
702
+ ```
703
+
704
+ ### Implement Lazy Loading
705
+
706
+ ```
707
+ Implement lazy loading for [feature/content] in [plugin name].
708
+
709
+ Lazy loading requirements:
710
+ - Load content only when needed
711
+ - Improve initial page load time
712
+ - Reduce unnecessary HTTP requests
713
+ - Maintain good user experience
714
+
715
+ Implementation approaches:
716
+ 1. JavaScript lazy loading
717
+ - Load content on scroll
718
+ - Load content on click
719
+ - Load content on viewport intersection
720
+
721
+ 2. PHP lazy loading
722
+ - Load data only when accessed
723
+ - Use lazy initialization pattern
724
+ - Defer expensive operations
725
+
726
+ 3. Image lazy loading
727
+ - Use loading="lazy" attribute
728
+ - Implement intersection observer
729
+ - Provide placeholder images
730
+
731
+ Example scenarios:
732
+ - Lazy load images in gallery
733
+ - Lazy load admin page content
734
+ - Lazy load widget content
735
+ - Lazy load AJAX data
736
+
737
+ Provide:
738
+ - Implementation code
739
+ - Fallback for browsers without JavaScript
740
+ - Performance improvement metrics
741
+ - User experience considerations
742
+ ```
743
+
744
+ ---
745
+
746
+ ## Usage Examples
747
+
748
+ ### Example: Create Contact Form Plugin
749
+
750
+ ```
751
+ Create a WordPress plugin called "Simple Contact Form" that allows users to submit contact messages.
752
+
753
+ Requirements:
754
+ - Plugin slug: simple-contact-form
755
+ - Text domain: simple-contact-form
756
+ - Minimum WordPress version: 6.0
757
+ - PHP version: 7.4+
758
+
759
+ Features:
760
+ - Frontend contact form with fields: name, email, subject, message
761
+ - Shortcode: [simple_contact_form]
762
+ - Admin page to view submissions (Tools > Contact Messages)
763
+ - Email notifications to site admin
764
+ - AJAX form submission
765
+ - Rate limiting (3 submissions per hour per IP)
766
+ - Custom fields support (admin can add custom form fields)
767
+
768
+ Architecture:
769
+ - Object-oriented with separate classes for form, message model, email handler
770
+ - Admin and public functionality separated
771
+ - Use WordPress Settings API for configuration
772
+
773
+ Security requirements:
774
+ - Nonce verification for form submission
775
+ - Capability check: manage_options for admin page
776
+ - Sanitize all inputs (sanitize_text_field, sanitize_email, sanitize_textarea_field)
777
+ - Escape all outputs (esc_html, esc_attr, esc_url)
778
+ - Rate limiting to prevent spam
779
+
780
+ Database:
781
+ - Custom table: wp_simple_contact_messages
782
+ - Columns: id, name, email, subject, message, ip_address, submitted_at, status
783
+
784
+ Create complete plugin with all files, classes, and functionality.
785
+ ```
786
+
787
+ ### Example: Add Security Audit
788
+
789
+ ```
790
+ Perform a comprehensive security audit on the Simple Contact Form plugin.
791
+
792
+ Check for:
793
+ 1. CSRF Protection
794
+ - All forms have nonce verification
795
+ - All AJAX handlers verify nonces
796
+
797
+ 2. XSS Prevention
798
+ - All output is properly escaped
799
+ - Admin pages escape user data
800
+ - Email templates escape content
801
+
802
+ 3. SQL Injection
803
+ - All database queries use $wpdb->prepare()
804
+ - Correct placeholder types used
805
+
806
+ 4. Authorization
807
+ - Admin pages check manage_options capability
808
+ - Data modification checks permissions
809
+
810
+ 5. Input Validation
811
+ - Email addresses validated
812
+ - Required fields checked
813
+ - Data types validated
814
+
815
+ Provide detailed report with:
816
+ - Vulnerabilities found (with severity)
817
+ - File names and line numbers
818
+ - Recommended fixes with code examples
819
+ - Security best practices to implement
820
+ ```
821
+
822
+ ---
823
+
824
+ ## Tips for Using These Prompts
825
+
826
+ 1. **Customize for your needs**: Replace placeholders like [plugin name], [feature], etc.
827
+ 2. **Be specific**: Add more details about your requirements
828
+ 3. **Combine prompts**: Use multiple prompts for complex tasks
829
+ 4. **Iterate**: Refine prompts based on AI responses
830
+ 5. **Verify output**: Always review and test generated code
831
+ 6. **Follow up**: Ask clarifying questions if needed
832
+
833
+ ## Related Resources
834
+
835
+ - WordPress Plugin Handbook: https://developer.wordpress.org/plugins/
836
+ - WordPress Coding Standards: https://developer.wordpress.org/coding-standards/
837
+ - WordPress Security: https://developer.wordpress.org/apis/security/
838
+ - Plugin Review Guidelines: https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/
839
+