heraspec 0.1.13 → 0.1.15

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 (287) hide show
  1. package/LICENSE +209 -22
  2. package/README.md +205 -137
  3. package/bin/heraspec.js +4950 -1161
  4. package/bin/heraspec.js.map +4 -4
  5. package/dist/core/templates/skills/CHANGELOG.md +117 -117
  6. package/dist/core/templates/skills/README-template.md +58 -58
  7. package/dist/core/templates/skills/README.md +35 -32
  8. package/dist/core/templates/skills/campaign-plan/skill.md +76 -0
  9. package/dist/core/templates/skills/campaign-plan/skill.vi.md +76 -0
  10. package/dist/core/templates/skills/campaign-plan-skill.md +76 -0
  11. package/dist/core/templates/skills/campaign-plan-skill.vi.md +76 -0
  12. package/dist/core/templates/skills/code-review/skill.md +70 -0
  13. package/dist/core/templates/skills/code-review/skill.vi.md +70 -0
  14. package/dist/core/templates/skills/code-review-skill.md +70 -0
  15. package/dist/core/templates/skills/code-review-skill.vi.md +70 -0
  16. package/dist/core/templates/skills/content-creation/skill.md +69 -0
  17. package/dist/core/templates/skills/content-creation/skill.vi.md +69 -0
  18. package/dist/core/templates/skills/content-creation-skill.md +69 -0
  19. package/dist/core/templates/skills/content-creation-skill.vi.md +69 -0
  20. package/dist/core/templates/skills/content-optimization/skill.md +104 -0
  21. package/dist/core/templates/skills/content-optimization-skill.md +104 -104
  22. package/dist/core/templates/skills/data/design-systems.csv +54 -0
  23. package/dist/core/templates/skills/data/pages-proposed.csv +21 -21
  24. package/dist/core/templates/skills/data/pages.csv +9 -9
  25. package/dist/core/templates/skills/data/typography.csv +57 -57
  26. package/dist/core/templates/skills/debug/skill.md +69 -0
  27. package/dist/core/templates/skills/debug/skill.vi.md +69 -0
  28. package/dist/core/templates/skills/debug-skill.md +69 -0
  29. package/dist/core/templates/skills/debug-skill.vi.md +69 -0
  30. package/dist/core/templates/skills/deploy-documentation/skill.md +408 -0
  31. package/dist/core/templates/skills/deploy-documentation-skill.md +408 -0
  32. package/dist/core/templates/skills/design-system/knowledge/design-systems/airbnb/DESIGN.md +246 -0
  33. package/dist/core/templates/skills/design-system/knowledge/design-systems/airtable/DESIGN.md +89 -0
  34. package/dist/core/templates/skills/design-system/knowledge/design-systems/apple/DESIGN.md +313 -0
  35. package/dist/core/templates/skills/design-system/knowledge/design-systems/bmw/DESIGN.md +180 -0
  36. package/dist/core/templates/skills/design-system/knowledge/design-systems/cal/DESIGN.md +259 -0
  37. package/dist/core/templates/skills/design-system/knowledge/design-systems/claude/DESIGN.md +312 -0
  38. package/dist/core/templates/skills/design-system/knowledge/design-systems/clay/DESIGN.md +304 -0
  39. package/dist/core/templates/skills/design-system/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
  40. package/dist/core/templates/skills/design-system/knowledge/design-systems/cohere/DESIGN.md +266 -0
  41. package/dist/core/templates/skills/design-system/knowledge/design-systems/coinbase/DESIGN.md +129 -0
  42. package/dist/core/templates/skills/design-system/knowledge/design-systems/composio/DESIGN.md +307 -0
  43. package/dist/core/templates/skills/design-system/knowledge/design-systems/cursor/DESIGN.md +309 -0
  44. package/dist/core/templates/skills/design-system/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
  45. package/dist/core/templates/skills/design-system/knowledge/design-systems/expo/DESIGN.md +281 -0
  46. package/dist/core/templates/skills/design-system/knowledge/design-systems/figma/DESIGN.md +220 -0
  47. package/dist/core/templates/skills/design-system/knowledge/design-systems/framer/DESIGN.md +246 -0
  48. package/dist/core/templates/skills/design-system/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
  49. package/dist/core/templates/skills/design-system/knowledge/design-systems/ibm/DESIGN.md +332 -0
  50. package/dist/core/templates/skills/design-system/knowledge/design-systems/index.json +72 -0
  51. package/dist/core/templates/skills/design-system/knowledge/design-systems/intercom/DESIGN.md +146 -0
  52. package/dist/core/templates/skills/design-system/knowledge/design-systems/kraken/DESIGN.md +125 -0
  53. package/dist/core/templates/skills/design-system/knowledge/design-systems/linear.app/DESIGN.md +367 -0
  54. package/dist/core/templates/skills/design-system/knowledge/design-systems/lovable/DESIGN.md +298 -0
  55. package/dist/core/templates/skills/design-system/knowledge/design-systems/minimax/DESIGN.md +257 -0
  56. package/dist/core/templates/skills/design-system/knowledge/design-systems/mintlify/DESIGN.md +326 -0
  57. package/dist/core/templates/skills/design-system/knowledge/design-systems/miro/DESIGN.md +108 -0
  58. package/dist/core/templates/skills/design-system/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
  59. package/dist/core/templates/skills/design-system/knowledge/design-systems/mongodb/DESIGN.md +266 -0
  60. package/dist/core/templates/skills/design-system/knowledge/design-systems/notion/DESIGN.md +309 -0
  61. package/dist/core/templates/skills/design-system/knowledge/design-systems/nvidia/DESIGN.md +293 -0
  62. package/dist/core/templates/skills/design-system/knowledge/design-systems/ollama/DESIGN.md +267 -0
  63. package/dist/core/templates/skills/design-system/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
  64. package/dist/core/templates/skills/design-system/knowledge/design-systems/pinterest/DESIGN.md +230 -0
  65. package/dist/core/templates/skills/design-system/knowledge/design-systems/posthog/DESIGN.md +256 -0
  66. package/dist/core/templates/skills/design-system/knowledge/design-systems/raycast/DESIGN.md +268 -0
  67. package/dist/core/templates/skills/design-system/knowledge/design-systems/replicate/DESIGN.md +261 -0
  68. package/dist/core/templates/skills/design-system/knowledge/design-systems/resend/DESIGN.md +303 -0
  69. package/dist/core/templates/skills/design-system/knowledge/design-systems/revolut/DESIGN.md +185 -0
  70. package/dist/core/templates/skills/design-system/knowledge/design-systems/runwayml/DESIGN.md +244 -0
  71. package/dist/core/templates/skills/design-system/knowledge/design-systems/sanity/DESIGN.md +357 -0
  72. package/dist/core/templates/skills/design-system/knowledge/design-systems/sentry/DESIGN.md +262 -0
  73. package/dist/core/templates/skills/design-system/knowledge/design-systems/spacex/DESIGN.md +194 -0
  74. package/dist/core/templates/skills/design-system/knowledge/design-systems/spotify/DESIGN.md +246 -0
  75. package/dist/core/templates/skills/design-system/knowledge/design-systems/stripe/DESIGN.md +322 -0
  76. package/dist/core/templates/skills/design-system/knowledge/design-systems/supabase/DESIGN.md +255 -0
  77. package/dist/core/templates/skills/design-system/knowledge/design-systems/superhuman/DESIGN.md +252 -0
  78. package/dist/core/templates/skills/design-system/knowledge/design-systems/together.ai/DESIGN.md +263 -0
  79. package/dist/core/templates/skills/design-system/knowledge/design-systems/uber/DESIGN.md +295 -0
  80. package/dist/core/templates/skills/design-system/knowledge/design-systems/vercel/DESIGN.md +310 -0
  81. package/dist/core/templates/skills/design-system/knowledge/design-systems/voltagent/DESIGN.md +323 -0
  82. package/dist/core/templates/skills/design-system/knowledge/design-systems/warp/DESIGN.md +253 -0
  83. package/dist/core/templates/skills/design-system/knowledge/design-systems/webflow/DESIGN.md +92 -0
  84. package/dist/core/templates/skills/design-system/knowledge/design-systems/wise/DESIGN.md +173 -0
  85. package/dist/core/templates/skills/design-system/knowledge/design-systems/x.ai/DESIGN.md +257 -0
  86. package/dist/core/templates/skills/design-system/knowledge/design-systems/zapier/DESIGN.md +328 -0
  87. package/dist/core/templates/skills/design-system/skill.md +176 -0
  88. package/dist/core/templates/skills/design-system-skill.md +176 -0
  89. package/dist/core/templates/skills/documents/skill.md +104 -0
  90. package/dist/core/templates/skills/documents/templates/documentation-landing-page.html +63 -63
  91. package/dist/core/templates/skills/documents/templates/documentation.html +49 -49
  92. package/dist/core/templates/skills/documents/templates/landing-script.js +38 -38
  93. package/dist/core/templates/skills/documents/templates/landing-style.css +158 -158
  94. package/dist/core/templates/skills/documents/templates/script.js +56 -56
  95. package/dist/core/templates/skills/documents/templates/style.css +155 -155
  96. package/dist/core/templates/skills/documents/templates/technical-doc-template.md +16 -16
  97. package/dist/core/templates/skills/documents/templates/user-guide-template.md +16 -16
  98. package/dist/core/templates/skills/documents-skill.md +104 -104
  99. package/dist/core/templates/skills/e2e-test/skill.md +119 -0
  100. package/dist/core/templates/skills/e2e-test-skill.md +119 -119
  101. package/dist/core/templates/skills/email-sequence/skill.md +68 -0
  102. package/dist/core/templates/skills/email-sequence/skill.vi.md +68 -0
  103. package/dist/core/templates/skills/email-sequence-skill.md +68 -0
  104. package/dist/core/templates/skills/email-sequence-skill.vi.md +68 -0
  105. package/dist/core/templates/skills/git-embed/skill.md +57 -0
  106. package/dist/core/templates/skills/git-embed-skill.md +57 -0
  107. package/dist/core/templates/skills/integration-test/skill.md +118 -0
  108. package/dist/core/templates/skills/integration-test-skill.md +118 -118
  109. package/dist/core/templates/skills/knowledge/README.md +63 -0
  110. package/dist/core/templates/skills/knowledge/design-systems/airbnb/DESIGN.md +246 -0
  111. package/dist/core/templates/skills/knowledge/design-systems/airtable/DESIGN.md +89 -0
  112. package/dist/core/templates/skills/knowledge/design-systems/apple/DESIGN.md +313 -0
  113. package/dist/core/templates/skills/knowledge/design-systems/bmw/DESIGN.md +180 -0
  114. package/dist/core/templates/skills/knowledge/design-systems/cal/DESIGN.md +259 -0
  115. package/dist/core/templates/skills/knowledge/design-systems/claude/DESIGN.md +312 -0
  116. package/dist/core/templates/skills/knowledge/design-systems/clay/DESIGN.md +304 -0
  117. package/dist/core/templates/skills/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
  118. package/dist/core/templates/skills/knowledge/design-systems/cohere/DESIGN.md +266 -0
  119. package/dist/core/templates/skills/knowledge/design-systems/coinbase/DESIGN.md +129 -0
  120. package/dist/core/templates/skills/knowledge/design-systems/composio/DESIGN.md +307 -0
  121. package/dist/core/templates/skills/knowledge/design-systems/cursor/DESIGN.md +309 -0
  122. package/dist/core/templates/skills/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
  123. package/dist/core/templates/skills/knowledge/design-systems/expo/DESIGN.md +281 -0
  124. package/dist/core/templates/skills/knowledge/design-systems/figma/DESIGN.md +220 -0
  125. package/dist/core/templates/skills/knowledge/design-systems/framer/DESIGN.md +246 -0
  126. package/dist/core/templates/skills/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
  127. package/dist/core/templates/skills/knowledge/design-systems/ibm/DESIGN.md +332 -0
  128. package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -0
  129. package/dist/core/templates/skills/knowledge/design-systems/intercom/DESIGN.md +146 -0
  130. package/dist/core/templates/skills/knowledge/design-systems/kraken/DESIGN.md +125 -0
  131. package/dist/core/templates/skills/knowledge/design-systems/linear.app/DESIGN.md +367 -0
  132. package/dist/core/templates/skills/knowledge/design-systems/lovable/DESIGN.md +298 -0
  133. package/dist/core/templates/skills/knowledge/design-systems/minimax/DESIGN.md +257 -0
  134. package/dist/core/templates/skills/knowledge/design-systems/mintlify/DESIGN.md +326 -0
  135. package/dist/core/templates/skills/knowledge/design-systems/miro/DESIGN.md +108 -0
  136. package/dist/core/templates/skills/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
  137. package/dist/core/templates/skills/knowledge/design-systems/mongodb/DESIGN.md +266 -0
  138. package/dist/core/templates/skills/knowledge/design-systems/notion/DESIGN.md +309 -0
  139. package/dist/core/templates/skills/knowledge/design-systems/nvidia/DESIGN.md +293 -0
  140. package/dist/core/templates/skills/knowledge/design-systems/ollama/DESIGN.md +267 -0
  141. package/dist/core/templates/skills/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
  142. package/dist/core/templates/skills/knowledge/design-systems/pinterest/DESIGN.md +230 -0
  143. package/dist/core/templates/skills/knowledge/design-systems/posthog/DESIGN.md +256 -0
  144. package/dist/core/templates/skills/knowledge/design-systems/raycast/DESIGN.md +268 -0
  145. package/dist/core/templates/skills/knowledge/design-systems/replicate/DESIGN.md +261 -0
  146. package/dist/core/templates/skills/knowledge/design-systems/resend/DESIGN.md +303 -0
  147. package/dist/core/templates/skills/knowledge/design-systems/revolut/DESIGN.md +185 -0
  148. package/dist/core/templates/skills/knowledge/design-systems/runwayml/DESIGN.md +244 -0
  149. package/dist/core/templates/skills/knowledge/design-systems/sanity/DESIGN.md +357 -0
  150. package/dist/core/templates/skills/knowledge/design-systems/sentry/DESIGN.md +262 -0
  151. package/dist/core/templates/skills/knowledge/design-systems/spacex/DESIGN.md +194 -0
  152. package/dist/core/templates/skills/knowledge/design-systems/spotify/DESIGN.md +246 -0
  153. package/dist/core/templates/skills/knowledge/design-systems/stripe/DESIGN.md +322 -0
  154. package/dist/core/templates/skills/knowledge/design-systems/supabase/DESIGN.md +255 -0
  155. package/dist/core/templates/skills/knowledge/design-systems/superhuman/DESIGN.md +252 -0
  156. package/dist/core/templates/skills/knowledge/design-systems/together.ai/DESIGN.md +263 -0
  157. package/dist/core/templates/skills/knowledge/design-systems/uber/DESIGN.md +295 -0
  158. package/dist/core/templates/skills/knowledge/design-systems/vercel/DESIGN.md +310 -0
  159. package/dist/core/templates/skills/knowledge/design-systems/voltagent/DESIGN.md +323 -0
  160. package/dist/core/templates/skills/knowledge/design-systems/warp/DESIGN.md +253 -0
  161. package/dist/core/templates/skills/knowledge/design-systems/webflow/DESIGN.md +92 -0
  162. package/dist/core/templates/skills/knowledge/design-systems/wise/DESIGN.md +173 -0
  163. package/dist/core/templates/skills/knowledge/design-systems/x.ai/DESIGN.md +257 -0
  164. package/dist/core/templates/skills/knowledge/design-systems/zapier/DESIGN.md +328 -0
  165. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -0
  166. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -0
  167. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -0
  168. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +208 -0
  169. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -0
  170. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -0
  171. package/dist/core/templates/skills/knowledge/index.json +65 -0
  172. package/dist/core/templates/skills/module-codebase-skill.md +110 -110
  173. package/dist/core/templates/skills/perfex-module/module-codebase/skill.md +110 -0
  174. package/dist/core/templates/skills/plugin-directory-skill.md +396 -396
  175. package/dist/core/templates/skills/project-memory/skill.md +222 -0
  176. package/dist/core/templates/skills/project-memory/skill.vi.md +223 -0
  177. package/dist/core/templates/skills/project-memory-skill.md +222 -0
  178. package/dist/core/templates/skills/project-memory-skill.vi.md +223 -0
  179. package/dist/core/templates/skills/scripts/CODE_EXPLANATION.md +394 -394
  180. package/dist/core/templates/skills/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -421
  181. package/dist/core/templates/skills/scripts/SEARCH_MODES_GUIDE.md +238 -238
  182. package/dist/core/templates/skills/scripts/__pycache__/core.cpython-311.pyc +0 -0
  183. package/dist/core/templates/skills/scripts/core.py +391 -385
  184. package/dist/core/templates/skills/scripts/search.py +1 -1
  185. package/dist/core/templates/skills/seo-audit/skill.md +75 -0
  186. package/dist/core/templates/skills/seo-audit/skill.vi.md +75 -0
  187. package/dist/core/templates/skills/seo-audit-skill.md +75 -0
  188. package/dist/core/templates/skills/seo-audit-skill.vi.md +75 -0
  189. package/dist/core/templates/skills/smart-explore/skill.md +141 -0
  190. package/dist/core/templates/skills/smart-explore-skill.md +141 -0
  191. package/dist/core/templates/skills/sourcecode-analyzer/skill.md +210 -0
  192. package/dist/core/templates/skills/sourcecode-analyzer/skill.vi.md +210 -0
  193. package/dist/core/templates/skills/sourcecode-analyzer-skill.md +210 -0
  194. package/dist/core/templates/skills/sourcecode-analyzer-skill.vi.md +210 -0
  195. package/dist/core/templates/skills/spec-writer/skill.md +61 -0
  196. package/dist/core/templates/skills/spec-writer/skill.vi.md +61 -0
  197. package/dist/core/templates/skills/spec-writer-skill.md +61 -0
  198. package/dist/core/templates/skills/spec-writer-skill.vi.md +61 -0
  199. package/dist/core/templates/skills/sql-queries/skill.md +67 -0
  200. package/dist/core/templates/skills/sql-queries/skill.vi.md +67 -0
  201. package/dist/core/templates/skills/sql-queries-skill.md +67 -0
  202. package/dist/core/templates/skills/sql-queries-skill.vi.md +67 -0
  203. package/dist/core/templates/skills/suggestion/skill.md +118 -0
  204. package/dist/core/templates/skills/suggestion-skill.md +118 -118
  205. package/dist/core/templates/skills/system-design/skill.md +70 -0
  206. package/dist/core/templates/skills/system-design/skill.vi.md +70 -0
  207. package/dist/core/templates/skills/system-design-skill.md +70 -0
  208. package/dist/core/templates/skills/system-design-skill.vi.md +70 -0
  209. package/dist/core/templates/skills/tech-debt/skill.md +70 -0
  210. package/dist/core/templates/skills/tech-debt/skill.vi.md +70 -0
  211. package/dist/core/templates/skills/tech-debt-skill.md +70 -0
  212. package/dist/core/templates/skills/tech-debt-skill.vi.md +70 -0
  213. package/dist/core/templates/skills/templates/accessibility-checklist.md +40 -40
  214. package/dist/core/templates/skills/templates/example-prompt-full-theme.md +333 -333
  215. package/dist/core/templates/skills/templates/page-types-guide.md +338 -338
  216. package/dist/core/templates/skills/templates/pages-proposed-summary.md +273 -273
  217. package/dist/core/templates/skills/templates/pre-delivery-checklist.md +42 -42
  218. package/dist/core/templates/skills/templates/prompt-template-full-theme.md +313 -313
  219. package/dist/core/templates/skills/templates/responsive-design.md +40 -40
  220. package/dist/core/templates/skills/ui-ux/data/charts.csv +26 -0
  221. package/dist/core/templates/skills/ui-ux/data/colors.csv +97 -0
  222. package/dist/core/templates/skills/ui-ux/data/design-systems.csv +54 -0
  223. package/dist/core/templates/skills/ui-ux/data/landing.csv +31 -0
  224. package/dist/core/templates/skills/ui-ux/data/pages-proposed.csv +22 -0
  225. package/dist/core/templates/skills/ui-ux/data/pages.csv +10 -0
  226. package/dist/core/templates/skills/ui-ux/data/products.csv +97 -0
  227. package/dist/core/templates/skills/ui-ux/data/prompts.csv +24 -0
  228. package/dist/core/templates/skills/ui-ux/data/stacks/flutter.csv +53 -0
  229. package/dist/core/templates/skills/ui-ux/data/stacks/html-tailwind.csv +56 -0
  230. package/dist/core/templates/skills/ui-ux/data/stacks/nextjs.csv +53 -0
  231. package/dist/core/templates/skills/ui-ux/data/stacks/react-native.csv +52 -0
  232. package/dist/core/templates/skills/ui-ux/data/stacks/react.csv +54 -0
  233. package/dist/core/templates/skills/ui-ux/data/stacks/svelte.csv +54 -0
  234. package/dist/core/templates/skills/ui-ux/data/stacks/swiftui.csv +51 -0
  235. package/dist/core/templates/skills/ui-ux/data/stacks/vue.csv +50 -0
  236. package/dist/core/templates/skills/ui-ux/data/styles.csv +59 -0
  237. package/dist/core/templates/skills/ui-ux/data/typography.csv +58 -0
  238. package/dist/core/templates/skills/ui-ux/data/ux-guidelines.csv +100 -0
  239. package/dist/core/templates/skills/ui-ux/scripts/CODE_EXPLANATION.md +394 -0
  240. package/dist/core/templates/skills/ui-ux/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -0
  241. package/dist/core/templates/skills/ui-ux/scripts/SEARCH_MODES_GUIDE.md +238 -0
  242. package/dist/core/templates/skills/ui-ux/scripts/core.py +391 -0
  243. package/dist/core/templates/skills/ui-ux/scripts/search.py +73 -0
  244. package/dist/core/templates/skills/ui-ux/skill.md +595 -0
  245. package/dist/core/templates/skills/ui-ux/templates/accessibility-checklist.md +40 -0
  246. package/dist/core/templates/skills/ui-ux/templates/example-prompt-full-theme.md +333 -0
  247. package/dist/core/templates/skills/ui-ux/templates/page-types-guide.md +338 -0
  248. package/dist/core/templates/skills/ui-ux/templates/pages-proposed-summary.md +273 -0
  249. package/dist/core/templates/skills/ui-ux/templates/pre-delivery-checklist.md +42 -0
  250. package/dist/core/templates/skills/ui-ux/templates/prompt-template-full-theme.md +313 -0
  251. package/dist/core/templates/skills/ui-ux/templates/responsive-design.md +40 -0
  252. package/dist/core/templates/skills/ui-ux-skill.md +595 -584
  253. package/dist/core/templates/skills/unit-test/skill.md +111 -0
  254. package/dist/core/templates/skills/unit-test-skill.md +111 -111
  255. package/dist/core/templates/skills/ux-element/templates/Controller.php +50 -50
  256. package/dist/core/templates/skills/ux-element/templates/Shortcode.php +23 -23
  257. package/dist/core/templates/skills/ux-element/templates/Template.html +20 -20
  258. package/dist/core/templates/skills/ux-element/templates/Thumbnail.svg +8 -8
  259. package/dist/core/templates/skills/ux-element/templates/View.php +21 -21
  260. package/dist/core/templates/skills/ux-element-skill.md +83 -83
  261. package/dist/core/templates/skills/wordpress/plugin-check/skill.md +151 -0
  262. package/dist/core/templates/skills/wordpress/plugin-directory/skill.md +396 -0
  263. package/dist/core/templates/skills/wordpress/plugin-standard/skill.md +100 -0
  264. package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-dashboard.php +47 -0
  265. package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-settings.php +60 -0
  266. package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-css.css +22 -0
  267. package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-js.js +15 -0
  268. package/dist/core/templates/skills/wordpress/plugin-standard/templates/plugin-main.php +169 -0
  269. package/dist/core/templates/skills/wordpress/plugin-standard/templates/readme.txt +41 -0
  270. package/dist/core/templates/skills/wordpress/plugin-standard/templates/uninstall.php +21 -0
  271. package/dist/core/templates/skills/wordpress/ux-element/skill.md +83 -0
  272. package/dist/core/templates/skills/wordpress/ux-element/templates/Controller.php +50 -0
  273. package/dist/core/templates/skills/wordpress/ux-element/templates/Shortcode.php +23 -0
  274. package/dist/core/templates/skills/wordpress/ux-element/templates/Template.html +20 -0
  275. package/dist/core/templates/skills/wordpress/ux-element/templates/Thumbnail.svg +8 -0
  276. package/dist/core/templates/skills/wordpress/ux-element/templates/View.php +21 -0
  277. package/dist/core/templates/skills/wordpress-plugin-check-skill.md +151 -151
  278. package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-dashboard.php +47 -47
  279. package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-settings.php +60 -60
  280. package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-css.css +22 -22
  281. package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-js.js +15 -15
  282. package/dist/core/templates/skills/wordpress-plugin-standard/templates/plugin-main.php +169 -169
  283. package/dist/core/templates/skills/wordpress-plugin-standard/templates/readme.txt +41 -41
  284. package/dist/core/templates/skills/wordpress-plugin-standard/templates/uninstall.php +21 -21
  285. package/dist/core/templates/skills/wordpress-plugin-standard-skill.md +100 -100
  286. package/dist/index.js +4237 -331
  287. package/package.json +75 -72
@@ -0,0 +1,396 @@
1
+ # Skill: WordPress Plugin Directory Compliance Check
2
+
3
+ This skill provides a systematic approach to review WordPress plugin source code against the [WordPress Plugin Directory Guidelines](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/).
4
+
5
+ ## Purpose
6
+
7
+ To ensure a WordPress plugin fully complies with all 18 guidelines before submission to WordPress.org Plugin Directory, identifying issues and providing detailed recommendations for user approval before making changes.
8
+
9
+ ## Prerequisites
10
+
11
+ 1. **Identify Plugin Root**: The agent must identify the root directory of the WordPress plugin being reviewed.
12
+ 2. **Plugin Main File**: Locate the main plugin file (with `Plugin Name:` header).
13
+ 3. **Readme File**: Check for `readme.txt` or `README.md`.
14
+
15
+ ## Required Variables
16
+
17
+ - `{{plugin_path}}`: Absolute path to the plugin root directory.
18
+ - `{{plugin_slug}}`: The plugin's slug (folder name).
19
+
20
+ ## Process Flow
21
+
22
+ ### Step 1: Gather Plugin Information
23
+
24
+ 1. **Find Main Plugin File**:
25
+ ```bash
26
+ grep -l "Plugin Name:" {{plugin_path}}/*.php
27
+ ```
28
+
29
+ 2. **Read Plugin Headers**:
30
+ - Plugin Name
31
+ - Version
32
+ - Author
33
+ - License
34
+ - Text Domain
35
+
36
+ 3. **Scan File Structure**:
37
+ ```bash
38
+ find {{plugin_path}} -type f \( -name "*.php" -o -name "*.js" -o -name "*.css" \) | head -50
39
+ ```
40
+
41
+ ### Step 2: Review All 18 Guidelines
42
+
43
+ Perform systematic checks on each guideline:
44
+
45
+ ---
46
+
47
+ #### **Guideline 1: GPL Compatibility**
48
+ > "Plugins must be compatible with the GNU General Public License"
49
+
50
+ **Checks:**
51
+ - [ ] Main plugin file has License header?
52
+ - [ ] License is GPL-compatible? (GPLv2 or later recommended)
53
+ - [ ] Third-party libraries have GPL-compatible licenses?
54
+ - [ ] Images and fonts have clear licensing?
55
+
56
+ **Commands:**
57
+ ```bash
58
+ grep -r "License:" --include="*.php" {{plugin_path}}
59
+ grep -r "@license" --include="*.php" {{plugin_path}}
60
+ ```
61
+
62
+ ---
63
+
64
+ #### **Guideline 2: Developer Responsibility**
65
+ > "Developers are responsible for the contents and actions of their plugins"
66
+
67
+ **Checks:**
68
+ - [ ] No code intentionally bypassing guidelines?
69
+ - [ ] All files have confirmed licensing?
70
+ - [ ] Third-party APIs comply with terms of use?
71
+
72
+ ---
73
+
74
+ #### **Guideline 3: Stable Version Availability**
75
+ > "A stable version of a plugin must be available from its WordPress Plugin Directory page"
76
+
77
+ **Checks:**
78
+ - [ ] Code on SVN/directory is the latest version?
79
+ - [ ] Not distributing code via alternate methods without updating directory?
80
+
81
+ ---
82
+
83
+ #### **Guideline 4: Human Readable Code**
84
+ > "Code must be (mostly) human readable"
85
+
86
+ **Checks:**
87
+ - [ ] No obfuscated code (p,a,c,k,e,r, uglify mangle)?
88
+ - [ ] No obscure variable names ($z12sdf813d)?
89
+ - [ ] Source code or link to development location available in readme?
90
+ - [ ] Build tools documented?
91
+
92
+ **Commands:**
93
+ ```bash
94
+ # Find eval() that may contain obfuscated code
95
+ grep -r "eval(" --include="*.php" --include="*.js" {{plugin_path}}
96
+ # Find strange variable names
97
+ grep -rE "\$[a-z][0-9]{3,}" --include="*.php" {{plugin_path}}
98
+ ```
99
+
100
+ ---
101
+
102
+ #### **Guideline 5: No Trialware**
103
+ > "Trialware is not permitted"
104
+
105
+ **Checks:**
106
+ - [ ] No features locked behind payment?
107
+ - [ ] No time-based trial limits?
108
+ - [ ] No quota restrictions?
109
+ - [ ] No sandbox-only API access?
110
+
111
+ **Commands:**
112
+ ```bash
113
+ grep -ri "trial" --include="*.php" {{plugin_path}}
114
+ grep -ri "expired" --include="*.php" {{plugin_path}}
115
+ grep -ri "license_key" --include="*.php" {{plugin_path}}
116
+ grep -ri "is_pro" --include="*.php" {{plugin_path}}
117
+ ```
118
+
119
+ ---
120
+
121
+ #### **Guideline 6: Software as a Service**
122
+ > "Software as a Service is permitted"
123
+
124
+ **Checks:**
125
+ - [ ] Service provides real functionality, not just license validation?
126
+ - [ ] Service documented in readme?
127
+ - [ ] Link to Terms of Use provided?
128
+ - [ ] Not just a storefront?
129
+
130
+ ---
131
+
132
+ #### **Guideline 7: User Tracking Consent**
133
+ > "Plugins may not track users without their consent"
134
+
135
+ **Checks:**
136
+ - [ ] No automatic data collection without consent?
137
+ - [ ] Clear opt-in mechanism?
138
+ - [ ] Privacy policy documented in readme?
139
+ - [ ] Not misleading users to submit information?
140
+ - [ ] Not offloading unrelated assets?
141
+ - [ ] No undocumented external data usage?
142
+
143
+ **Commands:**
144
+ ```bash
145
+ # Find external requests
146
+ grep -ri "wp_remote" --include="*.php" {{plugin_path}}
147
+ grep -ri "curl_" --include="*.php" {{plugin_path}}
148
+ grep -ri "file_get_contents.*http" --include="*.php" {{plugin_path}}
149
+ # Find tracking
150
+ grep -ri "analytics" --include="*.php" --include="*.js" {{plugin_path}}
151
+ grep -ri "tracking" --include="*.php" --include="*.js" {{plugin_path}}
152
+ ```
153
+
154
+ ---
155
+
156
+ #### **Guideline 8: No External Executable Code**
157
+ > "Plugins may not send executable code via third-party systems"
158
+
159
+ **Checks:**
160
+ - [ ] Not serving updates from external servers?
161
+ - [ ] Not installing plugins/themes/add-ons from outside?
162
+ - [ ] Not calling CDN for JS/CSS (except fonts)?
163
+ - [ ] Not using third-party services to manage data lists?
164
+ - [ ] Not using iframes in admin pages?
165
+
166
+ **Commands:**
167
+ ```bash
168
+ grep -ri "cdn" --include="*.php" --include="*.js" {{plugin_path}}
169
+ grep -ri "<iframe" --include="*.php" {{plugin_path}}
170
+ grep -ri "wp_remote_get.*\.js" --include="*.php" {{plugin_path}}
171
+ ```
172
+
173
+ ---
174
+
175
+ #### **Guideline 9: Legal and Ethical Conduct**
176
+ > "Developers and their plugins must not do anything illegal, dishonest, or morally offensive"
177
+
178
+ **Checks:**
179
+ - [ ] No keyword stuffing?
180
+ - [ ] No fake reviews/sockpuppeting?
181
+ - [ ] No copying others' plugins?
182
+ - [ ] No automatic legal compliance claims?
183
+ - [ ] No unauthorized server resource usage (botnet, crypto-mining)?
184
+
185
+ ---
186
+
187
+ #### **Guideline 10: External Links and Credits**
188
+ > "Plugins may not embed external links or credits on the public site without explicitly asking the user's permission"
189
+
190
+ **Checks:**
191
+ - [ ] "Powered By" links are optional and default OFF?
192
+ - [ ] Users must opt-in to display credits?
193
+ - [ ] Plugin doesn't require credit for functionality?
194
+
195
+ **Commands:**
196
+ ```bash
197
+ grep -ri "powered by" --include="*.php" {{plugin_path}}
198
+ grep -ri "credit" --include="*.php" {{plugin_path}}
199
+ grep -ri "footer_text" --include="*.php" {{plugin_path}}
200
+ ```
201
+
202
+ ---
203
+
204
+ #### **Guideline 11: Admin Dashboard Experience**
205
+ > "Plugins should not hijack the admin dashboard"
206
+
207
+ **Checks:**
208
+ - [ ] Upgrade prompts are limited and contextual?
209
+ - [ ] Notices are dismissible?
210
+ - [ ] Error messages have resolution guidance?
211
+ - [ ] No excessive dashboard advertising?
212
+ - [ ] No tracking in ads (related to Guideline 7)?
213
+
214
+ **Commands:**
215
+ ```bash
216
+ grep -ri "admin_notice" --include="*.php" {{plugin_path}}
217
+ grep -ri "is-dismissible" --include="*.php" {{plugin_path}}
218
+ grep -ri "upgrade" --include="*.php" {{plugin_path}}
219
+ ```
220
+
221
+ ---
222
+
223
+ #### **Guideline 12: No Spam in Public Pages**
224
+ > "Public facing pages on WordPress.org (readmes) must not spam"
225
+
226
+ **Checks in readme.txt:**
227
+ - [ ] No more than 5 tags?
228
+ - [ ] No undisclosed affiliate links?
229
+ - [ ] No keyword stuffing?
230
+ - [ ] No competitor tags?
231
+ - [ ] Links are direct, not redirected/cloaked?
232
+
233
+ ---
234
+
235
+ #### **Guideline 13: WordPress Default Libraries**
236
+ > "Plugins must use WordPress' default libraries"
237
+
238
+ **Checks:**
239
+ - [ ] Not including separate jQuery?
240
+ - [ ] Not including libraries already in WordPress?
241
+ - [ ] Using `wp_enqueue_script()` with standard handles?
242
+
243
+ **WordPress Default Libraries:**
244
+ - jQuery, jQuery UI
245
+ - Backbone.js, Underscore.js
246
+ - React, ReactDOM
247
+ - Lodash
248
+ - Moment.js
249
+ - PHPMailer, PHPass
250
+
251
+ **Commands:**
252
+ ```bash
253
+ find {{plugin_path}} -name "jquery*.js" -o -name "jquery*.min.js"
254
+ find {{plugin_path}} -name "underscore*.js" -o -name "backbone*.js"
255
+ find {{plugin_path}} -name "react*.js" -o -name "moment*.js"
256
+ ```
257
+
258
+ ---
259
+
260
+ #### **Guideline 14: Commit Frequency**
261
+ > "Frequent commits to a plugin should be avoided"
262
+
263
+ **Checks:**
264
+ - [ ] SVN is release repository, not development?
265
+ - [ ] Meaningful commit messages?
266
+ - [ ] No rapid-fire minor commits?
267
+
268
+ ---
269
+
270
+ #### **Guideline 15: Version Number Increment**
271
+ > "Plugin version numbers must be incremented for each new release"
272
+
273
+ **Checks:**
274
+ - [ ] Version in main plugin file matches readme.txt?
275
+ - [ ] Correct version format (semantic versioning recommended)?
276
+ - [ ] SVN tag matches version number?
277
+
278
+ **Commands:**
279
+ ```bash
280
+ grep -r "Version:" --include="*.php" {{plugin_path}} | head -5
281
+ grep -r "Stable tag:" {{plugin_path}}/readme.txt
282
+ ```
283
+
284
+ ---
285
+
286
+ #### **Guideline 16: Complete Plugin Required**
287
+ > "A complete plugin must be available at the time of submission"
288
+
289
+ **Checks:**
290
+ - [ ] Plugin is fully functional?
291
+ - [ ] Not a placeholder/coming soon?
292
+ - [ ] Not reserving name for future use?
293
+
294
+ ---
295
+
296
+ #### **Guideline 17: Trademark and Copyright**
297
+ > "Plugins must respect trademarks, copyrights, and project names"
298
+
299
+ **Checks:**
300
+ - [ ] Slug doesn't start with trademarked names (WordPress, WooCommerce, etc.) unless authorized?
301
+ - [ ] Plugin name doesn't cause confusion with other products?
302
+ - [ ] Original branding recommended?
303
+
304
+ ---
305
+
306
+ #### **Guideline 18: Directory Maintenance Rights**
307
+ > "We reserve the right to maintain the Plugin Directory to the best of our ability"
308
+
309
+ **Notes:** WordPress.org has rights to:
310
+ - Update guidelines at any time
311
+ - Disable/remove plugins for unlisted reasons
312
+ - Grant exceptions
313
+ - Remove developer access
314
+ - Modify plugins without consent for public safety
315
+
316
+ ---
317
+
318
+ ### Step 3: Generate Compliance Report
319
+
320
+ Create a report using this format:
321
+
322
+ ```markdown
323
+ # WordPress Plugin Directory Compliance Report
324
+
325
+ ## Plugin Information
326
+ - **Name:** [Plugin Name]
327
+ - **Version:** [Version]
328
+ - **Path:** [Path]
329
+ - **Review Time:** [Date/Time]
330
+
331
+ ## Summary
332
+ - ✅ Passed: X/18 guidelines
333
+ - ⚠️ Needs Review: X issues
334
+ - ❌ Violations: X issues
335
+
336
+ ## Details by Guideline
337
+
338
+ ### ❌ Guideline X: [Guideline Name]
339
+ **Issues Found:**
340
+ - [Issue description]
341
+ - **File:** [file path]
342
+ - **Line:** [line number]
343
+
344
+ **Suggested Fix:**
345
+ \`\`\`php
346
+ // Code suggestion
347
+ \`\`\`
348
+
349
+ ### ⚠️ Guideline Y: [Guideline Name]
350
+ **Needs Review:**
351
+ - [Description]
352
+
353
+ ---
354
+
355
+ ## Recommended Actions
356
+ 1. [ ] [Action 1]
357
+ 2. [ ] [Action 2]
358
+ ...
359
+ ```
360
+
361
+ ### Step 4: User Confirmation
362
+
363
+ **CRITICAL:** Before making ANY changes, the Agent MUST:
364
+
365
+ 1. Present the complete report to the user
366
+ 2. Clearly explain each issue with reference to the specific guideline number
367
+ 3. Wait for user confirmation on each action item
368
+ 4. Only proceed after receiving approval
369
+
370
+ ## Useful Commands
371
+
372
+ ```bash
373
+ # Check plugin structure overview
374
+ find {{plugin_path}} -type f \( -name "*.php" -o -name "*.js" -o -name "*.css" \) | head -50
375
+
376
+ # Find all external URLs
377
+ grep -rhoE "https?://[a-zA-Z0-9./?=_-]*" --include="*.php" {{plugin_path}} | sort -u
378
+
379
+ # Check enqueued scripts
380
+ grep -r "wp_enqueue_script\|wp_enqueue_style" --include="*.php" {{plugin_path}}
381
+
382
+ # Find admin notices
383
+ grep -r "add_action.*admin_notices" --include="*.php" {{plugin_path}}
384
+
385
+ # Check AJAX handlers
386
+ grep -r "wp_ajax_" --include="*.php" {{plugin_path}}
387
+
388
+ # Find direct database queries
389
+ grep -r "\$wpdb->" --include="*.php" {{plugin_path}}
390
+ ```
391
+
392
+ ## References
393
+
394
+ - [WordPress Plugin Guidelines](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/)
395
+ - [GPL Compatible Licenses](https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses)
396
+ - [Default Scripts in WordPress](https://developer.wordpress.org/reference/functions/wp_enqueue_script/#default-scripts-and-js-libraries-included-and-registered-by-wordpress)
@@ -0,0 +1,100 @@
1
+ # Skill: WordPress Plugin Standard (WP.org Compliant)
2
+
3
+ This skill guides the creation of a high-quality, secure, and WordPress.org compliant plugin. It focuses on adherence to the Plugin Check (PCP) requirements and provides a robust structure including admin interfaces.
4
+
5
+ ## Purpose
6
+ Standardize WordPress plugin development to ensure acceptance into the official repository, maximize security, and promote maintainability through strict separation of concerns.
7
+
8
+ ## Required Variables
9
+ - `{{plugin_name}}`: Human-readable name (e.g., My Awesome Plugin).
10
+ - `{{plugin_slug}}`: Unique slug (e.g., my-awesome-plugin).
11
+ - `{{namespace}}`: PHP Namespace (e.g., PolyXGO\MyPlugin).
12
+ - `{{prefix}}`: Unique prefix for functions/variables (e.g., pxmp_).
13
+ - `{{text_domain}}`: I18n text domain (usually same as plugin slug).
14
+
15
+ ## Core Requirements (WordPress.org & PCP)
16
+
17
+ ### 1. Security & Protection
18
+ - **Direct Access**: Use `if ( ! defined( 'ABSPATH' ) ) exit;` at the top of every PHP file.
19
+ - **Nonces**: Verify nonces for all form submissions and AJAX requests.
20
+ - **Validation & Sanitization**: Sanitize all inputs (`sanitize_text_field`, `absint`, etc.) and validate data before processing.
21
+ - **Escaping**: Escape all outputs strictly based on context (`esc_html`, `esc_attr`, `wp_kses`, etc.).
22
+ - **Capabilities**: Explicitly check user capabilities (`current_user_can`) for all admin actions.
23
+
24
+ ### 2. Code Organization & Standards
25
+ - **Naming**: Use the `{{prefix}}` for all global functions, variables, and constants.
26
+ - **Namespace**: Use PSR-4 namespacing (`{{namespace}}`) to avoid class collisions.
27
+ - **Separation of Concerns**: Keep CSS and JS in separate files. AVOID inline styles or scripts unless dynamically generated values are required (use `wp_localize_script` or `wp_add_inline_style` only when necessary).
28
+ - **No Prohibited Constructs**: Never use `eval()`, `base64_decode()` for obfuscation, or short tags (`<?`).
29
+
30
+ ### 3. Required Components
31
+ - **Main Plugin File**: Must contain the required header comment.
32
+ - **`readme.txt`**: Standard WordPress.org format.
33
+ - **Admin Interface**:
34
+ - A top-level or sub-menu item for the **Dashboard**.
35
+ - A dedicated **Settings** page for configuration.
36
+ - **Uninstallation**: Provide an `uninstall.php` file to clean up data (options, tables) when the plugin is deleted.
37
+
38
+ ## Implementation Steps
39
+
40
+ ### Step 1: Initialize Main Structure
41
+ 1. Create the main plugin file `{{plugin_slug}}.php` with the correct header.
42
+ 2. Initialize the main class with a singleton or static instance.
43
+ 3. Hook into `plugins_loaded` to start the plugin logic.
44
+
45
+ ### Step 2: Register Admin Menu
46
+ 1. Hook into `admin_menu`.
47
+ 2. Add a menu page and a sub-page for Settings.
48
+ 3. Enqueue admin-specific assets (CSS/JS) only on plugin pages.
49
+
50
+ ### Step 3: Integrate UI/UX Skill
51
+ When designing the Dashboard or Settings page:
52
+ 1. **Call Skill**: Use `(skill: ui-ux)` to define the design language.
53
+ 2. **Apply Styles**: Use the colors, typography, and spacing defined by the `ui-ux` skill result.
54
+ 3. Write styles in `assets/admin.css`.
55
+
56
+ ### Step 4: Handle Data Persistence
57
+ 1. Use the Options API (`get_option`, `update_option`) for settings.
58
+ 2. Ensure all data saved to the database is sanitized.
59
+ 3. Ensure all data retrieved from the database is escaped on output.
60
+
61
+ ## Standards and Rules
62
+
63
+ ### The Prefixing Rule
64
+ Every global identifier MUST start with `{{prefix}}`.
65
+ - ✅ `{{prefix}}get_settings()`
66
+ - ❌ `get_settings()`
67
+
68
+ ### The "No Inline" Rule
69
+ - CSS must be in `assets/css/admin.css`.
70
+ - JS must be in `assets/js/admin.js`.
71
+ - Use `wp_enqueue_style` and `wp_enqueue_script` correctly.
72
+
73
+ ### The "Smart Flush" Rule (Friendly URLs)
74
+ If the plugin uses custom post types or custom permalink structures, you MUST implement a "Queue & Flush" mechanism to update rewrite rules automatically. **NEVER** call `flush_rewrite_rules()` on every page load or `init` hook directly without a condition.
75
+
76
+ **Implementation Pattern:**
77
+ 1. **Queue Flush**: When settings verify (e.g., via `update_option` hook), set a temporary flag.
78
+ ```php
79
+ add_action('update_option_{{prefix}}permalink_settings', function($old, $new) {
80
+ update_option('{{prefix}}flush_rewrite_flag', true);
81
+ }, 10, 2);
82
+ ```
83
+ 2. **Execute Flush**: On the next `admin_init`, check and flush.
84
+ ```php
85
+ add_action('admin_init', function() {
86
+ if (get_option('{{prefix}}flush_rewrite_flag')) {
87
+ flush_rewrite_rules();
88
+ delete_option('{{prefix}}flush_rewrite_flag');
89
+ }
90
+ });
91
+ ```
92
+
93
+ ## Templates
94
+ - [plugin-main.php](templates/plugin-main.php)
95
+ - [admin-dashboard.php](templates/admin-dashboard.php)
96
+ - [admin-settings.php](templates/admin-settings.php)
97
+ - [readme.txt](templates/readme.txt)
98
+ - [uninstall.php](templates/uninstall.php)
99
+ - [assets/admin-css.css](templates/assets/admin-css.css)
100
+ - [assets/admin-js.js](templates/assets/admin-js.js)
@@ -0,0 +1,47 @@
1
+ <?php
2
+ /**
3
+ * Admin Dashboard Template
4
+ *
5
+ * @package {{namespace}}
6
+ */
7
+
8
+ if ( ! defined( 'ABSPATH' ) ) {
9
+ exit;
10
+ }
11
+ ?>
12
+
13
+ <div class="wrap {{plugin_slug}}-dashboard">
14
+ <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
15
+
16
+ <div class="welcome-panel">
17
+ <div class="welcome-panel-content">
18
+ <h2><?php esc_html_e( 'Welcome to {{plugin_name}}', '{{text_domain}}' ); ?></h2>
19
+ <p class="about-description"><?php esc_html_e( 'Thank you for using our plugin. This dashboard provides an overview of your activity.', '{{text_domain}}' ); ?></p>
20
+
21
+ <div class="welcome-panel-column-container">
22
+ <div class="welcome-panel-column">
23
+ <h3><?php esc_html_e( 'Get Started', '{{text_domain}}' ); ?></h3>
24
+ <a class="button button-primary button-hero" href="<?php echo esc_url( admin_url( 'admin.php?page={{plugin_slug}}-settings' ) ); ?>"><?php esc_html_e( 'Configure Settings', '{{text_domain}}' ); ?></a>
25
+ </div>
26
+ <div class="welcome-panel-column">
27
+ <h3><?php esc_html_e( 'Next Steps', '{{text_domain}}' ); ?></h3>
28
+ <ul>
29
+ <li><a href="#" class="welcome-icon welcome-view-site"><?php esc_html_e( 'Check Features', '{{text_domain}}' ); ?></a></li>
30
+ <li><a href="#" class="welcome-icon welcome-edit-page"><?php esc_html_e( 'Documentation', '{{text_domain}}' ); ?></a></li>
31
+ </ul>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+
37
+ <div class="postbox-container">
38
+ <div class="postbox">
39
+ <div class="postbox-header">
40
+ <h2 class="hndle"><?php esc_html_e( 'Overview Stats', '{{text_domain}}' ); ?></h2>
41
+ </div>
42
+ <div class="inside">
43
+ <p><?php esc_html_e( 'Summary of your plugin usage will appear here.', '{{text_domain}}' ); ?></p>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
@@ -0,0 +1,60 @@
1
+ <?php
2
+ /**
3
+ * Admin Settings Template
4
+ *
5
+ * @package {{namespace}}
6
+ */
7
+
8
+ if ( ! defined( 'ABSPATH' ) ) {
9
+ exit;
10
+ }
11
+
12
+ // Handle form submission
13
+ if ( isset( $_POST['{{prefix}}save_settings'] ) ) {
14
+
15
+ // Check nonce
16
+ if ( ! isset( $_POST['{{prefix}}settings_nonce'] ) || ! wp_verify_nonce( $_POST['{{prefix}}settings_nonce'], '{{prefix}}settings_action' ) ) {
17
+ wp_die( esc_html__( 'Security check failed.', '{{text_domain}}' ) );
18
+ }
19
+
20
+ // Check capabilities
21
+ if ( ! current_user_can( 'manage_options' ) ) {
22
+ wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', '{{text_domain}}' ) );
23
+ }
24
+
25
+ // Save settings (example)
26
+ if ( isset( $_POST['{{prefix}}api_key'] ) ) {
27
+ update_option( '{{prefix}}api_key', sanitize_text_field( wp_unslash( $_POST['{{prefix}}api_key'] ) ) );
28
+ }
29
+
30
+ echo '<div class="updated"><p>' . esc_html__( 'Settings saved.', '{{text_domain}}' ) . '</p></div>';
31
+ }
32
+
33
+ $api_key = get_option( '{{prefix}}api_key', '' );
34
+ ?>
35
+
36
+ <div class="wrap {{plugin_slug}}-settings">
37
+ <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
38
+
39
+ <form method="post" action="">
40
+ <?php wp_nonce_field( '{{prefix}}settings_action', '{{prefix}}settings_nonce' ); ?>
41
+
42
+ <table class="form-table" role="presentation">
43
+ <tbody>
44
+ <tr>
45
+ <th scope="row">
46
+ <label for="{{prefix}}api_key"><?php esc_html_e( 'API Key', '{{text_domain}}' ); ?></label>
47
+ </th>
48
+ <td>
49
+ <input name="{{prefix}}api_key" type="text" id="{{prefix}}api_key" value="<?php echo esc_attr( $api_key ); ?>" class="regular-text">
50
+ <p class="description"><?php esc_html_e( 'Enter your API key here.', '{{text_domain}}' ); ?></p>
51
+ </td>
52
+ </tr>
53
+ </tbody>
54
+ </table>
55
+
56
+ <p class="submit">
57
+ <input type="submit" name="{{prefix}}save_settings" id="submit" class="button button-primary" value="<?php esc_attr_e( 'Save Changes', '{{text_domain}}' ); ?>">
58
+ </p>
59
+ </form>
60
+ </div>
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Admin Styles for {{plugin_name}}
3
+ *
4
+ * DESIGN SYSTEM:
5
+ * Use the ui-ux skill to define colors, fonts, and spacing.
6
+ * This file should contain layout and component-specific styles.
7
+ */
8
+
9
+ .{{plugin_slug}}-dashboard .welcome-panel {
10
+ margin-top: 20px;
11
+ border: 1px solid #ccd0d4;
12
+ background: #fff;
13
+ padding: 20px;
14
+ }
15
+
16
+ .{{plugin_slug}}-dashboard .welcome-panel h2 {
17
+ margin-top: 0;
18
+ }
19
+
20
+ .{{plugin_slug}}-settings .form-table {
21
+ margin-top: 20px;
22
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Admin JavaScript for {{plugin_name}}
3
+ */
4
+
5
+ (function($) {
6
+ 'use strict';
7
+
8
+ $(document).ready(function() {
9
+ console.log('{{plugin_name}} Admin Loaded');
10
+
11
+ // Example: Handle AJAX or UI interactions
12
+ // Use {{prefix}}params.ajax_url and {{prefix}}params.nonce
13
+ });
14
+
15
+ })(jQuery);