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,169 @@
1
+ <?php
2
+ /**
3
+ * Plugin Name: {{plugin_name}}
4
+ * Description: A high-quality WordPress plugin following WP.org standards.
5
+ * Version: 1.0.0
6
+ * Author: Your Name
7
+ * Author URI: https://example.com
8
+ * License: GPL-2.0-or-later
9
+ * License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
+ * Text Domain: {{text_domain}}
11
+ * Domain Path: /languages
12
+ *
13
+ * @package {{namespace}}
14
+ */
15
+
16
+ // If this file is called directly, abort.
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit;
19
+ }
20
+
21
+ /**
22
+ * The core plugin class.
23
+ */
24
+ class {{namespace}}\Main {
25
+
26
+ /**
27
+ * Instance of this class.
28
+ *
29
+ * @var object
30
+ */
31
+ protected static $instance = null;
32
+
33
+ /**
34
+ * Initialize the plugin.
35
+ */
36
+ public function __construct() {
37
+ $this->define_constants();
38
+ $this->includes();
39
+ $this->init_hooks();
40
+ }
41
+
42
+ /**
43
+ * Return an instance of this class.
44
+ */
45
+ public static function get_instance() {
46
+ if ( null === self::$instance ) {
47
+ self::$instance = new self();
48
+ }
49
+ return self::$instance;
50
+ }
51
+
52
+ /**
53
+ * Define constants.
54
+ */
55
+ private function define_constants() {
56
+ define( '{{prefix|upper}}VERSION', '1.0.0' );
57
+ define( '{{prefix|upper}}PATH', plugin_dir_path( __FILE__ ) );
58
+ define( '{{prefix|upper}}URL', plugin_dir_url( __FILE__ ) );
59
+ }
60
+
61
+ /**
62
+ * Include required files.
63
+ */
64
+ private function includes() {
65
+ // Include admin classes, helpers, etc.
66
+ }
67
+
68
+ /**
69
+ * Initialize hooks.
70
+ */
71
+ private function init_hooks() {
72
+ add_action( 'admin_menu', [ $this, 'add_menu_pages' ] );
73
+ add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_assets' ] );
74
+
75
+ // Activation / Deactivation hooks
76
+ register_activation_hook( __FILE__, [ $this, 'activate' ] );
77
+ register_deactivation_hook( __FILE__, [ $this, 'deactivate' ] );
78
+ }
79
+
80
+ /**
81
+ * Add Admin Menu Pages.
82
+ */
83
+ public function add_menu_pages() {
84
+ add_menu_page(
85
+ __( '{{plugin_name}}', '{{text_domain}}' ),
86
+ __( '{{plugin_name}}', '{{text_domain}}' ),
87
+ 'manage_options',
88
+ '{{plugin_slug}}',
89
+ [ $this, 'render_dashboard_page' ],
90
+ 'dashicons-admin-generic',
91
+ 100
92
+ );
93
+
94
+ add_submenu_page(
95
+ '{{plugin_slug}}',
96
+ __( 'Dashboard', '{{text_domain}}' ),
97
+ __( 'Dashboard', '{{text_domain}}' ),
98
+ 'manage_options',
99
+ '{{plugin_slug}}',
100
+ [ $this, 'render_dashboard_page' ]
101
+ );
102
+
103
+ add_submenu_page(
104
+ '{{plugin_slug}}',
105
+ __( 'Settings', '{{text_domain}}' ),
106
+ __( 'Settings', '{{text_domain}}' ),
107
+ 'manage_options',
108
+ '{{plugin_slug}}-settings',
109
+ [ $this, 'render_settings_page' ]
110
+ );
111
+ }
112
+
113
+ /**
114
+ * Enqueue Admin Assets.
115
+ */
116
+ public function enqueue_admin_assets( $hook ) {
117
+ // Only load on our plugin pages
118
+ if ( strpos( $hook, '{{plugin_slug}}' ) === false ) {
119
+ return;
120
+ }
121
+
122
+ wp_enqueue_style( '{{plugin_slug}}-admin', {{prefix|upper}}URL . 'assets/css/admin.css', [], {{prefix|upper}}VERSION );
123
+ wp_enqueue_script( '{{plugin_slug}}-admin', {{prefix|upper}}URL . 'assets/js/admin.js', [ 'jquery' ], {{prefix|upper}}VERSION, true );
124
+
125
+ wp_localize_script( '{{plugin_slug}}-admin', '{{prefix}}params', [
126
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
127
+ 'nonce' => wp_create_nonce( '{{prefix}}nonce' ),
128
+ ]);
129
+ }
130
+
131
+ /**
132
+ * Render Dashboard Page.
133
+ */
134
+ public function render_dashboard_page() {
135
+ // Include template file
136
+ include {{prefix|upper}}PATH . 'templates/admin-dashboard.php';
137
+ }
138
+
139
+ /**
140
+ * Render Settings Page.
141
+ */
142
+ public function render_settings_page() {
143
+ // Include template file
144
+ include {{prefix|upper}}PATH . 'templates/admin-settings.php';
145
+ }
146
+
147
+ /**
148
+ * Activation logic.
149
+ */
150
+ public function activate() {
151
+ // Setup database tables, default options, etc.
152
+ }
153
+
154
+ /**
155
+ * Deactivation logic.
156
+ */
157
+ public function deactivate() {
158
+ // Clear scheduled tasks, etc.
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Initialize the plugin.
164
+ */
165
+ function {{prefix}}init() {
166
+ return {{namespace}}\Main::get_instance();
167
+ }
168
+
169
+ add_action( 'plugins_loaded', '{{prefix}}init' );
@@ -0,0 +1,41 @@
1
+ === {{plugin_name}} ===
2
+ Contributors: yourname
3
+ Tags: wordpress, plugin, standard
4
+ Requires at least: 6.0
5
+ Tested up to: 6.4
6
+ Requires PHP: 7.4
7
+ Stable tag: 1.0.0
8
+ License: GPLv2 or later
9
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ {{plugin_name}} is a high-quality WordPress plugin built with HeraSpec.
12
+
13
+ == Description ==
14
+
15
+ Describe your plugin features here.
16
+
17
+ == Installation ==
18
+
19
+ 1. Upload the plugin files to the `/wp-content/plugins/{{plugin_slug}}` directory.
20
+ 2. Activate the plugin through the 'Plugins' screen in WordPress.
21
+ 3. Go to {{plugin_name}} -> Settings to configure.
22
+
23
+ == Frequently Asked Questions ==
24
+
25
+ = Is this plugin free? =
26
+
27
+ Yes!
28
+
29
+ == Screenshots ==
30
+
31
+ 1. Dashboard view.
32
+
33
+ == Changelog ==
34
+
35
+ = 1.0.0 =
36
+ * Initial release.
37
+
38
+ == Upgrade Notice ==
39
+
40
+ = 1.0.0 =
41
+ * First version.
@@ -0,0 +1,21 @@
1
+ <?php
2
+ /**
3
+ * Fired when the plugin is uninstalled.
4
+ *
5
+ * @package {{namespace}}
6
+ */
7
+
8
+ // If uninstall not called from WordPress, then exit.
9
+ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
10
+ exit;
11
+ }
12
+
13
+ /**
14
+ * Clean up plugin data.
15
+ */
16
+ delete_option( '{{prefix}}version' );
17
+ delete_option( '{{prefix}}api_key' );
18
+
19
+ // Delete custom tables if any...
20
+ // global $wpdb;
21
+ // $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}your_table_name" );
@@ -0,0 +1,83 @@
1
+ # Skill: Flatsome UX Element
2
+
3
+ This skill guides the creation of custom UX Builder elements for the Flatsome theme within the PolyUtilities plugin.
4
+
5
+ ## Purpose
6
+ Standardize the development of UX elements to ensure consistency across controllers, shortcodes, and templates, with special focus on real-time preview functionality. This skill is portable and uses dynamic prefixes for identity (Shortcode, Namespace, CSS Classes).
7
+
8
+ ## Required Variables
9
+ When calling this skill, define the following identity prefixes:
10
+ - `{{namespace_prefix}}`: The root namespace (e.g., `polyxgo\PolyUtilities`).
11
+ - `{{shortcode_prefix}}`: Prefix for shortcode names (e.g., `poly_ux_`).
12
+ - `{{class_prefix}}`: Prefix for CSS classes (e.g., `poly-`).
13
+ - `{{plugin_dir_const}}`: The plugin directory constant (e.g., `__POLYUTILITIES_PLUGIN_DIR__`).
14
+
15
+ ## Prerequisites
16
+ - Knowledge of PHP, WordPress Shortcodes, and AngularJS (for UX Builder templates).
17
+ - Access to `inc/Core/Helper.php` for utility functions.
18
+
19
+ ## Implementation Steps
20
+
21
+ ### 1. Register Shortcode Logic (The Controller)
22
+ Create a new controller class in `inc/Controllers/Elements/`.
23
+ - **Namespace**: `{{namespace_prefix}}\Controllers\Elements`
24
+ - **Method `register_hooks()`**: Add the shortcode `{{shortcode_prefix}}{{element_slug}}` and `ux_builder_setup` action.
25
+ - **Method `render_element($atts, $content)`**: Handle the frontend output.
26
+
27
+ ### 2. Register UX Builder UI (The Shortcode)
28
+ Create a registration file in `inc/builder/shortcodes/`.
29
+ - Use `add_ux_builder_shortcode('{{shortcode_prefix}}{{element_slug}}', ...)`.
30
+ - Define options (textfield, select, colorpicker, slider, etc.).
31
+ - Link to the AngularJS template using `Helper::get_poly_ux_builder_template()`.
32
+
33
+ ### 3. Build the Preview Template (AngularJS)
34
+ Create an HTML file in `inc/builder/shortcodes/templates/`.
35
+ - **CRITICAL**: Wrap the entire content in a `<span>` with `id="{{:: shortcode.$id }}"`.
36
+ - This ensures that clicking the element in the builder correctly selects it and shows options.
37
+ - Use `ng-style` and `style scope="scope"` for real-time CSS updates.
38
+
39
+ ### 4. Create SVG Thumbnail
40
+ Create an SVG file in `inc/builder/shortcodes/thumbnails/`.
41
+ - **Naming**: Use `{{element_slug}}.svg`.
42
+ - **Dimensions**: Use `100x68px`.
43
+ - **Theme**: Use the "Pastel Red" theme (`#F87171` for accents, `#FCA5A5` for fills).
44
+
45
+ ### 5. Create the Frontend View
46
+ (Optional) Extract the HTML into `inc/Views/elements/` for cleaner controllers.
47
+
48
+ ## Standards and Rules
49
+
50
+ ### The Wrapping Rule
51
+ Every UX Builder template MUST follow this structure:
52
+ ```html
53
+ <span id="{{:: shortcode.$id }}">
54
+ <!-- Main element (e.g., <a>, <div>, <section>) -->
55
+ <div class="{{class_prefix}}{{element_slug}}" ng-style="{ 'color': shortcode.options.color }">
56
+ {{ shortcode.options.text }}
57
+ </div>
58
+
59
+ <!-- Scoped styles for hover effects or complex rules -->
60
+ <style scope="scope">
61
+ #{{::shortcode.$id }} .{{class_prefix}}{{element_slug}}:hover {
62
+ opacity: 0.8;
63
+ }
64
+ </style>
65
+ </span>
66
+ ```
67
+
68
+ ### Variable Naming (PHP vs AngularJS)
69
+ **CRITICAL**: When accessing shortcode options in the AngularJS template (`.html`), variables declared with underscores (`_`) in PHP MUST be accessed via **camelCase**.
70
+ - **PHP**: `bg_color` → **AngularJS**: `shortcode.options.bgColor`
71
+ - **PHP**: `pxg_clock_font` → **AngularJS**: `shortcode.options.pxgClockFont`
72
+ - **PHP**: `text_align` → **AngularJS**: `shortcode.options.textAlign`
73
+
74
+ ### Color Handling
75
+ - Use HEX or RGBA strings consistently.
76
+ - Always provide default values in the shortcode registration or handle them in the template/controller.
77
+
78
+ ## Templates
79
+ - [Controller.php](templates/Controller.php)
80
+ - [Shortcode.php](templates/Shortcode.php)
81
+ - [Template.html](templates/Template.html)
82
+ - [View.php](templates/View.php)
83
+ - [Thumbnail.svg](templates/Thumbnail.svg)
@@ -0,0 +1,50 @@
1
+ <?php
2
+
3
+ namespace {{namespace_prefix}}\Controllers\Elements;
4
+
5
+ use polyxgo\PolyUtilities\Core\Helper;
6
+
7
+ class Element{{ElementName}}Controller
8
+ {
9
+ public function register_hooks()
10
+ {
11
+ // 1. Frontend Shortcode
12
+ add_shortcode('{{shortcode_prefix}}{{element_slug}}', [$this, 'render_element']);
13
+
14
+ // 2. UX Builder Integration (Flatsome only)
15
+ if (Helper::is_flatsome_theme_activated()) {
16
+ add_action('ux_builder_setup', [$this, 'register_ux_builder_element']);
17
+ }
18
+ }
19
+
20
+ public function register_ux_builder_element()
21
+ {
22
+ if (function_exists('add_ux_builder_shortcode')) {
23
+ // Include the UI registration file
24
+ require_once Helper::get_poly_ux_builder_shortcode('{{element_slug}}');
25
+ }
26
+ }
27
+
28
+ public function render_element($atts, $content = null)
29
+ {
30
+ $atts = shortcode_atts([
31
+ '_id' => '{{element_slug}}-' . rand(),
32
+ 'title' => '',
33
+ 'class' => '',
34
+ 'visibility' => '',
35
+ // Add more attributes here
36
+ ], $atts, '{{shortcode_prefix}}{{element_slug}}');
37
+
38
+ ob_start();
39
+ $view_path = plugin_dir_path({{plugin_dir_const}}) . '/inc/Views/elements/{{element_slug}}.php';
40
+
41
+ if (file_exists($view_path)) {
42
+ include $view_path;
43
+ } else {
44
+ // Fallback inline rendering
45
+ echo '<div class="' . esc_attr($atts['class']) . '">' . esc_html($atts['title']) . '</div>';
46
+ }
47
+
48
+ return ob_get_clean();
49
+ }
50
+ }
@@ -0,0 +1,23 @@
1
+ <?php
2
+
3
+ use polyxgo\PolyUtilities\Core\Helper;
4
+ use polyxgo\PolyUtilities\Core\Options;
5
+
6
+ add_ux_builder_shortcode('{{shortcode_prefix}}{{element_slug}}', array(
7
+ 'name' => __('{{ElementName}}', 'polyutilities'),
8
+ 'category' => __('PolyUtilities', 'polyutilities'),
9
+ 'template' => Helper::get_poly_ux_builder_template('{{element_slug}}'),
10
+ 'thumbnail' => Helper::get_poly_ux_builder_thumbnail('{{element_slug}}'),
11
+ 'info' => '{{ title }}',
12
+ 'priority' => 10,
13
+ 'options' => array(
14
+ 'title' => array(
15
+ 'type' => 'textfield',
16
+ 'heading' => __('Title', 'polyutilities'),
17
+ 'default' => 'Element Title',
18
+ 'auto_focus' => true,
19
+ ),
20
+ // Add more options here (colorpicker, slider, select, etc.)
21
+ 'advanced_options' => require Helper::get_poly_ux_builder_element('commons', 'advanced'),
22
+ ),
23
+ ));
@@ -0,0 +1,20 @@
1
+ <span id="{{:: shortcode.$id }}">
2
+ <div class="{{class_prefix}}{{element_slug}} {{ shortcode.options.class }} {{ shortcode.options.visibility }}"
3
+ ng-style="{
4
+ 'color': shortcode.options.textColor,
5
+ 'background-color': shortcode.options.bgColor,
6
+ 'font-family': shortcode.options.pxgClockFont
7
+ }">
8
+ <span ng-bind="shortcode.options.title"></span>
9
+ </div>
10
+
11
+ <style scope="scope">
12
+ #{{::shortcode.$id }} .{{class_prefix}}{{element_slug}} {
13
+ /* Add scoped styles here */
14
+ }
15
+
16
+ #{{::shortcode.$id }} .{{class_prefix}}{{element_slug}}:hover {
17
+ /* Hover effects */
18
+ }
19
+ </style>
20
+ </span>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="100px" height="68px" viewBox="0 0 100 68" version="1.1" xmlns="http://www.w3.org/2000/svg">
3
+ <rect x="0" y="0" width="100" height="68" fill="#FFFFFF"></rect>
4
+ <!-- Placeholder: Replace with actual icon geometry -->
5
+ <rect x="25" y="20" width="50" height="28" rx="2" fill="#FCA5A5" stroke="#F87171" stroke-width="2"></rect>
6
+ <rect x="30" y="28" width="40" height="4" rx="1" fill="#FFFFFF"></rect>
7
+ <rect x="30" y="36" width="25" height="4" rx="1" fill="#FFFFFF"></rect>
8
+ </svg>
@@ -0,0 +1,21 @@
1
+ <?php
2
+ /**
3
+ * Frontend view for {{ElementName}}
4
+ *
5
+ * @var array $atts
6
+ */
7
+
8
+ $classes = array('{{class_prefix}}{{element_slug}}');
9
+ if (!empty($atts['class'])) $classes[] = $atts['class'];
10
+ if (!empty($atts['visibility'])) $classes[] = $atts['visibility'];
11
+
12
+ $inline_style = '';
13
+ if (!empty($atts['textColor'])) $inline_style .= 'color: ' . esc_attr($atts['textColor']) . ';';
14
+ if (!empty($atts['bgColor'])) $inline_style .= 'background-color: ' . esc_attr($atts['bgColor']) . ';';
15
+
16
+ ?>
17
+ <div id="<?php echo esc_attr($atts['_id']); ?>"
18
+ class="<?php echo esc_attr(implode(' ', $classes)); ?>"
19
+ style="<?php echo esc_attr($inline_style); ?>">
20
+ <?php echo esc_html($atts['title']); ?>
21
+ </div>