@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,388 @@
1
+ # WordPress Theme Development Workflow
2
+
3
+ ## Overview
4
+
5
+ This document provides step-by-step workflows for WordPress theme development, covering both classic and block themes.
6
+
7
+ ## Workflow 1: Create New Block Theme
8
+
9
+ ### Step 1: Initialize Theme Structure
10
+
11
+ ```bash
12
+ # Create theme directory
13
+ mkdir wp-content/themes/my-theme
14
+ cd wp-content/themes/my-theme
15
+
16
+ # Create required directories
17
+ mkdir templates parts patterns assets assets/css assets/js
18
+ ```
19
+
20
+ ### Step 2: Create Required Files
21
+
22
+ **style.css** (Required):
23
+ ```css
24
+ /*
25
+ Theme Name: My Theme
26
+ Theme URI: https://example.com/my-theme
27
+ Author: Your Name
28
+ Author URI: https://example.com
29
+ Description: A modern block theme
30
+ Requires at least: 6.4
31
+ Tested up to: 6.4
32
+ Requires PHP: 7.4
33
+ Version: 1.0.0
34
+ License: GNU General Public License v2 or later
35
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
36
+ Text Domain: my-theme
37
+ Tags: block-theme, full-site-editing, custom-colors
38
+ */
39
+ ```
40
+
41
+ **theme.json** (Required):
42
+ ```json
43
+ {
44
+ "$schema": "https://schemas.wp.org/trunk/theme.json",
45
+ "version": 2,
46
+ "settings": {
47
+ "appearanceTools": true,
48
+ "layout": {
49
+ "contentSize": "840px",
50
+ "wideSize": "1100px"
51
+ },
52
+ "color": {
53
+ "palette": [
54
+ {
55
+ "slug": "primary",
56
+ "color": "#0073aa",
57
+ "name": "Primary"
58
+ },
59
+ {
60
+ "slug": "secondary",
61
+ "color": "#23282d",
62
+ "name": "Secondary"
63
+ },
64
+ {
65
+ "slug": "white",
66
+ "color": "#ffffff",
67
+ "name": "White"
68
+ },
69
+ {
70
+ "slug": "black",
71
+ "color": "#000000",
72
+ "name": "Black"
73
+ }
74
+ ]
75
+ },
76
+ "typography": {
77
+ "fontFamilies": [
78
+ {
79
+ "fontFamily": "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif",
80
+ "slug": "system-font",
81
+ "name": "System Font"
82
+ }
83
+ ],
84
+ "fontSizes": [
85
+ {
86
+ "slug": "small",
87
+ "size": "14px",
88
+ "name": "Small"
89
+ },
90
+ {
91
+ "slug": "medium",
92
+ "size": "18px",
93
+ "name": "Medium"
94
+ },
95
+ {
96
+ "slug": "large",
97
+ "size": "24px",
98
+ "name": "Large"
99
+ },
100
+ {
101
+ "slug": "x-large",
102
+ "size": "32px",
103
+ "name": "Extra Large"
104
+ }
105
+ ]
106
+ },
107
+ "spacing": {
108
+ "units": ["px", "em", "rem", "vh", "vw", "%"]
109
+ }
110
+ },
111
+ "styles": {
112
+ "color": {
113
+ "background": "var(--wp--preset--color--white)",
114
+ "text": "var(--wp--preset--color--black)"
115
+ },
116
+ "typography": {
117
+ "fontFamily": "var(--wp--preset--font-family--system-font)",
118
+ "fontSize": "var(--wp--preset--font-size--medium)",
119
+ "lineHeight": "1.6"
120
+ },
121
+ "spacing": {
122
+ "padding": {
123
+ "top": "0px",
124
+ "right": "0px",
125
+ "bottom": "0px",
126
+ "left": "0px"
127
+ }
128
+ }
129
+ }
130
+ }
131
+ ```
132
+
133
+ **templates/index.html** (Required):
134
+ ```html
135
+ <!-- wp:template-part {"slug":"header","tagName":"header"} /-->
136
+
137
+ <!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
138
+ <main class="wp-block-group">
139
+ <!-- wp:query {"queryId":0,"query":{"perPage":10,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date"}} -->
140
+ <div class="wp-block-query">
141
+ <!-- wp:post-template -->
142
+ <!-- wp:post-title {"isLink":true} /-->
143
+ <!-- wp:post-date /-->
144
+ <!-- wp:post-excerpt /-->
145
+ <!-- /wp:post-template -->
146
+
147
+ <!-- wp:query-pagination -->
148
+ <!-- wp:query-pagination-previous /-->
149
+ <!-- wp:query-pagination-numbers /-->
150
+ <!-- wp:query-pagination-next /-->
151
+ <!-- /wp:query-pagination -->
152
+ </div>
153
+ <!-- /wp:query -->
154
+ </main>
155
+ <!-- /wp:group -->
156
+
157
+ <!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
158
+ ```
159
+
160
+ **parts/header.html**:
161
+ ```html
162
+ <!-- wp:group {"layout":{"type":"flex","justifyContent":"space-between"}} -->
163
+ <div class="wp-block-group">
164
+ <!-- wp:site-title /-->
165
+ <!-- wp:navigation /-->
166
+ </div>
167
+ <!-- /wp:group -->
168
+ ```
169
+
170
+ **parts/footer.html**:
171
+ ```html
172
+ <!-- wp:group {"layout":{"type":"constrained"}} -->
173
+ <div class="wp-block-group">
174
+ <!-- wp:paragraph {"align":"center"} -->
175
+ <p class="has-text-align-center">© 2024 My Theme. All rights reserved.</p>
176
+ <!-- /wp:paragraph -->
177
+ </div>
178
+ <!-- /wp:group -->
179
+ ```
180
+
181
+ **functions.php** (Optional but recommended):
182
+ ```php
183
+ <?php
184
+ /**
185
+ * My Theme functions and definitions
186
+ */
187
+
188
+ // Prevent direct access
189
+ if ( ! defined( 'ABSPATH' ) ) {
190
+ exit;
191
+ }
192
+
193
+ /**
194
+ * Enqueue theme styles
195
+ */
196
+ function my_theme_enqueue_styles() {
197
+ wp_enqueue_style(
198
+ 'my-theme-style',
199
+ get_stylesheet_uri(),
200
+ array(),
201
+ wp_get_theme()->get( 'Version' )
202
+ );
203
+ }
204
+ add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
205
+
206
+ /**
207
+ * Register block patterns
208
+ */
209
+ function my_theme_register_patterns() {
210
+ register_block_pattern_category(
211
+ 'my-theme',
212
+ array( 'label' => __( 'My Theme', 'my-theme' ) )
213
+ );
214
+ }
215
+ add_action( 'init', 'my_theme_register_patterns' );
216
+ ```
217
+
218
+ ### Step 3: Create Additional Templates
219
+
220
+ Create these templates as needed:
221
+
222
+ - `templates/single.html` - Single post
223
+ - `templates/page.html` - Page
224
+ - `templates/archive.html` - Archive
225
+ - `templates/404.html` - 404 error
226
+ - `templates/front-page.html` - Front page
227
+ - `templates/home.html` - Blog home
228
+
229
+ ### Step 4: Add Screenshot
230
+
231
+ Create `screenshot.png` (1200x900px recommended) showing theme preview.
232
+
233
+ ### Step 5: Activate Theme
234
+
235
+ 1. Go to WordPress admin → Appearance → Themes
236
+ 2. Find your theme
237
+ 3. Click "Activate"
238
+
239
+ ## Workflow 2: Convert Classic Theme to Block Theme
240
+
241
+ ### Step 1: Add theme.json
242
+
243
+ Create `theme.json` in theme root with basic configuration (see above).
244
+
245
+ ### Step 2: Create Templates Directory
246
+
247
+ ```bash
248
+ mkdir templates parts
249
+ ```
250
+
251
+ ### Step 3: Convert Template Files
252
+
253
+ **Convert header.php to parts/header.html**:
254
+ 1. Extract header HTML
255
+ 2. Convert to block markup
256
+ 3. Replace PHP functions with block equivalents
257
+
258
+ **Convert footer.php to parts/footer.html**:
259
+ 1. Extract footer HTML
260
+ 2. Convert to block markup
261
+
262
+ **Convert index.php to templates/index.html**:
263
+ 1. Extract main content area
264
+ 2. Convert loop to Query block
265
+ 3. Add template parts for header/footer
266
+
267
+ ### Step 4: Test and Refine
268
+
269
+ 1. Activate theme
270
+ 2. Test all templates
271
+ 3. Adjust block markup as needed
272
+ 4. Remove old PHP templates once converted
273
+
274
+ ## Workflow 3: Theme Setup and Configuration
275
+
276
+ ### Enqueue Assets
277
+
278
+ **functions.php**:
279
+ ```php
280
+ function my_theme_enqueue_assets() {
281
+ // Enqueue stylesheet
282
+ wp_enqueue_style(
283
+ 'my-theme-style',
284
+ get_stylesheet_uri(),
285
+ array(),
286
+ wp_get_theme()->get( 'Version' )
287
+ );
288
+
289
+ // Enqueue custom CSS
290
+ wp_enqueue_style(
291
+ 'my-theme-custom',
292
+ get_template_directory_uri() . '/assets/css/custom.css',
293
+ array( 'my-theme-style' ),
294
+ '1.0.0'
295
+ );
296
+
297
+ // Enqueue JavaScript
298
+ wp_enqueue_script(
299
+ 'my-theme-script',
300
+ get_template_directory_uri() . '/assets/js/main.js',
301
+ array(),
302
+ '1.0.0',
303
+ true
304
+ );
305
+ }
306
+ add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_assets' );
307
+ ```
308
+
309
+ ### Register Navigation Menus
310
+
311
+ ```php
312
+ function my_theme_register_menus() {
313
+ register_nav_menus( array(
314
+ 'primary' => __( 'Primary Menu', 'my-theme' ),
315
+ 'footer' => __( 'Footer Menu', 'my-theme' ),
316
+ ) );
317
+ }
318
+ add_action( 'after_setup_theme', 'my_theme_register_menus' );
319
+ ```
320
+
321
+ ### Add Theme Support
322
+
323
+ ```php
324
+ function my_theme_setup() {
325
+ // Add default posts and comments RSS feed links to head
326
+ add_theme_support( 'automatic-feed-links' );
327
+
328
+ // Let WordPress manage the document title
329
+ add_theme_support( 'title-tag' );
330
+
331
+ // Enable support for Post Thumbnails
332
+ add_theme_support( 'post-thumbnails' );
333
+
334
+ // Add support for responsive embeds
335
+ add_theme_support( 'responsive-embeds' );
336
+
337
+ // Add support for editor styles
338
+ add_theme_support( 'editor-styles' );
339
+
340
+ // Add support for HTML5 markup
341
+ add_theme_support( 'html5', array(
342
+ 'search-form',
343
+ 'comment-form',
344
+ 'comment-list',
345
+ 'gallery',
346
+ 'caption',
347
+ 'style',
348
+ 'script',
349
+ ) );
350
+
351
+ // Add support for custom logo
352
+ add_theme_support( 'custom-logo', array(
353
+ 'height' => 100,
354
+ 'width' => 400,
355
+ 'flex-height' => true,
356
+ 'flex-width' => true,
357
+ ) );
358
+ }
359
+ add_action( 'after_setup_theme', 'my_theme_setup' );
360
+ ```
361
+
362
+ ## Best Practices
363
+
364
+ ### DO
365
+
366
+ ✅ Use `theme.json` for global styles and settings
367
+ ✅ Follow WordPress coding standards
368
+ ✅ Sanitize and escape all output
369
+ ✅ Use translation functions for all text
370
+ ✅ Test with default WordPress content
371
+ ✅ Provide screenshot.png
372
+ ✅ Include readme.txt with documentation
373
+ ✅ Use semantic HTML
374
+ ✅ Ensure accessibility (WCAG 2.1 AA)
375
+ ✅ Test on multiple devices and browsers
376
+
377
+ ### DON'T
378
+
379
+ ❌ Hardcode URLs or paths
380
+ ❌ Include plugin functionality in themes
381
+ ❌ Modify WordPress core files
382
+ ❌ Use deprecated functions
383
+ ❌ Ignore security best practices
384
+ ❌ Forget to enqueue scripts/styles properly
385
+ ❌ Use inline styles or scripts
386
+ ❌ Skip translation support
387
+ ❌ Ignore performance optimization
388
+