@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.
- package/augment-extensions/domain-rules/wordpress/README.md +163 -0
- package/augment-extensions/domain-rules/wordpress/module.json +32 -0
- package/augment-extensions/domain-rules/wordpress/rules/coding-standards.md +617 -0
- package/augment-extensions/domain-rules/wordpress/rules/directory-structure.md +270 -0
- package/augment-extensions/domain-rules/wordpress/rules/file-patterns.md +423 -0
- package/augment-extensions/domain-rules/wordpress/rules/gutenberg-blocks.md +493 -0
- package/augment-extensions/domain-rules/wordpress/rules/performance.md +568 -0
- package/augment-extensions/domain-rules/wordpress/rules/plugin-development.md +510 -0
- package/augment-extensions/domain-rules/wordpress/rules/project-detection.md +251 -0
- package/augment-extensions/domain-rules/wordpress/rules/rest-api.md +501 -0
- package/augment-extensions/domain-rules/wordpress/rules/security.md +564 -0
- package/augment-extensions/domain-rules/wordpress/rules/theme-development.md +388 -0
- package/augment-extensions/domain-rules/wordpress/rules/woocommerce.md +441 -0
- package/augment-extensions/domain-rules/wordpress-plugin/README.md +139 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/ajax-plugin.md +1599 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/custom-post-type-plugin.md +1727 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block-plugin.md +428 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block.md +422 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/mvc-plugin.md +1623 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/object-oriented-plugin.md +1343 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/rest-endpoint.md +734 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/settings-page-plugin.md +1350 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/simple-procedural-plugin.md +503 -0
- package/augment-extensions/domain-rules/wordpress-plugin/examples/singleton-plugin.md +971 -0
- package/augment-extensions/domain-rules/wordpress-plugin/module.json +53 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/activation-hooks.md +770 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/admin-interface.md +874 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/ajax-handlers.md +629 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/asset-management.md +559 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/context-providers.md +709 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/cron-jobs.md +736 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/database-management.md +1057 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/documentation-standards.md +463 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/frontend-functionality.md +478 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/gutenberg-blocks.md +818 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/internationalization.md +416 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/migration.md +667 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/performance-optimization.md +878 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-architecture.md +693 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-structure.md +352 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/rest-api.md +818 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/scaffolding-workflow.md +624 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/security-best-practices.md +866 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/testing-patterns.md +1165 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/testing.md +414 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/vscode-integration.md +751 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/woocommerce-integration.md +949 -0
- package/augment-extensions/domain-rules/wordpress-plugin/rules/wordpress-org-submission.md +458 -0
- package/augment-extensions/examples/gutenberg-block-plugin/README.md +101 -0
- package/augment-extensions/examples/gutenberg-block-plugin/examples/testimonial-block.md +428 -0
- package/augment-extensions/examples/gutenberg-block-plugin/module.json +40 -0
- package/augment-extensions/examples/rest-api-plugin/README.md +98 -0
- package/augment-extensions/examples/rest-api-plugin/examples/task-manager-api.md +1299 -0
- package/augment-extensions/examples/rest-api-plugin/module.json +40 -0
- package/augment-extensions/examples/woocommerce-extension/README.md +98 -0
- package/augment-extensions/examples/woocommerce-extension/examples/product-customizer.md +763 -0
- package/augment-extensions/examples/woocommerce-extension/module.json +40 -0
- package/augment-extensions/workflows/wordpress-plugin/README.md +232 -0
- package/augment-extensions/workflows/wordpress-plugin/ai-prompts.md +839 -0
- package/augment-extensions/workflows/wordpress-plugin/bead-decomposition-patterns.md +854 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/complete-plugin-example.md +540 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/custom-post-type-example.md +1083 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/feature-addition-workflow.md +669 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/plugin-creation-workflow.md +597 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/secure-form-handler-example.md +925 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/security-audit-workflow.md +752 -0
- package/augment-extensions/workflows/wordpress-plugin/examples/wordpress-org-submission-workflow.md +773 -0
- package/augment-extensions/workflows/wordpress-plugin/module.json +49 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/best-practices.md +942 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/development-workflow.md +702 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/submission-workflow.md +728 -0
- package/augment-extensions/workflows/wordpress-plugin/rules/testing-workflow.md +775 -0
- package/cli/dist/cli.js +5 -1
- package/cli/dist/cli.js.map +1 -1
- package/cli/dist/commands/show.d.ts.map +1 -1
- package/cli/dist/commands/show.js +41 -0
- package/cli/dist/commands/show.js.map +1 -1
- package/modules.md +52 -0
- package/package.json +1 -1
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
# WordPress Project Detection
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This document defines how to automatically detect WordPress projects and determine their type (full installation, theme, plugin, or block development).
|
|
6
|
+
|
|
7
|
+
## Detection Criteria
|
|
8
|
+
|
|
9
|
+
### 1. Full WordPress Installation
|
|
10
|
+
|
|
11
|
+
A project is identified as a **full WordPress installation** if it contains:
|
|
12
|
+
|
|
13
|
+
**Required Files:**
|
|
14
|
+
- `wp-config.php` or `wp-config-sample.php`
|
|
15
|
+
- `wp-load.php`
|
|
16
|
+
- `wp-settings.php`
|
|
17
|
+
|
|
18
|
+
**Required Directories:**
|
|
19
|
+
- `wp-includes/`
|
|
20
|
+
- `wp-admin/`
|
|
21
|
+
- `wp-content/`
|
|
22
|
+
|
|
23
|
+
**Detection Pattern:**
|
|
24
|
+
```
|
|
25
|
+
wordpress-root/
|
|
26
|
+
├── wp-config.php (or wp-config-sample.php)
|
|
27
|
+
├── wp-load.php
|
|
28
|
+
├── wp-settings.php
|
|
29
|
+
├── wp-includes/
|
|
30
|
+
├── wp-admin/
|
|
31
|
+
└── wp-content/
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. WordPress Theme Project
|
|
35
|
+
|
|
36
|
+
A project is identified as a **WordPress theme** if it contains:
|
|
37
|
+
|
|
38
|
+
**Required Files:**
|
|
39
|
+
- `style.css` with WordPress theme header
|
|
40
|
+
- `functions.php`
|
|
41
|
+
- `index.php`
|
|
42
|
+
|
|
43
|
+
**Optional Files (Block Theme):**
|
|
44
|
+
- `theme.json`
|
|
45
|
+
- `templates/` directory with `.html` files
|
|
46
|
+
- `parts/` directory with `.html` files
|
|
47
|
+
|
|
48
|
+
**Theme Header Detection:**
|
|
49
|
+
```css
|
|
50
|
+
/*
|
|
51
|
+
Theme Name: Theme Name
|
|
52
|
+
Theme URI: https://example.com/
|
|
53
|
+
Author: Author Name
|
|
54
|
+
Author URI: https://example.com/
|
|
55
|
+
Description: Theme description
|
|
56
|
+
Version: 1.0.0
|
|
57
|
+
License: GNU General Public License v2 or later
|
|
58
|
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
59
|
+
Text Domain: theme-slug
|
|
60
|
+
*/
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Detection Pattern (Classic Theme):**
|
|
64
|
+
```
|
|
65
|
+
theme-name/
|
|
66
|
+
├── style.css (with theme header)
|
|
67
|
+
├── functions.php
|
|
68
|
+
├── index.php
|
|
69
|
+
├── header.php
|
|
70
|
+
├── footer.php
|
|
71
|
+
└── ...
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Detection Pattern (Block Theme):**
|
|
75
|
+
```
|
|
76
|
+
theme-name/
|
|
77
|
+
├── style.css (with theme header)
|
|
78
|
+
├── functions.php
|
|
79
|
+
├── theme.json
|
|
80
|
+
├── templates/
|
|
81
|
+
│ ├── index.html
|
|
82
|
+
│ └── ...
|
|
83
|
+
└── parts/
|
|
84
|
+
├── header.html
|
|
85
|
+
└── ...
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 3. WordPress Plugin Project
|
|
89
|
+
|
|
90
|
+
A project is identified as a **WordPress plugin** if it contains:
|
|
91
|
+
|
|
92
|
+
**Required:**
|
|
93
|
+
- PHP file with WordPress plugin header
|
|
94
|
+
|
|
95
|
+
**Plugin Header Detection:**
|
|
96
|
+
```php
|
|
97
|
+
<?php
|
|
98
|
+
/**
|
|
99
|
+
* Plugin Name: Plugin Name
|
|
100
|
+
* Plugin URI: https://example.com/
|
|
101
|
+
* Description: Plugin description
|
|
102
|
+
* Version: 1.0.0
|
|
103
|
+
* Author: Author Name
|
|
104
|
+
* Author URI: https://example.com/
|
|
105
|
+
* License: GPL v2 or later
|
|
106
|
+
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
|
107
|
+
* Text Domain: plugin-slug
|
|
108
|
+
*/
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Detection Pattern:**
|
|
112
|
+
```
|
|
113
|
+
plugin-name/
|
|
114
|
+
├── plugin-name.php (with plugin header)
|
|
115
|
+
├── readme.txt
|
|
116
|
+
├── includes/
|
|
117
|
+
├── admin/
|
|
118
|
+
└── ...
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 4. Gutenberg Block Development
|
|
122
|
+
|
|
123
|
+
A project is identified as a **Gutenberg block** if it contains:
|
|
124
|
+
|
|
125
|
+
**Required Files:**
|
|
126
|
+
- `block.json`
|
|
127
|
+
- `package.json` with `@wordpress/*` dependencies
|
|
128
|
+
|
|
129
|
+
**Block.json Detection:**
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"$schema": "https://schemas.wp.org/trunk/block.json",
|
|
133
|
+
"apiVersion": 2,
|
|
134
|
+
"name": "namespace/block-name",
|
|
135
|
+
"title": "Block Title",
|
|
136
|
+
"category": "widgets",
|
|
137
|
+
"icon": "smiley",
|
|
138
|
+
"description": "Block description",
|
|
139
|
+
"supports": {},
|
|
140
|
+
"textdomain": "block-slug",
|
|
141
|
+
"editorScript": "file:./index.js",
|
|
142
|
+
"editorStyle": "file:./index.css",
|
|
143
|
+
"style": "file:./style-index.css"
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Detection Pattern:**
|
|
148
|
+
```
|
|
149
|
+
block-name/
|
|
150
|
+
├── block.json
|
|
151
|
+
├── package.json
|
|
152
|
+
├── src/
|
|
153
|
+
│ ├── index.js
|
|
154
|
+
│ ├── edit.js
|
|
155
|
+
│ └── save.js
|
|
156
|
+
└── build/
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Detection Priority
|
|
160
|
+
|
|
161
|
+
When multiple detection criteria match, use this priority order:
|
|
162
|
+
|
|
163
|
+
1. **Full WordPress Installation** (highest priority)
|
|
164
|
+
- Check for `wp-config.php` first
|
|
165
|
+
- If found, treat as full installation
|
|
166
|
+
|
|
167
|
+
2. **Theme Project**
|
|
168
|
+
- Check for `style.css` with theme header
|
|
169
|
+
- Check for `functions.php` and `index.php`
|
|
170
|
+
|
|
171
|
+
3. **Plugin Project**
|
|
172
|
+
- Check for PHP files with plugin header
|
|
173
|
+
- Typically in `wp-content/plugins/[plugin-name]/`
|
|
174
|
+
|
|
175
|
+
4. **Block Development** (lowest priority)
|
|
176
|
+
- Check for `block.json`
|
|
177
|
+
- Check for `@wordpress/*` in `package.json`
|
|
178
|
+
|
|
179
|
+
## Detection Algorithm
|
|
180
|
+
|
|
181
|
+
```javascript
|
|
182
|
+
function detectWordPressProject(projectPath) {
|
|
183
|
+
// 1. Check for full WordPress installation
|
|
184
|
+
if (fileExists('wp-config.php') || fileExists('wp-config-sample.php')) {
|
|
185
|
+
if (directoryExists('wp-includes') && directoryExists('wp-admin')) {
|
|
186
|
+
return { type: 'wordpress-full', version: detectWPVersion() };
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// 2. Check for theme
|
|
191
|
+
if (fileExists('style.css') && fileExists('functions.php')) {
|
|
192
|
+
const styleContent = readFile('style.css');
|
|
193
|
+
if (styleContent.includes('Theme Name:')) {
|
|
194
|
+
const isBlockTheme = fileExists('theme.json');
|
|
195
|
+
return {
|
|
196
|
+
type: 'wordpress-theme',
|
|
197
|
+
subtype: isBlockTheme ? 'block-theme' : 'classic-theme'
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// 3. Check for plugin
|
|
203
|
+
const phpFiles = findFiles('*.php');
|
|
204
|
+
for (const file of phpFiles) {
|
|
205
|
+
const content = readFile(file);
|
|
206
|
+
if (content.includes('Plugin Name:')) {
|
|
207
|
+
return { type: 'wordpress-plugin', mainFile: file };
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// 4. Check for block development
|
|
212
|
+
if (fileExists('block.json')) {
|
|
213
|
+
const packageJson = readFile('package.json');
|
|
214
|
+
if (packageJson.includes('@wordpress/')) {
|
|
215
|
+
return { type: 'wordpress-block' };
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
return { type: 'unknown' };
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Context Hints
|
|
224
|
+
|
|
225
|
+
Once a WordPress project is detected, provide these context hints to the AI:
|
|
226
|
+
|
|
227
|
+
### Full Installation
|
|
228
|
+
- WordPress version
|
|
229
|
+
- Active theme location
|
|
230
|
+
- Plugins directory
|
|
231
|
+
- Upload directory
|
|
232
|
+
- Database configuration (read-only)
|
|
233
|
+
|
|
234
|
+
### Theme
|
|
235
|
+
- Theme type (classic or block)
|
|
236
|
+
- Template hierarchy
|
|
237
|
+
- Asset locations
|
|
238
|
+
- Functions.php hooks
|
|
239
|
+
|
|
240
|
+
### Plugin
|
|
241
|
+
- Main plugin file
|
|
242
|
+
- Plugin structure
|
|
243
|
+
- Hook priorities
|
|
244
|
+
- Admin vs public code
|
|
245
|
+
|
|
246
|
+
### Block
|
|
247
|
+
- Block metadata
|
|
248
|
+
- Build configuration
|
|
249
|
+
- WordPress dependencies
|
|
250
|
+
- Editor vs frontend code
|
|
251
|
+
|