@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,854 @@
1
+ # Bead Decomposition Patterns for WordPress Plugin Development
2
+
3
+ This document provides reusable patterns for breaking down WordPress plugin development tasks into Beads tasks with proper dependencies.
4
+
5
+ ## Table of Contents
6
+
7
+ 1. [Plugin Creation Pattern](#plugin-creation-pattern)
8
+ 2. [Feature Addition Pattern](#feature-addition-pattern)
9
+ 3. [Custom Post Type Pattern](#custom-post-type-pattern)
10
+ 4. [Settings Page Pattern](#settings-page-pattern)
11
+ 5. [AJAX Feature Pattern](#ajax-feature-pattern)
12
+ 6. [REST API Endpoint Pattern](#rest-api-endpoint-pattern)
13
+ 7. [Custom Database Table Pattern](#custom-database-table-pattern)
14
+ 8. [Security Audit Pattern](#security-audit-pattern)
15
+ 9. [WordPress.org Submission Pattern](#wordpress-org-submission-pattern)
16
+ 10. [Bug Fix Pattern](#bug-fix-pattern)
17
+
18
+ ---
19
+
20
+ ## Plugin Creation Pattern
21
+
22
+ **Use Case**: Creating a new WordPress plugin from scratch
23
+
24
+ **Epic Structure**:
25
+
26
+ ```bash
27
+ # Create epic
28
+ bd create "Create [Plugin Name] plugin" -p 0 --type epic --label plugin-creation
29
+
30
+ # Subtasks
31
+ bd create "Create plugin scaffolding" -p 1 --parent [epic-id] --label scaffolding
32
+ bd create "Create main plugin file with header" -p 1 --parent [epic-id] --label scaffolding
33
+ bd create "Create directory structure" -p 1 --parent [epic-id] --label scaffolding
34
+ bd create "Create activation/deactivation hooks" -p 1 --parent [epic-id] --label scaffolding
35
+ bd create "Create uninstall.php" -p 1 --parent [epic-id] --label scaffolding
36
+
37
+ bd create "Implement core functionality" -p 2 --parent [epic-id] --label core
38
+ bd create "Create core classes" -p 2 --parent [epic-id] --label core
39
+ bd create "Implement admin interface" -p 2 --parent [epic-id] --label admin
40
+ bd create "Implement frontend display" -p 2 --parent [epic-id] --label frontend
41
+
42
+ bd create "Add security measures" -p 3 --parent [epic-id] --label security
43
+ bd create "Add nonce verification" -p 3 --parent [epic-id] --label security
44
+ bd create "Add capability checks" -p 3 --parent [epic-id] --label security
45
+ bd create "Add input sanitization" -p 3 --parent [epic-id] --label security
46
+ bd create "Add output escaping" -p 3 --parent [epic-id] --label security
47
+
48
+ bd create "Create tests" -p 4 --parent [epic-id] --label testing
49
+ bd create "Set up PHPUnit" -p 4 --parent [epic-id] --label testing
50
+ bd create "Write unit tests" -p 4 --parent [epic-id] --label testing
51
+ bd create "Write integration tests" -p 4 --parent [epic-id] --label testing
52
+
53
+ bd create "Create documentation" -p 5 --parent [epic-id] --label documentation
54
+ bd create "Create readme.txt" -p 5 --parent [epic-id] --label documentation
55
+ bd create "Add inline documentation" -p 5 --parent [epic-id] --label documentation
56
+ ```
57
+
58
+ **Dependencies**:
59
+
60
+ ```bash
61
+ # Scaffolding tasks are sequential
62
+ bd dep add [main-file-id] [epic-id]
63
+ bd dep add [directory-id] [main-file-id]
64
+ bd dep add [hooks-id] [directory-id]
65
+ bd dep add [uninstall-id] [hooks-id]
66
+
67
+ # Core depends on scaffolding
68
+ bd dep add [core-classes-id] [uninstall-id]
69
+ bd dep add [admin-id] [core-classes-id]
70
+ bd dep add [frontend-id] [core-classes-id]
71
+
72
+ # Security depends on core
73
+ bd dep add [nonce-id] [admin-id]
74
+ bd dep add [nonce-id] [frontend-id]
75
+ bd dep add [capability-id] [admin-id]
76
+ bd dep add [sanitization-id] [admin-id]
77
+ bd dep add [sanitization-id] [frontend-id]
78
+ bd dep add [escaping-id] [admin-id]
79
+ bd dep add [escaping-id] [frontend-id]
80
+
81
+ # Testing depends on security
82
+ bd dep add [phpunit-id] [escaping-id]
83
+ bd dep add [unit-tests-id] [phpunit-id]
84
+ bd dep add [integration-tests-id] [phpunit-id]
85
+
86
+ # Documentation can run in parallel with testing
87
+ bd dep add [readme-id] [escaping-id]
88
+ bd dep add [inline-docs-id] [escaping-id]
89
+ ```
90
+
91
+ **Task Count**: 17 tasks
92
+ **Estimated Time**: 2-4 weeks
93
+
94
+ ---
95
+
96
+ ## Feature Addition Pattern
97
+
98
+ **Use Case**: Adding a new feature to an existing plugin
99
+
100
+ **Epic Structure**:
101
+
102
+ ```bash
103
+ # Create epic
104
+ bd create "Add [Feature Name] to [Plugin Name]" -p 0 --type epic --label feature-addition
105
+
106
+ # Planning
107
+ bd create "Create OpenSpec spec for feature" -p 1 --parent [epic-id] --label planning
108
+ bd create "Design database schema (if needed)" -p 1 --parent [epic-id] --label planning
109
+
110
+ # Implementation
111
+ bd create "Create feature class" -p 2 --parent [epic-id] --label implementation
112
+ bd create "Add database migration (if needed)" -p 2 --parent [epic-id] --label implementation
113
+ bd create "Implement core logic" -p 2 --parent [epic-id] --label implementation
114
+ bd create "Add admin interface" -p 2 --parent [epic-id] --label implementation
115
+ bd create "Add frontend display" -p 2 --parent [epic-id] --label implementation
116
+ bd create "Add AJAX handlers (if needed)" -p 2 --parent [epic-id] --label implementation
117
+
118
+ # Integration
119
+ bd create "Integrate with existing code" -p 3 --parent [epic-id] --label integration
120
+ bd create "Add hooks and filters" -p 3 --parent [epic-id] --label integration
121
+ bd create "Update settings page" -p 3 --parent [epic-id] --label integration
122
+
123
+ # Security
124
+ bd create "Add security measures" -p 4 --parent [epic-id] --label security
125
+ bd create "Run security audit" -p 4 --parent [epic-id] --label security
126
+
127
+ # Testing
128
+ bd create "Write unit tests" -p 5 --parent [epic-id] --label testing
129
+ bd create "Write integration tests" -p 5 --parent [epic-id] --label testing
130
+ bd create "Manual testing" -p 5 --parent [epic-id] --label testing
131
+
132
+ # Documentation
133
+ bd create "Update readme.txt" -p 6 --parent [epic-id] --label documentation
134
+ bd create "Add inline documentation" -p 6 --parent [epic-id] --label documentation
135
+ ```
136
+
137
+ **Dependencies**:
138
+
139
+ ```bash
140
+ # Implementation depends on planning
141
+ bd dep add [feature-class-id] [openspec-id]
142
+ bd dep add [migration-id] [schema-id]
143
+ bd dep add [core-logic-id] [feature-class-id]
144
+ bd dep add [admin-id] [core-logic-id]
145
+ bd dep add [frontend-id] [core-logic-id]
146
+ bd dep add [ajax-id] [core-logic-id]
147
+
148
+ # Integration depends on implementation
149
+ bd dep add [integrate-id] [admin-id]
150
+ bd dep add [integrate-id] [frontend-id]
151
+ bd dep add [hooks-id] [integrate-id]
152
+ bd dep add [settings-id] [integrate-id]
153
+
154
+ # Security depends on integration
155
+ bd dep add [security-measures-id] [settings-id]
156
+ bd dep add [security-audit-id] [security-measures-id]
157
+
158
+ # Testing depends on security
159
+ bd dep add [unit-tests-id] [security-audit-id]
160
+ bd dep add [integration-tests-id] [security-audit-id]
161
+ bd dep add [manual-testing-id] [integration-tests-id]
162
+
163
+ # Documentation depends on testing
164
+ bd dep add [readme-id] [manual-testing-id]
165
+ bd dep add [inline-docs-id] [manual-testing-id]
166
+ ```
167
+
168
+ **Task Count**: 18 tasks
169
+ **Estimated Time**: 1-2 weeks
170
+
171
+ ---
172
+
173
+ ## Custom Post Type Pattern
174
+
175
+ **Use Case**: Adding a custom post type with taxonomy and meta boxes
176
+
177
+ **Epic Structure**:
178
+
179
+ ```bash
180
+ # Create epic
181
+ bd create "Add [Post Type Name] custom post type" -p 0 --type epic --label custom-post-type
182
+
183
+ # Registration
184
+ bd create "Register custom post type" -p 1 --parent [epic-id] --label registration
185
+ bd create "Register custom taxonomy" -p 1 --parent [epic-id] --label registration
186
+ bd create "Add rewrite rules" -p 1 --parent [epic-id] --label registration
187
+
188
+ # Admin Interface
189
+ bd create "Add custom meta boxes" -p 2 --parent [epic-id] --label admin
190
+ bd create "Add custom columns to list view" -p 2 --parent [epic-id] --label admin
191
+ bd create "Add quick edit support" -p 2 --parent [epic-id] --label admin
192
+ bd create "Add bulk actions" -p 2 --parent [epic-id] --label admin
193
+
194
+ # Frontend Display
195
+ bd create "Create archive template" -p 3 --parent [epic-id] --label frontend
196
+ bd create "Create single template" -p 3 --parent [epic-id] --label frontend
197
+ bd create "Add shortcode for display" -p 3 --parent [epic-id] --label frontend
198
+ bd create "Add widget (optional)" -p 3 --parent [epic-id] --label frontend
199
+
200
+ # Security
201
+ bd create "Add capability checks for meta boxes" -p 4 --parent [epic-id] --label security
202
+ bd create "Add nonce verification for meta saves" -p 4 --parent [epic-id] --label security
203
+ bd create "Sanitize meta box inputs" -p 4 --parent [epic-id] --label security
204
+
205
+ # Testing
206
+ bd create "Test post type registration" -p 5 --parent [epic-id] --label testing
207
+ bd create "Test meta box functionality" -p 5 --parent [epic-id] --label testing
208
+ bd create "Test frontend display" -p 5 --parent [epic-id] --label testing
209
+ ```
210
+
211
+ **Dependencies**:
212
+
213
+ ```bash
214
+ # Taxonomy and rewrite depend on post type
215
+ bd dep add [taxonomy-id] [post-type-id]
216
+ bd dep add [rewrite-id] [post-type-id]
217
+
218
+ # Admin features depend on registration
219
+ bd dep add [meta-boxes-id] [rewrite-id]
220
+ bd dep add [columns-id] [rewrite-id]
221
+ bd dep add [quick-edit-id] [columns-id]
222
+ bd dep add [bulk-actions-id] [columns-id]
223
+
224
+ # Frontend depends on registration
225
+ bd dep add [archive-id] [rewrite-id]
226
+ bd dep add [single-id] [rewrite-id]
227
+ bd dep add [shortcode-id] [single-id]
228
+ bd dep add [widget-id] [shortcode-id]
229
+
230
+ # Security depends on admin features
231
+ bd dep add [capability-id] [meta-boxes-id]
232
+ bd dep add [nonce-id] [meta-boxes-id]
233
+ bd dep add [sanitize-id] [meta-boxes-id]
234
+
235
+ # Testing depends on security
236
+ bd dep add [test-registration-id] [sanitize-id]
237
+ bd dep add [test-meta-id] [sanitize-id]
238
+ bd dep add [test-frontend-id] [widget-id]
239
+ ```
240
+
241
+ **Task Count**: 17 tasks
242
+ **Estimated Time**: 1 week
243
+
244
+ ---
245
+
246
+ ## Settings Page Pattern
247
+
248
+ **Use Case**: Adding a settings page with WordPress Settings API
249
+
250
+ **Epic Structure**:
251
+
252
+ ```bash
253
+ # Create epic
254
+ bd create "Add [Settings Page Name] settings page" -p 0 --type epic --label settings-page
255
+
256
+ # Page Setup
257
+ bd create "Register settings page" -p 1 --parent [epic-id] --label setup
258
+ bd create "Create page template" -p 1 --parent [epic-id] --label setup
259
+ bd create "Add menu item" -p 1 --parent [epic-id] --label setup
260
+
261
+ # Settings API
262
+ bd create "Register settings" -p 2 --parent [epic-id] --label settings-api
263
+ bd create "Add settings sections" -p 2 --parent [epic-id] --label settings-api
264
+ bd create "Add settings fields" -p 2 --parent [epic-id] --label settings-api
265
+ bd create "Add sanitization callbacks" -p 2 --parent [epic-id] --label settings-api
266
+
267
+ # UI Components
268
+ bd create "Create field renderers" -p 3 --parent [epic-id] --label ui
269
+ bd create "Add tabs (if multiple sections)" -p 3 --parent [epic-id] --label ui
270
+ bd create "Add reset to defaults button" -p 3 --parent [epic-id] --label ui
271
+ bd create "Add import/export (optional)" -p 3 --parent [epic-id] --label ui
272
+
273
+ # Security
274
+ bd create "Add nonce verification" -p 4 --parent [epic-id] --label security
275
+ bd create "Add capability checks" -p 4 --parent [epic-id] --label security
276
+ bd create "Sanitize all inputs" -p 4 --parent [epic-id] --label security
277
+
278
+ # Testing
279
+ bd create "Test settings save/load" -p 5 --parent [epic-id] --label testing
280
+ bd create "Test sanitization" -p 5 --parent [epic-id] --label testing
281
+ bd create "Test reset functionality" -p 5 --parent [epic-id] --label testing
282
+ ```
283
+
284
+ **Dependencies**:
285
+
286
+ ```bash
287
+ # Page template and menu depend on registration
288
+ bd dep add [template-id] [register-id]
289
+ bd dep add [menu-id] [register-id]
290
+
291
+ # Settings API depends on page setup
292
+ bd dep add [register-settings-id] [menu-id]
293
+ bd dep add [sections-id] [register-settings-id]
294
+ bd dep add [fields-id] [sections-id]
295
+ bd dep add [sanitization-id] [fields-id]
296
+
297
+ # UI depends on Settings API
298
+ bd dep add [renderers-id] [sanitization-id]
299
+ bd dep add [tabs-id] [renderers-id]
300
+ bd dep add [reset-id] [renderers-id]
301
+ bd dep add [import-export-id] [reset-id]
302
+
303
+ # Security depends on UI
304
+ bd dep add [nonce-id] [import-export-id]
305
+ bd dep add [capability-id] [import-export-id]
306
+ bd dep add [sanitize-inputs-id] [import-export-id]
307
+
308
+ # Testing depends on security
309
+ bd dep add [test-save-id] [sanitize-inputs-id]
310
+ bd dep add [test-sanitization-id] [sanitize-inputs-id]
311
+ bd dep add [test-reset-id] [sanitize-inputs-id]
312
+ ```
313
+
314
+ **Task Count**: 17 tasks
315
+ **Estimated Time**: 3-5 days
316
+
317
+ ---
318
+
319
+ ## AJAX Feature Pattern
320
+
321
+ **Use Case**: Adding AJAX functionality to a plugin
322
+
323
+ **Epic Structure**:
324
+
325
+ ```bash
326
+ # Create epic
327
+ bd create "Add AJAX [Feature Name]" -p 0 --type epic --label ajax-feature
328
+
329
+ # Backend Setup
330
+ bd create "Create AJAX handler function" -p 1 --parent [epic-id] --label backend
331
+ bd create "Register AJAX actions" -p 1 --parent [epic-id] --label backend
332
+ bd create "Add response formatting" -p 1 --parent [epic-id] --label backend
333
+
334
+ # Frontend Setup
335
+ bd create "Create JavaScript file" -p 2 --parent [epic-id] --label frontend
336
+ bd create "Enqueue script with dependencies" -p 2 --parent [epic-id] --label frontend
337
+ bd create "Localize script with ajax_url and nonce" -p 2 --parent [epic-id] --label frontend
338
+
339
+ # Implementation
340
+ bd create "Implement AJAX request logic" -p 3 --parent [epic-id] --label implementation
341
+ bd create "Add loading state UI" -p 3 --parent [epic-id] --label implementation
342
+ bd create "Add success handler" -p 3 --parent [epic-id] --label implementation
343
+ bd create "Add error handler" -p 3 --parent [epic-id] --label implementation
344
+
345
+ # Security
346
+ bd create "Add nonce verification in handler" -p 4 --parent [epic-id] --label security
347
+ bd create "Add capability checks" -p 4 --parent [epic-id] --label security
348
+ bd create "Sanitize inputs" -p 4 --parent [epic-id] --label security
349
+ bd create "Escape outputs" -p 4 --parent [epic-id] --label security
350
+
351
+ # Testing
352
+ bd create "Test AJAX request/response" -p 5 --parent [epic-id] --label testing
353
+ bd create "Test error handling" -p 5 --parent [epic-id] --label testing
354
+ bd create "Test security measures" -p 5 --parent [epic-id] --label testing
355
+ ```
356
+
357
+ **Dependencies**:
358
+
359
+ ```bash
360
+ # Backend tasks are sequential
361
+ bd dep add [register-actions-id] [handler-id]
362
+ bd dep add [response-id] [register-actions-id]
363
+
364
+ # Frontend depends on backend
365
+ bd dep add [js-file-id] [response-id]
366
+ bd dep add [enqueue-id] [js-file-id]
367
+ bd dep add [localize-id] [enqueue-id]
368
+
369
+ # Implementation depends on frontend setup
370
+ bd dep add [request-logic-id] [localize-id]
371
+ bd dep add [loading-ui-id] [request-logic-id]
372
+ bd dep add [success-handler-id] [request-logic-id]
373
+ bd dep add [error-handler-id] [request-logic-id]
374
+
375
+ # Security depends on implementation
376
+ bd dep add [nonce-verify-id] [error-handler-id]
377
+ bd dep add [capability-id] [error-handler-id]
378
+ bd dep add [sanitize-id] [error-handler-id]
379
+ bd dep add [escape-id] [error-handler-id]
380
+
381
+ # Testing depends on security
382
+ bd dep add [test-ajax-id] [escape-id]
383
+ bd dep add [test-errors-id] [escape-id]
384
+ bd dep add [test-security-id] [escape-id]
385
+ ```
386
+
387
+ **Task Count**: 17 tasks
388
+ **Estimated Time**: 2-3 days
389
+
390
+ ---
391
+
392
+ ## REST API Endpoint Pattern
393
+
394
+ **Use Case**: Adding a REST API endpoint to a plugin
395
+
396
+ **Epic Structure**:
397
+
398
+ ```bash
399
+ # Create epic
400
+ bd create "Add REST API endpoint for [Resource]" -p 0 --type epic --label rest-api
401
+
402
+ # Endpoint Setup
403
+ bd create "Register REST route" -p 1 --parent [epic-id] --label setup
404
+ bd create "Create callback function" -p 1 --parent [epic-id] --label setup
405
+ bd create "Add permission callback" -p 1 --parent [epic-id] --label setup
406
+
407
+ # Request Handling
408
+ bd create "Define request parameters" -p 2 --parent [epic-id] --label request
409
+ bd create "Add parameter validation" -p 2 --parent [epic-id] --label request
410
+ bd create "Add parameter sanitization" -p 2 --parent [epic-id] --label request
411
+
412
+ # Response Handling
413
+ bd create "Implement GET handler" -p 3 --parent [epic-id] --label response
414
+ bd create "Implement POST handler" -p 3 --parent [epic-id] --label response
415
+ bd create "Implement PUT handler (optional)" -p 3 --parent [epic-id] --label response
416
+ bd create "Implement DELETE handler (optional)" -p 3 --parent [epic-id] --label response
417
+ bd create "Format response data" -p 3 --parent [epic-id] --label response
418
+
419
+ # Security
420
+ bd create "Add authentication check" -p 4 --parent [epic-id] --label security
421
+ bd create "Add authorization check" -p 4 --parent [epic-id] --label security
422
+ bd create "Add rate limiting (optional)" -p 4 --parent [epic-id] --label security
423
+
424
+ # Testing
425
+ bd create "Test GET requests" -p 5 --parent [epic-id] --label testing
426
+ bd create "Test POST requests" -p 5 --parent [epic-id] --label testing
427
+ bd create "Test authentication/authorization" -p 5 --parent [epic-id] --label testing
428
+ bd create "Test error responses" -p 5 --parent [epic-id] --label testing
429
+
430
+ # Documentation
431
+ bd create "Document API endpoint" -p 6 --parent [epic-id] --label documentation
432
+ bd create "Add usage examples" -p 6 --parent [epic-id] --label documentation
433
+ ```
434
+
435
+ **Dependencies**:
436
+
437
+ ```bash
438
+ # Setup tasks are sequential
439
+ bd dep add [callback-id] [route-id]
440
+ bd dep add [permission-id] [callback-id]
441
+
442
+ # Request handling depends on setup
443
+ bd dep add [parameters-id] [permission-id]
444
+ bd dep add [validation-id] [parameters-id]
445
+ bd dep add [sanitization-id] [validation-id]
446
+
447
+ # Response handlers depend on request handling
448
+ bd dep add [get-handler-id] [sanitization-id]
449
+ bd dep add [post-handler-id] [sanitization-id]
450
+ bd dep add [put-handler-id] [sanitization-id]
451
+ bd dep add [delete-handler-id] [sanitization-id]
452
+ bd dep add [format-response-id] [delete-handler-id]
453
+
454
+ # Security depends on response handling
455
+ bd dep add [authentication-id] [format-response-id]
456
+ bd dep add [authorization-id] [authentication-id]
457
+ bd dep add [rate-limiting-id] [authorization-id]
458
+
459
+ # Testing depends on security
460
+ bd dep add [test-get-id] [rate-limiting-id]
461
+ bd dep add [test-post-id] [rate-limiting-id]
462
+ bd dep add [test-auth-id] [rate-limiting-id]
463
+ bd dep add [test-errors-id] [rate-limiting-id]
464
+
465
+ # Documentation depends on testing
466
+ bd dep add [document-id] [test-errors-id]
467
+ bd dep add [examples-id] [document-id]
468
+ ```
469
+
470
+ **Task Count**: 20 tasks
471
+ **Estimated Time**: 3-5 days
472
+
473
+ ---
474
+
475
+ ## Custom Database Table Pattern
476
+
477
+ **Use Case**: Adding a custom database table with CRUD operations
478
+
479
+ **Epic Structure**:
480
+
481
+ ```bash
482
+ # Create epic
483
+ bd create "Add custom database table for [Data Type]" -p 0 --type epic --label database-table
484
+
485
+ # Schema Design
486
+ bd create "Design table schema" -p 1 --parent [epic-id] --label schema
487
+ bd create "Create migration script" -p 1 --parent [epic-id] --label schema
488
+ bd create "Add version checking" -p 1 --parent [epic-id] --label schema
489
+
490
+ # Model Class
491
+ bd create "Create model class" -p 2 --parent [epic-id] --label model
492
+ bd create "Implement create() method" -p 2 --parent [epic-id] --label model
493
+ bd create "Implement get_by_id() method" -p 2 --parent [epic-id] --label model
494
+ bd create "Implement get_all() method" -p 2 --parent [epic-id] --label model
495
+ bd create "Implement update() method" -p 2 --parent [epic-id] --label model
496
+ bd create "Implement delete() method" -p 2 --parent [epic-id] --label model
497
+
498
+ # Query Optimization
499
+ bd create "Add database indexes" -p 3 --parent [epic-id] --label optimization
500
+ bd create "Implement pagination" -p 3 --parent [epic-id] --label optimization
501
+ bd create "Add caching layer" -p 3 --parent [epic-id] --label optimization
502
+
503
+ # Security
504
+ bd create "Use prepared statements for all queries" -p 4 --parent [epic-id] --label security
505
+ bd create "Validate data before insertion" -p 4 --parent [epic-id] --label security
506
+ bd create "Sanitize all inputs" -p 4 --parent [epic-id] --label security
507
+
508
+ # Testing
509
+ bd create "Test CRUD operations" -p 5 --parent [epic-id] --label testing
510
+ bd create "Test pagination" -p 5 --parent [epic-id] --label testing
511
+ bd create "Test data validation" -p 5 --parent [epic-id] --label testing
512
+
513
+ # Cleanup
514
+ bd create "Add uninstall cleanup (optional)" -p 6 --parent [epic-id] --label cleanup
515
+ ```
516
+
517
+ **Dependencies**:
518
+
519
+ ```bash
520
+ # Schema tasks are sequential
521
+ bd dep add [migration-id] [schema-id]
522
+ bd dep add [version-id] [migration-id]
523
+
524
+ # Model class depends on schema
525
+ bd dep add [model-class-id] [version-id]
526
+ bd dep add [create-method-id] [model-class-id]
527
+ bd dep add [get-by-id-id] [model-class-id]
528
+ bd dep add [get-all-id] [model-class-id]
529
+ bd dep add [update-method-id] [model-class-id]
530
+ bd dep add [delete-method-id] [model-class-id]
531
+
532
+ # Optimization depends on model
533
+ bd dep add [indexes-id] [delete-method-id]
534
+ bd dep add [pagination-id] [delete-method-id]
535
+ bd dep add [caching-id] [pagination-id]
536
+
537
+ # Security depends on optimization
538
+ bd dep add [prepared-statements-id] [caching-id]
539
+ bd dep add [validation-id] [prepared-statements-id]
540
+ bd dep add [sanitization-id] [validation-id]
541
+
542
+ # Testing depends on security
543
+ bd dep add [test-crud-id] [sanitization-id]
544
+ bd dep add [test-pagination-id] [sanitization-id]
545
+ bd dep add [test-validation-id] [sanitization-id]
546
+
547
+ # Cleanup depends on testing
548
+ bd dep add [uninstall-id] [test-validation-id]
549
+ ```
550
+
551
+ **Task Count**: 19 tasks
552
+ **Estimated Time**: 4-6 days
553
+
554
+ ---
555
+
556
+ ## Security Audit Pattern
557
+
558
+ **Use Case**: Performing a comprehensive security audit
559
+
560
+ **Epic Structure**:
561
+
562
+ ```bash
563
+ # Create epic
564
+ bd create "Security audit for [Plugin Name]" -p 0 --type epic --label security-audit
565
+
566
+ # Automated Scanning
567
+ bd create "Run PHPCS with WordPress-VIP-Go" -p 1 --parent [epic-id] --label automated
568
+ bd create "Run WPScan (if applicable)" -p 1 --parent [epic-id] --label automated
569
+
570
+ # Manual Review - CSRF
571
+ bd create "Audit forms for nonce verification" -p 2 --parent [epic-id] --label csrf
572
+ bd create "Audit AJAX handlers for nonce verification" -p 2 --parent [epic-id] --label csrf
573
+
574
+ # Manual Review - XSS
575
+ bd create "Audit output for escaping" -p 2 --parent [epic-id] --label xss
576
+ bd create "Audit admin pages for escaping" -p 2 --parent [epic-id] --label xss
577
+
578
+ # Manual Review - SQL Injection
579
+ bd create "Audit database queries" -p 2 --parent [epic-id] --label sql-injection
580
+ bd create "Verify prepared statements usage" -p 2 --parent [epic-id] --label sql-injection
581
+
582
+ # Manual Review - Authorization
583
+ bd create "Audit capability checks" -p 2 --parent [epic-id] --label authorization
584
+ bd create "Audit user role handling" -p 2 --parent [epic-id] --label authorization
585
+
586
+ # Remediation
587
+ bd create "Fix critical issues" -p 3 --parent [epic-id] --label remediation
588
+ bd create "Fix high-priority issues" -p 3 --parent [epic-id] --label remediation
589
+ bd create "Verify fixes" -p 3 --parent [epic-id] --label remediation
590
+
591
+ # Documentation
592
+ bd create "Document security findings" -p 4 --parent [epic-id] --label documentation
593
+ bd create "Create security audit report" -p 4 --parent [epic-id] --label documentation
594
+ ```
595
+
596
+ **Dependencies**:
597
+
598
+ ```bash
599
+ # Manual reviews depend on automated scanning
600
+ bd dep add [audit-forms-id] [phpcs-id]
601
+ bd dep add [audit-ajax-id] [phpcs-id]
602
+ bd dep add [audit-output-id] [phpcs-id]
603
+ bd dep add [audit-admin-id] [phpcs-id]
604
+ bd dep add [audit-queries-id] [phpcs-id]
605
+ bd dep add [verify-prepared-id] [phpcs-id]
606
+ bd dep add [audit-capability-id] [phpcs-id]
607
+ bd dep add [audit-roles-id] [phpcs-id]
608
+
609
+ # Remediation depends on all manual reviews
610
+ bd dep add [fix-critical-id] [audit-roles-id]
611
+ bd dep add [fix-high-id] [fix-critical-id]
612
+ bd dep add [verify-fixes-id] [fix-high-id]
613
+
614
+ # Documentation depends on remediation
615
+ bd dep add [document-findings-id] [verify-fixes-id]
616
+ bd dep add [audit-report-id] [document-findings-id]
617
+ ```
618
+
619
+ **Task Count**: 15 tasks
620
+ **Estimated Time**: 2-3 days
621
+
622
+ ---
623
+
624
+ ## WordPress.org Submission Pattern
625
+
626
+ **Use Case**: Submitting a plugin to WordPress.org
627
+
628
+ **Epic Structure**:
629
+
630
+ ```bash
631
+ # Create epic
632
+ bd create "Submit [Plugin Name] to WordPress.org" -p 0 --type epic --label wordpress-org
633
+
634
+ # Pre-submission
635
+ bd create "Run final WPCS check" -p 1 --parent [epic-id] --label pre-submission
636
+ bd create "Validate readme.txt format" -p 1 --parent [epic-id] --label pre-submission
637
+ bd create "Create plugin banner images" -p 1 --parent [epic-id] --label assets
638
+ bd create "Create plugin icon images" -p 1 --parent [epic-id] --label assets
639
+ bd create "Take plugin screenshots" -p 1 --parent [epic-id] --label assets
640
+ bd create "Optimize all images" -p 1 --parent [epic-id] --label assets
641
+ bd create "Create plugin ZIP file" -p 1 --parent [epic-id] --label pre-submission
642
+
643
+ # Submission
644
+ bd create "Create WordPress.org account" -p 2 --parent [epic-id] --label submission
645
+ bd create "Submit plugin via form" -p 2 --parent [epic-id] --label submission
646
+ bd create "Wait for initial review" -p 2 --parent [epic-id] --label submission
647
+ bd create "Respond to review feedback" -p 2 --parent [epic-id] --label submission
648
+
649
+ # Post-approval
650
+ bd create "Set up SVN repository" -p 3 --parent [epic-id] --label post-approval
651
+ bd create "Commit files to trunk" -p 3 --parent [epic-id] --label post-approval
652
+ bd create "Tag release version" -p 3 --parent [epic-id] --label post-approval
653
+ bd create "Upload assets to SVN" -p 3 --parent [epic-id] --label post-approval
654
+ bd create "Verify plugin on WordPress.org" -p 3 --parent [epic-id] --label post-approval
655
+
656
+ # Documentation
657
+ bd create "Create submission documentation" -p 4 --parent [epic-id] --label documentation
658
+ ```
659
+
660
+ **Dependencies**:
661
+
662
+ ```bash
663
+ # Assets can be created in parallel
664
+ bd dep add [optimize-images-id] [banner-id]
665
+ bd dep add [optimize-images-id] [icon-id]
666
+ bd dep add [optimize-images-id] [screenshots-id]
667
+
668
+ # ZIP depends on WPCS and readme
669
+ bd dep add [zip-id] [wpcs-id]
670
+ bd dep add [zip-id] [readme-id]
671
+
672
+ # Submission depends on ZIP and account
673
+ bd dep add [submit-id] [zip-id]
674
+ bd dep add [submit-id] [account-id]
675
+ bd dep add [wait-review-id] [submit-id]
676
+ bd dep add [respond-feedback-id] [wait-review-id]
677
+
678
+ # SVN setup depends on approval
679
+ bd dep add [svn-setup-id] [respond-feedback-id]
680
+ bd dep add [commit-trunk-id] [svn-setup-id]
681
+ bd dep add [tag-release-id] [commit-trunk-id]
682
+ bd dep add [upload-assets-id] [tag-release-id]
683
+ bd dep add [verify-id] [upload-assets-id]
684
+
685
+ # Documentation depends on verification
686
+ bd dep add [documentation-id] [verify-id]
687
+ ```
688
+
689
+ **Task Count**: 17 tasks
690
+ **Estimated Time**: 1-2 weeks (including review wait time)
691
+
692
+ ---
693
+
694
+ ## Bug Fix Pattern
695
+
696
+ **Use Case**: Fixing a bug in an existing plugin
697
+
698
+ **Epic Structure**:
699
+
700
+ ```bash
701
+ # Create epic
702
+ bd create "Fix: [Bug Description]" -p 0 --type epic --label bug-fix
703
+
704
+ # Investigation
705
+ bd create "Reproduce bug" -p 1 --parent [epic-id] --label investigation
706
+ bd create "Identify root cause" -p 1 --parent [epic-id] --label investigation
707
+ bd create "Document expected behavior" -p 1 --parent [epic-id] --label investigation
708
+
709
+ # Fix Implementation
710
+ bd create "Implement fix" -p 2 --parent [epic-id] --label implementation
711
+ bd create "Add error handling" -p 2 --parent [epic-id] --label implementation
712
+ bd create "Update related code" -p 2 --parent [epic-id] --label implementation
713
+
714
+ # Testing
715
+ bd create "Write regression test" -p 3 --parent [epic-id] --label testing
716
+ bd create "Test fix in isolation" -p 3 --parent [epic-id] --label testing
717
+ bd create "Test with related features" -p 3 --parent [epic-id] --label testing
718
+ bd create "Test edge cases" -p 3 --parent [epic-id] --label testing
719
+
720
+ # Documentation
721
+ bd create "Update changelog" -p 4 --parent [epic-id] --label documentation
722
+ bd create "Add inline comments" -p 4 --parent [epic-id] --label documentation
723
+ bd create "Update readme if needed" -p 4 --parent [epic-id] --label documentation
724
+ ```
725
+
726
+ **Dependencies**:
727
+
728
+ ```bash
729
+ # Investigation tasks are sequential
730
+ bd dep add [root-cause-id] [reproduce-id]
731
+ bd dep add [expected-behavior-id] [root-cause-id]
732
+
733
+ # Implementation depends on investigation
734
+ bd dep add [implement-fix-id] [expected-behavior-id]
735
+ bd dep add [error-handling-id] [implement-fix-id]
736
+ bd dep add [update-related-id] [implement-fix-id]
737
+
738
+ # Testing depends on implementation
739
+ bd dep add [regression-test-id] [update-related-id]
740
+ bd dep add [test-isolation-id] [regression-test-id]
741
+ bd dep add [test-related-id] [test-isolation-id]
742
+ bd dep add [test-edge-cases-id] [test-related-id]
743
+
744
+ # Documentation depends on testing
745
+ bd dep add [changelog-id] [test-edge-cases-id]
746
+ bd dep add [comments-id] [test-edge-cases-id]
747
+ bd dep add [readme-id] [test-edge-cases-id]
748
+ ```
749
+
750
+ **Task Count**: 13 tasks
751
+ **Estimated Time**: 1-3 days
752
+
753
+ ---
754
+
755
+ ## Best Practices for Task Decomposition
756
+
757
+ ### 1. Granularity
758
+
759
+ - **Too large**: Tasks that take more than 1 day
760
+ - **Too small**: Tasks that take less than 30 minutes
761
+ - **Just right**: Tasks that take 1-4 hours
762
+
763
+ ### 2. Dependencies
764
+
765
+ - Use dependencies to enforce order
766
+ - Identify tasks that can run in parallel
767
+ - Don't over-constrain (allow parallelism where possible)
768
+
769
+ ### 3. Labeling
770
+
771
+ Use consistent labels:
772
+ - `scaffolding` - Initial setup
773
+ - `core` - Core functionality
774
+ - `admin` - Admin interface
775
+ - `frontend` - Frontend display
776
+ - `security` - Security measures
777
+ - `testing` - Tests
778
+ - `documentation` - Documentation
779
+ - `implementation` - Feature implementation
780
+ - `integration` - Integration with existing code
781
+ - `optimization` - Performance optimization
782
+
783
+ ### 4. Priorities
784
+
785
+ - P0: Blocking/Critical
786
+ - P1: High priority
787
+ - P2: Medium priority
788
+ - P3: Low priority
789
+
790
+ ### 5. Estimation
791
+
792
+ Include time estimates in task descriptions:
793
+ ```bash
794
+ bd create "Task name (est: 2h)" -p 1 --parent [epic-id]
795
+ ```
796
+
797
+ ### 6. Progress Tracking
798
+
799
+ Update task status regularly:
800
+ ```bash
801
+ bd update [task-id] --status in_progress
802
+ bd comment [task-id] "Progress update"
803
+ bd close [task-id]
804
+ ```
805
+
806
+ ---
807
+
808
+ ## Usage Examples
809
+
810
+ ### Example 1: Create Contact Form Plugin
811
+
812
+ ```bash
813
+ # Use Plugin Creation Pattern
814
+ bd create "Create Simple Contact Form plugin" -p 0 --type epic --label plugin-creation
815
+
816
+ # Follow the pattern, customizing task names
817
+ bd create "Create plugin scaffolding for Simple Contact Form" -p 1 --parent bd-xyz
818
+ bd create "Create main plugin file simple-contact-form.php" -p 1 --parent bd-xyz
819
+ # ... continue with pattern
820
+ ```
821
+
822
+ ### Example 2: Add Custom Fields Feature
823
+
824
+ ```bash
825
+ # Use Feature Addition Pattern
826
+ bd create "Add Custom Fields to Simple Contact Form" -p 0 --type epic --label feature-addition
827
+
828
+ # Follow the pattern
829
+ bd create "Create OpenSpec spec for custom fields feature" -p 1 --parent bd-abc
830
+ bd create "Design custom fields database schema" -p 1 --parent bd-abc
831
+ # ... continue with pattern
832
+ ```
833
+
834
+ ### Example 3: Fix Email Notification Bug
835
+
836
+ ```bash
837
+ # Use Bug Fix Pattern
838
+ bd create "Fix: Email notifications not sending" -p 0 --type epic --label bug-fix
839
+
840
+ # Follow the pattern
841
+ bd create "Reproduce email notification bug" -p 1 --parent bd-def
842
+ bd create "Identify root cause of email failure" -p 1 --parent bd-def
843
+ # ... continue with pattern
844
+ ```
845
+
846
+ ---
847
+
848
+ ## Related Resources
849
+
850
+ - [Beads Workflow Documentation](../../beads/README.md)
851
+ - [OpenSpec Workflow Documentation](../../openspec/README.md)
852
+ - [WordPress Plugin Development Workflow](../rules/development-workflow.md)
853
+ - [WordPress Plugin Best Practices](../rules/best-practices.md)
854
+