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.
- package/LICENSE +209 -22
- package/README.md +205 -137
- package/bin/heraspec.js +4950 -1161
- package/bin/heraspec.js.map +4 -4
- package/dist/core/templates/skills/CHANGELOG.md +117 -117
- package/dist/core/templates/skills/README-template.md +58 -58
- package/dist/core/templates/skills/README.md +35 -32
- package/dist/core/templates/skills/campaign-plan/skill.md +76 -0
- package/dist/core/templates/skills/campaign-plan/skill.vi.md +76 -0
- package/dist/core/templates/skills/campaign-plan-skill.md +76 -0
- package/dist/core/templates/skills/campaign-plan-skill.vi.md +76 -0
- package/dist/core/templates/skills/code-review/skill.md +70 -0
- package/dist/core/templates/skills/code-review/skill.vi.md +70 -0
- package/dist/core/templates/skills/code-review-skill.md +70 -0
- package/dist/core/templates/skills/code-review-skill.vi.md +70 -0
- package/dist/core/templates/skills/content-creation/skill.md +69 -0
- package/dist/core/templates/skills/content-creation/skill.vi.md +69 -0
- package/dist/core/templates/skills/content-creation-skill.md +69 -0
- package/dist/core/templates/skills/content-creation-skill.vi.md +69 -0
- package/dist/core/templates/skills/content-optimization/skill.md +104 -0
- package/dist/core/templates/skills/content-optimization-skill.md +104 -104
- package/dist/core/templates/skills/data/design-systems.csv +54 -0
- package/dist/core/templates/skills/data/pages-proposed.csv +21 -21
- package/dist/core/templates/skills/data/pages.csv +9 -9
- package/dist/core/templates/skills/data/typography.csv +57 -57
- package/dist/core/templates/skills/debug/skill.md +69 -0
- package/dist/core/templates/skills/debug/skill.vi.md +69 -0
- package/dist/core/templates/skills/debug-skill.md +69 -0
- package/dist/core/templates/skills/debug-skill.vi.md +69 -0
- package/dist/core/templates/skills/deploy-documentation/skill.md +408 -0
- package/dist/core/templates/skills/deploy-documentation-skill.md +408 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/airbnb/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/airtable/DESIGN.md +89 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/apple/DESIGN.md +313 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/bmw/DESIGN.md +180 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cal/DESIGN.md +259 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/claude/DESIGN.md +312 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/clay/DESIGN.md +304 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cohere/DESIGN.md +266 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/coinbase/DESIGN.md +129 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/composio/DESIGN.md +307 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cursor/DESIGN.md +309 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/expo/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/figma/DESIGN.md +220 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/framer/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/ibm/DESIGN.md +332 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/index.json +72 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/intercom/DESIGN.md +146 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/kraken/DESIGN.md +125 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/linear.app/DESIGN.md +367 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/lovable/DESIGN.md +298 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/minimax/DESIGN.md +257 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mintlify/DESIGN.md +326 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/miro/DESIGN.md +108 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mongodb/DESIGN.md +266 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/notion/DESIGN.md +309 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/nvidia/DESIGN.md +293 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/ollama/DESIGN.md +267 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/pinterest/DESIGN.md +230 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/posthog/DESIGN.md +256 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/raycast/DESIGN.md +268 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/replicate/DESIGN.md +261 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/resend/DESIGN.md +303 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/revolut/DESIGN.md +185 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/runwayml/DESIGN.md +244 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/sanity/DESIGN.md +357 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/sentry/DESIGN.md +262 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/spacex/DESIGN.md +194 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/spotify/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/stripe/DESIGN.md +322 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/supabase/DESIGN.md +255 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/superhuman/DESIGN.md +252 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/together.ai/DESIGN.md +263 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/uber/DESIGN.md +295 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/vercel/DESIGN.md +310 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/voltagent/DESIGN.md +323 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/warp/DESIGN.md +253 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/webflow/DESIGN.md +92 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/wise/DESIGN.md +173 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/x.ai/DESIGN.md +257 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/zapier/DESIGN.md +328 -0
- package/dist/core/templates/skills/design-system/skill.md +176 -0
- package/dist/core/templates/skills/design-system-skill.md +176 -0
- package/dist/core/templates/skills/documents/skill.md +104 -0
- package/dist/core/templates/skills/documents/templates/documentation-landing-page.html +63 -63
- package/dist/core/templates/skills/documents/templates/documentation.html +49 -49
- package/dist/core/templates/skills/documents/templates/landing-script.js +38 -38
- package/dist/core/templates/skills/documents/templates/landing-style.css +158 -158
- package/dist/core/templates/skills/documents/templates/script.js +56 -56
- package/dist/core/templates/skills/documents/templates/style.css +155 -155
- package/dist/core/templates/skills/documents/templates/technical-doc-template.md +16 -16
- package/dist/core/templates/skills/documents/templates/user-guide-template.md +16 -16
- package/dist/core/templates/skills/documents-skill.md +104 -104
- package/dist/core/templates/skills/e2e-test/skill.md +119 -0
- package/dist/core/templates/skills/e2e-test-skill.md +119 -119
- package/dist/core/templates/skills/email-sequence/skill.md +68 -0
- package/dist/core/templates/skills/email-sequence/skill.vi.md +68 -0
- package/dist/core/templates/skills/email-sequence-skill.md +68 -0
- package/dist/core/templates/skills/email-sequence-skill.vi.md +68 -0
- package/dist/core/templates/skills/git-embed/skill.md +57 -0
- package/dist/core/templates/skills/git-embed-skill.md +57 -0
- package/dist/core/templates/skills/integration-test/skill.md +118 -0
- package/dist/core/templates/skills/integration-test-skill.md +118 -118
- package/dist/core/templates/skills/knowledge/README.md +63 -0
- package/dist/core/templates/skills/knowledge/design-systems/airbnb/DESIGN.md +246 -0
- package/dist/core/templates/skills/knowledge/design-systems/airtable/DESIGN.md +89 -0
- package/dist/core/templates/skills/knowledge/design-systems/apple/DESIGN.md +313 -0
- package/dist/core/templates/skills/knowledge/design-systems/bmw/DESIGN.md +180 -0
- package/dist/core/templates/skills/knowledge/design-systems/cal/DESIGN.md +259 -0
- package/dist/core/templates/skills/knowledge/design-systems/claude/DESIGN.md +312 -0
- package/dist/core/templates/skills/knowledge/design-systems/clay/DESIGN.md +304 -0
- package/dist/core/templates/skills/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
- package/dist/core/templates/skills/knowledge/design-systems/cohere/DESIGN.md +266 -0
- package/dist/core/templates/skills/knowledge/design-systems/coinbase/DESIGN.md +129 -0
- package/dist/core/templates/skills/knowledge/design-systems/composio/DESIGN.md +307 -0
- package/dist/core/templates/skills/knowledge/design-systems/cursor/DESIGN.md +309 -0
- package/dist/core/templates/skills/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
- package/dist/core/templates/skills/knowledge/design-systems/expo/DESIGN.md +281 -0
- package/dist/core/templates/skills/knowledge/design-systems/figma/DESIGN.md +220 -0
- package/dist/core/templates/skills/knowledge/design-systems/framer/DESIGN.md +246 -0
- package/dist/core/templates/skills/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
- package/dist/core/templates/skills/knowledge/design-systems/ibm/DESIGN.md +332 -0
- package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -0
- package/dist/core/templates/skills/knowledge/design-systems/intercom/DESIGN.md +146 -0
- package/dist/core/templates/skills/knowledge/design-systems/kraken/DESIGN.md +125 -0
- package/dist/core/templates/skills/knowledge/design-systems/linear.app/DESIGN.md +367 -0
- package/dist/core/templates/skills/knowledge/design-systems/lovable/DESIGN.md +298 -0
- package/dist/core/templates/skills/knowledge/design-systems/minimax/DESIGN.md +257 -0
- package/dist/core/templates/skills/knowledge/design-systems/mintlify/DESIGN.md +326 -0
- package/dist/core/templates/skills/knowledge/design-systems/miro/DESIGN.md +108 -0
- package/dist/core/templates/skills/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
- package/dist/core/templates/skills/knowledge/design-systems/mongodb/DESIGN.md +266 -0
- package/dist/core/templates/skills/knowledge/design-systems/notion/DESIGN.md +309 -0
- package/dist/core/templates/skills/knowledge/design-systems/nvidia/DESIGN.md +293 -0
- package/dist/core/templates/skills/knowledge/design-systems/ollama/DESIGN.md +267 -0
- package/dist/core/templates/skills/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
- package/dist/core/templates/skills/knowledge/design-systems/pinterest/DESIGN.md +230 -0
- package/dist/core/templates/skills/knowledge/design-systems/posthog/DESIGN.md +256 -0
- package/dist/core/templates/skills/knowledge/design-systems/raycast/DESIGN.md +268 -0
- package/dist/core/templates/skills/knowledge/design-systems/replicate/DESIGN.md +261 -0
- package/dist/core/templates/skills/knowledge/design-systems/resend/DESIGN.md +303 -0
- package/dist/core/templates/skills/knowledge/design-systems/revolut/DESIGN.md +185 -0
- package/dist/core/templates/skills/knowledge/design-systems/runwayml/DESIGN.md +244 -0
- package/dist/core/templates/skills/knowledge/design-systems/sanity/DESIGN.md +357 -0
- package/dist/core/templates/skills/knowledge/design-systems/sentry/DESIGN.md +262 -0
- package/dist/core/templates/skills/knowledge/design-systems/spacex/DESIGN.md +194 -0
- package/dist/core/templates/skills/knowledge/design-systems/spotify/DESIGN.md +246 -0
- package/dist/core/templates/skills/knowledge/design-systems/stripe/DESIGN.md +322 -0
- package/dist/core/templates/skills/knowledge/design-systems/supabase/DESIGN.md +255 -0
- package/dist/core/templates/skills/knowledge/design-systems/superhuman/DESIGN.md +252 -0
- package/dist/core/templates/skills/knowledge/design-systems/together.ai/DESIGN.md +263 -0
- package/dist/core/templates/skills/knowledge/design-systems/uber/DESIGN.md +295 -0
- package/dist/core/templates/skills/knowledge/design-systems/vercel/DESIGN.md +310 -0
- package/dist/core/templates/skills/knowledge/design-systems/voltagent/DESIGN.md +323 -0
- package/dist/core/templates/skills/knowledge/design-systems/warp/DESIGN.md +253 -0
- package/dist/core/templates/skills/knowledge/design-systems/webflow/DESIGN.md +92 -0
- package/dist/core/templates/skills/knowledge/design-systems/wise/DESIGN.md +173 -0
- package/dist/core/templates/skills/knowledge/design-systems/x.ai/DESIGN.md +257 -0
- package/dist/core/templates/skills/knowledge/design-systems/zapier/DESIGN.md +328 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +208 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -0
- package/dist/core/templates/skills/knowledge/index.json +65 -0
- package/dist/core/templates/skills/module-codebase-skill.md +110 -110
- package/dist/core/templates/skills/perfex-module/module-codebase/skill.md +110 -0
- package/dist/core/templates/skills/plugin-directory-skill.md +396 -396
- package/dist/core/templates/skills/project-memory/skill.md +222 -0
- package/dist/core/templates/skills/project-memory/skill.vi.md +223 -0
- package/dist/core/templates/skills/project-memory-skill.md +222 -0
- package/dist/core/templates/skills/project-memory-skill.vi.md +223 -0
- package/dist/core/templates/skills/scripts/CODE_EXPLANATION.md +394 -394
- package/dist/core/templates/skills/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -421
- package/dist/core/templates/skills/scripts/SEARCH_MODES_GUIDE.md +238 -238
- package/dist/core/templates/skills/scripts/__pycache__/core.cpython-311.pyc +0 -0
- package/dist/core/templates/skills/scripts/core.py +391 -385
- package/dist/core/templates/skills/scripts/search.py +1 -1
- package/dist/core/templates/skills/seo-audit/skill.md +75 -0
- package/dist/core/templates/skills/seo-audit/skill.vi.md +75 -0
- package/dist/core/templates/skills/seo-audit-skill.md +75 -0
- package/dist/core/templates/skills/seo-audit-skill.vi.md +75 -0
- package/dist/core/templates/skills/smart-explore/skill.md +141 -0
- package/dist/core/templates/skills/smart-explore-skill.md +141 -0
- package/dist/core/templates/skills/sourcecode-analyzer/skill.md +210 -0
- package/dist/core/templates/skills/sourcecode-analyzer/skill.vi.md +210 -0
- package/dist/core/templates/skills/sourcecode-analyzer-skill.md +210 -0
- package/dist/core/templates/skills/sourcecode-analyzer-skill.vi.md +210 -0
- package/dist/core/templates/skills/spec-writer/skill.md +61 -0
- package/dist/core/templates/skills/spec-writer/skill.vi.md +61 -0
- package/dist/core/templates/skills/spec-writer-skill.md +61 -0
- package/dist/core/templates/skills/spec-writer-skill.vi.md +61 -0
- package/dist/core/templates/skills/sql-queries/skill.md +67 -0
- package/dist/core/templates/skills/sql-queries/skill.vi.md +67 -0
- package/dist/core/templates/skills/sql-queries-skill.md +67 -0
- package/dist/core/templates/skills/sql-queries-skill.vi.md +67 -0
- package/dist/core/templates/skills/suggestion/skill.md +118 -0
- package/dist/core/templates/skills/suggestion-skill.md +118 -118
- package/dist/core/templates/skills/system-design/skill.md +70 -0
- package/dist/core/templates/skills/system-design/skill.vi.md +70 -0
- package/dist/core/templates/skills/system-design-skill.md +70 -0
- package/dist/core/templates/skills/system-design-skill.vi.md +70 -0
- package/dist/core/templates/skills/tech-debt/skill.md +70 -0
- package/dist/core/templates/skills/tech-debt/skill.vi.md +70 -0
- package/dist/core/templates/skills/tech-debt-skill.md +70 -0
- package/dist/core/templates/skills/tech-debt-skill.vi.md +70 -0
- package/dist/core/templates/skills/templates/accessibility-checklist.md +40 -40
- package/dist/core/templates/skills/templates/example-prompt-full-theme.md +333 -333
- package/dist/core/templates/skills/templates/page-types-guide.md +338 -338
- package/dist/core/templates/skills/templates/pages-proposed-summary.md +273 -273
- package/dist/core/templates/skills/templates/pre-delivery-checklist.md +42 -42
- package/dist/core/templates/skills/templates/prompt-template-full-theme.md +313 -313
- package/dist/core/templates/skills/templates/responsive-design.md +40 -40
- package/dist/core/templates/skills/ui-ux/data/charts.csv +26 -0
- package/dist/core/templates/skills/ui-ux/data/colors.csv +97 -0
- package/dist/core/templates/skills/ui-ux/data/design-systems.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/landing.csv +31 -0
- package/dist/core/templates/skills/ui-ux/data/pages-proposed.csv +22 -0
- package/dist/core/templates/skills/ui-ux/data/pages.csv +10 -0
- package/dist/core/templates/skills/ui-ux/data/products.csv +97 -0
- package/dist/core/templates/skills/ui-ux/data/prompts.csv +24 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/flutter.csv +53 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/html-tailwind.csv +56 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/nextjs.csv +53 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/react-native.csv +52 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/react.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/svelte.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/swiftui.csv +51 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/vue.csv +50 -0
- package/dist/core/templates/skills/ui-ux/data/styles.csv +59 -0
- package/dist/core/templates/skills/ui-ux/data/typography.csv +58 -0
- package/dist/core/templates/skills/ui-ux/data/ux-guidelines.csv +100 -0
- package/dist/core/templates/skills/ui-ux/scripts/CODE_EXPLANATION.md +394 -0
- package/dist/core/templates/skills/ui-ux/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -0
- package/dist/core/templates/skills/ui-ux/scripts/SEARCH_MODES_GUIDE.md +238 -0
- package/dist/core/templates/skills/ui-ux/scripts/core.py +391 -0
- package/dist/core/templates/skills/ui-ux/scripts/search.py +73 -0
- package/dist/core/templates/skills/ui-ux/skill.md +595 -0
- package/dist/core/templates/skills/ui-ux/templates/accessibility-checklist.md +40 -0
- package/dist/core/templates/skills/ui-ux/templates/example-prompt-full-theme.md +333 -0
- package/dist/core/templates/skills/ui-ux/templates/page-types-guide.md +338 -0
- package/dist/core/templates/skills/ui-ux/templates/pages-proposed-summary.md +273 -0
- package/dist/core/templates/skills/ui-ux/templates/pre-delivery-checklist.md +42 -0
- package/dist/core/templates/skills/ui-ux/templates/prompt-template-full-theme.md +313 -0
- package/dist/core/templates/skills/ui-ux/templates/responsive-design.md +40 -0
- package/dist/core/templates/skills/ui-ux-skill.md +595 -584
- package/dist/core/templates/skills/unit-test/skill.md +111 -0
- package/dist/core/templates/skills/unit-test-skill.md +111 -111
- package/dist/core/templates/skills/ux-element/templates/Controller.php +50 -50
- package/dist/core/templates/skills/ux-element/templates/Shortcode.php +23 -23
- package/dist/core/templates/skills/ux-element/templates/Template.html +20 -20
- package/dist/core/templates/skills/ux-element/templates/Thumbnail.svg +8 -8
- package/dist/core/templates/skills/ux-element/templates/View.php +21 -21
- package/dist/core/templates/skills/ux-element-skill.md +83 -83
- package/dist/core/templates/skills/wordpress/plugin-check/skill.md +151 -0
- package/dist/core/templates/skills/wordpress/plugin-directory/skill.md +396 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/skill.md +100 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-dashboard.php +47 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-settings.php +60 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-css.css +22 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-js.js +15 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/plugin-main.php +169 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/readme.txt +41 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/uninstall.php +21 -0
- package/dist/core/templates/skills/wordpress/ux-element/skill.md +83 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Controller.php +50 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Shortcode.php +23 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Template.html +20 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Thumbnail.svg +8 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/View.php +21 -0
- package/dist/core/templates/skills/wordpress-plugin-check-skill.md +151 -151
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-dashboard.php +47 -47
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-settings.php +60 -60
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-css.css +22 -22
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-js.js +15 -15
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/plugin-main.php +169 -169
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/readme.txt +41 -41
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/uninstall.php +21 -21
- package/dist/core/templates/skills/wordpress-plugin-standard-skill.md +100 -100
- package/dist/index.js +4237 -331
- package/package.json +75 -72
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Skill: Git Embed
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This skill establishes a nested Git repository structure (Monorepo) where the outer (parent) repository physically tracks and stores the source code of an inner (child) repository, without using the standard Git Submodule mechanism. This allows the child repository to retain its own `.git` directory for independent committing and pushing.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When migrating an existing Git repository to be embedded within a parent Monorepo.
|
|
10
|
+
- When the parent repository needs full direct physical access to the child's source files.
|
|
11
|
+
- When you need to avoid "empty folder" issues caused by standard Git submodules during cloning.
|
|
12
|
+
- When you want to commit and push independently from both the parent root and the child root.
|
|
13
|
+
|
|
14
|
+
## Step-by-Step Process
|
|
15
|
+
|
|
16
|
+
### Step 1: Remove Submodule References (If Any)
|
|
17
|
+
- Ensure the inner repository is not tracked as a submodule.
|
|
18
|
+
- Run `git rm -r --cached <child-folder>` from the parent root.
|
|
19
|
+
- Remove `.gitmodules` if it exists: `rm .gitmodules` and `git add .gitmodules` (if tracked).
|
|
20
|
+
|
|
21
|
+
### Step 2: Temporary `.git` Relocation
|
|
22
|
+
- Move the inner repository's `.git` directory out of the way to prevent Git from treating it as an embedded repo.
|
|
23
|
+
- Run `mv <child-folder>/.git /tmp/<child-name>_git_bak`.
|
|
24
|
+
|
|
25
|
+
### Step 3: Embed Source Code into Parent
|
|
26
|
+
- Add the inner folder directly to the parent repository.
|
|
27
|
+
- Run `git add <child-folder>/`.
|
|
28
|
+
- Commit the changes: `git commit -m "Embed full source of <child-name> independent of submodule"`.
|
|
29
|
+
|
|
30
|
+
### Step 4: Restore Independent `.git`
|
|
31
|
+
- Move the inner repository's `.git` directory back to its original location.
|
|
32
|
+
- Run `mv /tmp/<child-name>_git_bak <child-folder>/.git`.
|
|
33
|
+
|
|
34
|
+
### Step 5: Verification
|
|
35
|
+
- Run `git status` in the parent directory to ensure no submodule links are shown.
|
|
36
|
+
- Navigate into `<child-folder>` and run `git status` to verify the independent repository tracking is intact.
|
|
37
|
+
|
|
38
|
+
## Required Input
|
|
39
|
+
|
|
40
|
+
- **Child folder path**: The relative path to the nested repository.
|
|
41
|
+
- **Child name**: A short identifier used for the backup directory.
|
|
42
|
+
|
|
43
|
+
## Expected Output
|
|
44
|
+
|
|
45
|
+
- The parent's remote repository will contain all physical files natively without gitlinks.
|
|
46
|
+
- The child folder will retain its `.git` folder for completely independent repository operations.
|
|
47
|
+
|
|
48
|
+
## Tone & Rules
|
|
49
|
+
|
|
50
|
+
### Git Rules
|
|
51
|
+
- The child folder's `.gitignore` MUST be preserved, as the parent git will natively respect `.gitignore` rules in subdirectories.
|
|
52
|
+
- Ensure all uncommitted changes in the parent repo are stashed or committed before starting.
|
|
53
|
+
|
|
54
|
+
### Limitations
|
|
55
|
+
- ❌ DO NOT use `git submodule add` under any circumstances for this skill.
|
|
56
|
+
- ❌ DO NOT delete the inner `.git` folder permanently.
|
|
57
|
+
- ❌ DO NOT use `git subtree` as it creates a different tracking model.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Skill: Git Embed
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This skill establishes a nested Git repository structure (Monorepo) where the outer (parent) repository physically tracks and stores the source code of an inner (child) repository, without using the standard Git Submodule mechanism. This allows the child repository to retain its own `.git` directory for independent committing and pushing.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When migrating an existing Git repository to be embedded within a parent Monorepo.
|
|
10
|
+
- When the parent repository needs full direct physical access to the child's source files.
|
|
11
|
+
- When you need to avoid "empty folder" issues caused by standard Git submodules during cloning.
|
|
12
|
+
- When you want to commit and push independently from both the parent root and the child root.
|
|
13
|
+
|
|
14
|
+
## Step-by-Step Process
|
|
15
|
+
|
|
16
|
+
### Step 1: Remove Submodule References (If Any)
|
|
17
|
+
- Ensure the inner repository is not tracked as a submodule.
|
|
18
|
+
- Run `git rm -r --cached <child-folder>` from the parent root.
|
|
19
|
+
- Remove `.gitmodules` if it exists: `rm .gitmodules` and `git add .gitmodules` (if tracked).
|
|
20
|
+
|
|
21
|
+
### Step 2: Temporary `.git` Relocation
|
|
22
|
+
- Move the inner repository's `.git` directory out of the way to prevent Git from treating it as an embedded repo.
|
|
23
|
+
- Run `mv <child-folder>/.git /tmp/<child-name>_git_bak`.
|
|
24
|
+
|
|
25
|
+
### Step 3: Embed Source Code into Parent
|
|
26
|
+
- Add the inner folder directly to the parent repository.
|
|
27
|
+
- Run `git add <child-folder>/`.
|
|
28
|
+
- Commit the changes: `git commit -m "Embed full source of <child-name> independent of submodule"`.
|
|
29
|
+
|
|
30
|
+
### Step 4: Restore Independent `.git`
|
|
31
|
+
- Move the inner repository's `.git` directory back to its original location.
|
|
32
|
+
- Run `mv /tmp/<child-name>_git_bak <child-folder>/.git`.
|
|
33
|
+
|
|
34
|
+
### Step 5: Verification
|
|
35
|
+
- Run `git status` in the parent directory to ensure no submodule links are shown.
|
|
36
|
+
- Navigate into `<child-folder>` and run `git status` to verify the independent repository tracking is intact.
|
|
37
|
+
|
|
38
|
+
## Required Input
|
|
39
|
+
|
|
40
|
+
- **Child folder path**: The relative path to the nested repository.
|
|
41
|
+
- **Child name**: A short identifier used for the backup directory.
|
|
42
|
+
|
|
43
|
+
## Expected Output
|
|
44
|
+
|
|
45
|
+
- The parent's remote repository will contain all physical files natively without gitlinks.
|
|
46
|
+
- The child folder will retain its `.git` folder for completely independent repository operations.
|
|
47
|
+
|
|
48
|
+
## Tone & Rules
|
|
49
|
+
|
|
50
|
+
### Git Rules
|
|
51
|
+
- The child folder's `.gitignore` MUST be preserved, as the parent git will natively respect `.gitignore` rules in subdirectories.
|
|
52
|
+
- Ensure all uncommitted changes in the parent repo are stashed or committed before starting.
|
|
53
|
+
|
|
54
|
+
### Limitations
|
|
55
|
+
- ❌ DO NOT use `git submodule add` under any circumstances for this skill.
|
|
56
|
+
- ❌ DO NOT delete the inner `.git` folder permanently.
|
|
57
|
+
- ❌ DO NOT use `git subtree` as it creates a different tracking model.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Skill: Integration Testing (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This skill is used to create integration tests that verify how different components work together. Integration tests check interactions between modules, services, databases, and external APIs.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When testing component interactions
|
|
10
|
+
- When testing API endpoints
|
|
11
|
+
- When testing database operations
|
|
12
|
+
- When testing service integrations
|
|
13
|
+
- When verifying data flow between components
|
|
14
|
+
- When testing with real dependencies (not mocks)
|
|
15
|
+
|
|
16
|
+
## Step-by-Step Process
|
|
17
|
+
|
|
18
|
+
### Step 1: Identify Integration Points
|
|
19
|
+
- Map component dependencies
|
|
20
|
+
- Identify external services and APIs
|
|
21
|
+
- List database operations
|
|
22
|
+
- Determine integration boundaries
|
|
23
|
+
- Identify critical integration paths
|
|
24
|
+
|
|
25
|
+
### Step 2: Set Up Test Environment
|
|
26
|
+
- Configure test database
|
|
27
|
+
- Set up test services/mocks for external APIs
|
|
28
|
+
- Configure test environment variables
|
|
29
|
+
- Prepare test data fixtures
|
|
30
|
+
- Set up cleanup procedures
|
|
31
|
+
|
|
32
|
+
### Step 3: Write Integration Tests
|
|
33
|
+
- Create test files for integration scenarios
|
|
34
|
+
- Test component interactions
|
|
35
|
+
- Test API endpoints with real requests
|
|
36
|
+
- Test database operations
|
|
37
|
+
- Test error handling across components
|
|
38
|
+
- Use test fixtures for consistent data
|
|
39
|
+
|
|
40
|
+
### Step 4: Run and Verify
|
|
41
|
+
- Run integration tests
|
|
42
|
+
- Verify test isolation (tests don't affect each other)
|
|
43
|
+
- Check test execution time
|
|
44
|
+
- Ensure proper cleanup after tests
|
|
45
|
+
- Verify tests pass consistently
|
|
46
|
+
|
|
47
|
+
### Step 5: Maintain Tests
|
|
48
|
+
- Update tests when interfaces change
|
|
49
|
+
- Keep test data synchronized
|
|
50
|
+
- Document test scenarios
|
|
51
|
+
- Monitor test execution time
|
|
52
|
+
|
|
53
|
+
## Required Input
|
|
54
|
+
|
|
55
|
+
- **Components**: List of components to integrate
|
|
56
|
+
- **APIs**: API endpoints to test
|
|
57
|
+
- **Database schema**: Database structure for testing
|
|
58
|
+
- **External services**: External services to mock or use
|
|
59
|
+
- **Test data**: Sample data for testing
|
|
60
|
+
|
|
61
|
+
## Expected Output
|
|
62
|
+
|
|
63
|
+
- Integration test files
|
|
64
|
+
- Test scenarios covering integration paths
|
|
65
|
+
- Test fixtures and setup code
|
|
66
|
+
- Passing integration test suite
|
|
67
|
+
- Documentation of integration test scenarios
|
|
68
|
+
|
|
69
|
+
## Tone & Rules
|
|
70
|
+
|
|
71
|
+
### Test Scope
|
|
72
|
+
- Test real interactions between components
|
|
73
|
+
- Use real databases (test database)
|
|
74
|
+
- Mock external services that can't be controlled
|
|
75
|
+
- Test error propagation across boundaries
|
|
76
|
+
|
|
77
|
+
### Test Data
|
|
78
|
+
- Use consistent test fixtures
|
|
79
|
+
- Clean up test data after tests
|
|
80
|
+
- Use transactions for database tests when possible
|
|
81
|
+
- Isolate tests to prevent interference
|
|
82
|
+
|
|
83
|
+
### Performance
|
|
84
|
+
- Integration tests are slower than unit tests
|
|
85
|
+
- Run integration tests separately from unit tests
|
|
86
|
+
- Use test database (not production)
|
|
87
|
+
- Consider test execution time
|
|
88
|
+
|
|
89
|
+
### Limitations
|
|
90
|
+
- ❌ DO NOT use production database
|
|
91
|
+
- ❌ DO NOT test with real external APIs in CI (use mocks)
|
|
92
|
+
- ❌ DO NOT write tests that depend on test execution order
|
|
93
|
+
- ❌ DO NOT skip cleanup (tests must be isolated)
|
|
94
|
+
- ❌ DO NOT test implementation details
|
|
95
|
+
|
|
96
|
+
## Available Templates
|
|
97
|
+
|
|
98
|
+
- `templates/integration-test-template.js` - JavaScript integration test template
|
|
99
|
+
- `templates/integration-test-template.php` - PHP integration test template
|
|
100
|
+
- `templates/integration-test-template.py` - Python integration test template
|
|
101
|
+
|
|
102
|
+
## Available Scripts
|
|
103
|
+
|
|
104
|
+
- `scripts/setup-test-db.sh` - Set up test database
|
|
105
|
+
- `scripts/seed-test-data.sh` - Seed test data
|
|
106
|
+
|
|
107
|
+
## Examples
|
|
108
|
+
|
|
109
|
+
See `examples/` directory for reference:
|
|
110
|
+
- `good-integration-test/` - Well-structured integration tests
|
|
111
|
+
- `bad-integration-test/` - Examples to avoid
|
|
112
|
+
|
|
113
|
+
## Links to Other Skills
|
|
114
|
+
|
|
115
|
+
- **unit-test**: Use unit tests before integration tests
|
|
116
|
+
- **e2e-test**: Use for end-to-end user scenarios
|
|
117
|
+
- **documents**: Use to document integration test strategy
|
|
118
|
+
|
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
# Skill: Integration Testing (Cross-Cutting)
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
This skill is used to create integration tests that verify how different components work together. Integration tests check interactions between modules, services, databases, and external APIs.
|
|
6
|
-
|
|
7
|
-
## When to Use
|
|
8
|
-
|
|
9
|
-
- When testing component interactions
|
|
10
|
-
- When testing API endpoints
|
|
11
|
-
- When testing database operations
|
|
12
|
-
- When testing service integrations
|
|
13
|
-
- When verifying data flow between components
|
|
14
|
-
- When testing with real dependencies (not mocks)
|
|
15
|
-
|
|
16
|
-
## Step-by-Step Process
|
|
17
|
-
|
|
18
|
-
### Step 1: Identify Integration Points
|
|
19
|
-
- Map component dependencies
|
|
20
|
-
- Identify external services and APIs
|
|
21
|
-
- List database operations
|
|
22
|
-
- Determine integration boundaries
|
|
23
|
-
- Identify critical integration paths
|
|
24
|
-
|
|
25
|
-
### Step 2: Set Up Test Environment
|
|
26
|
-
- Configure test database
|
|
27
|
-
- Set up test services/mocks for external APIs
|
|
28
|
-
- Configure test environment variables
|
|
29
|
-
- Prepare test data fixtures
|
|
30
|
-
- Set up cleanup procedures
|
|
31
|
-
|
|
32
|
-
### Step 3: Write Integration Tests
|
|
33
|
-
- Create test files for integration scenarios
|
|
34
|
-
- Test component interactions
|
|
35
|
-
- Test API endpoints with real requests
|
|
36
|
-
- Test database operations
|
|
37
|
-
- Test error handling across components
|
|
38
|
-
- Use test fixtures for consistent data
|
|
39
|
-
|
|
40
|
-
### Step 4: Run and Verify
|
|
41
|
-
- Run integration tests
|
|
42
|
-
- Verify test isolation (tests don't affect each other)
|
|
43
|
-
- Check test execution time
|
|
44
|
-
- Ensure proper cleanup after tests
|
|
45
|
-
- Verify tests pass consistently
|
|
46
|
-
|
|
47
|
-
### Step 5: Maintain Tests
|
|
48
|
-
- Update tests when interfaces change
|
|
49
|
-
- Keep test data synchronized
|
|
50
|
-
- Document test scenarios
|
|
51
|
-
- Monitor test execution time
|
|
52
|
-
|
|
53
|
-
## Required Input
|
|
54
|
-
|
|
55
|
-
- **Components**: List of components to integrate
|
|
56
|
-
- **APIs**: API endpoints to test
|
|
57
|
-
- **Database schema**: Database structure for testing
|
|
58
|
-
- **External services**: External services to mock or use
|
|
59
|
-
- **Test data**: Sample data for testing
|
|
60
|
-
|
|
61
|
-
## Expected Output
|
|
62
|
-
|
|
63
|
-
- Integration test files
|
|
64
|
-
- Test scenarios covering integration paths
|
|
65
|
-
- Test fixtures and setup code
|
|
66
|
-
- Passing integration test suite
|
|
67
|
-
- Documentation of integration test scenarios
|
|
68
|
-
|
|
69
|
-
## Tone & Rules
|
|
70
|
-
|
|
71
|
-
### Test Scope
|
|
72
|
-
- Test real interactions between components
|
|
73
|
-
- Use real databases (test database)
|
|
74
|
-
- Mock external services that can't be controlled
|
|
75
|
-
- Test error propagation across boundaries
|
|
76
|
-
|
|
77
|
-
### Test Data
|
|
78
|
-
- Use consistent test fixtures
|
|
79
|
-
- Clean up test data after tests
|
|
80
|
-
- Use transactions for database tests when possible
|
|
81
|
-
- Isolate tests to prevent interference
|
|
82
|
-
|
|
83
|
-
### Performance
|
|
84
|
-
- Integration tests are slower than unit tests
|
|
85
|
-
- Run integration tests separately from unit tests
|
|
86
|
-
- Use test database (not production)
|
|
87
|
-
- Consider test execution time
|
|
88
|
-
|
|
89
|
-
### Limitations
|
|
90
|
-
- ❌ DO NOT use production database
|
|
91
|
-
- ❌ DO NOT test with real external APIs in CI (use mocks)
|
|
92
|
-
- ❌ DO NOT write tests that depend on test execution order
|
|
93
|
-
- ❌ DO NOT skip cleanup (tests must be isolated)
|
|
94
|
-
- ❌ DO NOT test implementation details
|
|
95
|
-
|
|
96
|
-
## Available Templates
|
|
97
|
-
|
|
98
|
-
- `templates/integration-test-template.js` - JavaScript integration test template
|
|
99
|
-
- `templates/integration-test-template.php` - PHP integration test template
|
|
100
|
-
- `templates/integration-test-template.py` - Python integration test template
|
|
101
|
-
|
|
102
|
-
## Available Scripts
|
|
103
|
-
|
|
104
|
-
- `scripts/setup-test-db.sh` - Set up test database
|
|
105
|
-
- `scripts/seed-test-data.sh` - Seed test data
|
|
106
|
-
|
|
107
|
-
## Examples
|
|
108
|
-
|
|
109
|
-
See `examples/` directory for reference:
|
|
110
|
-
- `good-integration-test/` - Well-structured integration tests
|
|
111
|
-
- `bad-integration-test/` - Examples to avoid
|
|
112
|
-
|
|
113
|
-
## Links to Other Skills
|
|
114
|
-
|
|
115
|
-
- **unit-test**: Use unit tests before integration tests
|
|
116
|
-
- **e2e-test**: Use for end-to-end user scenarios
|
|
117
|
-
- **documents**: Use to document integration test strategy
|
|
118
|
-
|
|
1
|
+
# Skill: Integration Testing (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This skill is used to create integration tests that verify how different components work together. Integration tests check interactions between modules, services, databases, and external APIs.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When testing component interactions
|
|
10
|
+
- When testing API endpoints
|
|
11
|
+
- When testing database operations
|
|
12
|
+
- When testing service integrations
|
|
13
|
+
- When verifying data flow between components
|
|
14
|
+
- When testing with real dependencies (not mocks)
|
|
15
|
+
|
|
16
|
+
## Step-by-Step Process
|
|
17
|
+
|
|
18
|
+
### Step 1: Identify Integration Points
|
|
19
|
+
- Map component dependencies
|
|
20
|
+
- Identify external services and APIs
|
|
21
|
+
- List database operations
|
|
22
|
+
- Determine integration boundaries
|
|
23
|
+
- Identify critical integration paths
|
|
24
|
+
|
|
25
|
+
### Step 2: Set Up Test Environment
|
|
26
|
+
- Configure test database
|
|
27
|
+
- Set up test services/mocks for external APIs
|
|
28
|
+
- Configure test environment variables
|
|
29
|
+
- Prepare test data fixtures
|
|
30
|
+
- Set up cleanup procedures
|
|
31
|
+
|
|
32
|
+
### Step 3: Write Integration Tests
|
|
33
|
+
- Create test files for integration scenarios
|
|
34
|
+
- Test component interactions
|
|
35
|
+
- Test API endpoints with real requests
|
|
36
|
+
- Test database operations
|
|
37
|
+
- Test error handling across components
|
|
38
|
+
- Use test fixtures for consistent data
|
|
39
|
+
|
|
40
|
+
### Step 4: Run and Verify
|
|
41
|
+
- Run integration tests
|
|
42
|
+
- Verify test isolation (tests don't affect each other)
|
|
43
|
+
- Check test execution time
|
|
44
|
+
- Ensure proper cleanup after tests
|
|
45
|
+
- Verify tests pass consistently
|
|
46
|
+
|
|
47
|
+
### Step 5: Maintain Tests
|
|
48
|
+
- Update tests when interfaces change
|
|
49
|
+
- Keep test data synchronized
|
|
50
|
+
- Document test scenarios
|
|
51
|
+
- Monitor test execution time
|
|
52
|
+
|
|
53
|
+
## Required Input
|
|
54
|
+
|
|
55
|
+
- **Components**: List of components to integrate
|
|
56
|
+
- **APIs**: API endpoints to test
|
|
57
|
+
- **Database schema**: Database structure for testing
|
|
58
|
+
- **External services**: External services to mock or use
|
|
59
|
+
- **Test data**: Sample data for testing
|
|
60
|
+
|
|
61
|
+
## Expected Output
|
|
62
|
+
|
|
63
|
+
- Integration test files
|
|
64
|
+
- Test scenarios covering integration paths
|
|
65
|
+
- Test fixtures and setup code
|
|
66
|
+
- Passing integration test suite
|
|
67
|
+
- Documentation of integration test scenarios
|
|
68
|
+
|
|
69
|
+
## Tone & Rules
|
|
70
|
+
|
|
71
|
+
### Test Scope
|
|
72
|
+
- Test real interactions between components
|
|
73
|
+
- Use real databases (test database)
|
|
74
|
+
- Mock external services that can't be controlled
|
|
75
|
+
- Test error propagation across boundaries
|
|
76
|
+
|
|
77
|
+
### Test Data
|
|
78
|
+
- Use consistent test fixtures
|
|
79
|
+
- Clean up test data after tests
|
|
80
|
+
- Use transactions for database tests when possible
|
|
81
|
+
- Isolate tests to prevent interference
|
|
82
|
+
|
|
83
|
+
### Performance
|
|
84
|
+
- Integration tests are slower than unit tests
|
|
85
|
+
- Run integration tests separately from unit tests
|
|
86
|
+
- Use test database (not production)
|
|
87
|
+
- Consider test execution time
|
|
88
|
+
|
|
89
|
+
### Limitations
|
|
90
|
+
- ❌ DO NOT use production database
|
|
91
|
+
- ❌ DO NOT test with real external APIs in CI (use mocks)
|
|
92
|
+
- ❌ DO NOT write tests that depend on test execution order
|
|
93
|
+
- ❌ DO NOT skip cleanup (tests must be isolated)
|
|
94
|
+
- ❌ DO NOT test implementation details
|
|
95
|
+
|
|
96
|
+
## Available Templates
|
|
97
|
+
|
|
98
|
+
- `templates/integration-test-template.js` - JavaScript integration test template
|
|
99
|
+
- `templates/integration-test-template.php` - PHP integration test template
|
|
100
|
+
- `templates/integration-test-template.py` - Python integration test template
|
|
101
|
+
|
|
102
|
+
## Available Scripts
|
|
103
|
+
|
|
104
|
+
- `scripts/setup-test-db.sh` - Set up test database
|
|
105
|
+
- `scripts/seed-test-data.sh` - Seed test data
|
|
106
|
+
|
|
107
|
+
## Examples
|
|
108
|
+
|
|
109
|
+
See `examples/` directory for reference:
|
|
110
|
+
- `good-integration-test/` - Well-structured integration tests
|
|
111
|
+
- `bad-integration-test/` - Examples to avoid
|
|
112
|
+
|
|
113
|
+
## Links to Other Skills
|
|
114
|
+
|
|
115
|
+
- **unit-test**: Use unit tests before integration tests
|
|
116
|
+
- **e2e-test**: Use for end-to-end user scenarios
|
|
117
|
+
- **documents**: Use to document integration test strategy
|
|
118
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# HeRaSpec Knowledge Base
|
|
2
|
+
|
|
3
|
+
Pre-analyzed profiles for frameworks, APIs, and platforms. When a skill (like `sourcecode-analyzer`) is invoked, it checks this knowledge base first to avoid redundant analysis.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
knowledge/
|
|
9
|
+
├── index.json ← Registry of all built-in entries
|
|
10
|
+
├── frameworks/ ← CMS/Framework architecture profiles
|
|
11
|
+
│ └── <runtime>/<framework>/<cms>/
|
|
12
|
+
│ ├── profile.json ← Metadata, match signals, key features
|
|
13
|
+
│ └── structure.md ← Pre-analyzed architecture report
|
|
14
|
+
├── apis/ ← Third-party API profiles (Shopify, QuickBooks, ...)
|
|
15
|
+
│ └── <provider>/
|
|
16
|
+
│ ├── profile.json
|
|
17
|
+
│ └── <analysis-files>
|
|
18
|
+
├── platforms/ ← Platform/infra knowledge (AWS, Vercel, ...)
|
|
19
|
+
│ └── <platform>/
|
|
20
|
+
│ ├── profile.json
|
|
21
|
+
│ └── <analysis-files>
|
|
22
|
+
└── custom/ ← User's custom knowledge (NEVER touched by CLI)
|
|
23
|
+
├── index.json ← Custom registry
|
|
24
|
+
└── ... ← User-managed entries
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Categories
|
|
28
|
+
|
|
29
|
+
| Category | Purpose | Example |
|
|
30
|
+
|----------|---------|---------|
|
|
31
|
+
| `frameworks` | CMS/Framework architecture profiles | Laravel/Botble, WordPress, Perfex CRM |
|
|
32
|
+
| `apis` | Third-party API specifications | Shopify API, QuickBooks API |
|
|
33
|
+
| `platforms` | Deployment/infrastructure knowledge | AWS, Vercel, Docker patterns |
|
|
34
|
+
|
|
35
|
+
## How Matching Works
|
|
36
|
+
|
|
37
|
+
Each entry in `index.json` has `matchSignals` — conditions checked against the current project:
|
|
38
|
+
|
|
39
|
+
| Signal Type | Description | Example |
|
|
40
|
+
|-------------|-------------|---------|
|
|
41
|
+
| `file-contains` | File exists AND contains string | `composer.json` contains `"botble"` |
|
|
42
|
+
| `directory-exists` | Directory exists in project | `platform/core` exists |
|
|
43
|
+
|
|
44
|
+
Each matched signal = +1 score. If `score >= minMatchScore`, the knowledge is considered a match.
|
|
45
|
+
|
|
46
|
+
## How Skills Use Knowledge
|
|
47
|
+
|
|
48
|
+
1. Skill reads `heraspec/knowledge/index.json`
|
|
49
|
+
2. Matches project against entries using signals
|
|
50
|
+
3. If matched: loads pre-analyzed report as baseline, focuses on project-specific delta
|
|
51
|
+
4. If no match: performs full analysis from scratch
|
|
52
|
+
|
|
53
|
+
## Custom Knowledge
|
|
54
|
+
|
|
55
|
+
Users can add project-specific knowledge in `heraspec/knowledge/custom/`:
|
|
56
|
+
|
|
57
|
+
1. Create entry directory under `custom/`
|
|
58
|
+
2. Add to `custom/index.json`
|
|
59
|
+
3. The CLI will **never** modify or delete anything in `custom/`
|
|
60
|
+
|
|
61
|
+
## Updating Knowledge
|
|
62
|
+
|
|
63
|
+
Run `heraspec init` to update built-in knowledge to the latest version. Custom entries are preserved.
|