heraspec 0.1.12 → 0.1.14

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 (129) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +188 -103
  3. package/bin/heraspec.js +4805 -1122
  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 +38 -38
  8. package/dist/core/templates/skills/content-optimization-skill.md +104 -104
  9. package/dist/core/templates/skills/data/design-systems.csv +54 -0
  10. package/dist/core/templates/skills/data/pages-proposed.csv +21 -21
  11. package/dist/core/templates/skills/data/pages.csv +9 -9
  12. package/dist/core/templates/skills/data/typography.csv +57 -57
  13. package/dist/core/templates/skills/deploy-documentation-skill.md +408 -0
  14. package/dist/core/templates/skills/design-system-skill.md +176 -0
  15. package/dist/core/templates/skills/documents/templates/documentation-landing-page.html +63 -63
  16. package/dist/core/templates/skills/documents/templates/documentation.html +49 -49
  17. package/dist/core/templates/skills/documents/templates/landing-script.js +38 -38
  18. package/dist/core/templates/skills/documents/templates/landing-style.css +158 -158
  19. package/dist/core/templates/skills/documents/templates/script.js +56 -56
  20. package/dist/core/templates/skills/documents/templates/style.css +155 -155
  21. package/dist/core/templates/skills/documents/templates/technical-doc-template.md +16 -16
  22. package/dist/core/templates/skills/documents/templates/user-guide-template.md +16 -16
  23. package/dist/core/templates/skills/documents-skill.md +104 -104
  24. package/dist/core/templates/skills/e2e-test-skill.md +119 -119
  25. package/dist/core/templates/skills/git-embed-skill.md +57 -0
  26. package/dist/core/templates/skills/integration-test-skill.md +118 -118
  27. package/dist/core/templates/skills/knowledge/README.md +63 -0
  28. package/dist/core/templates/skills/knowledge/design-systems/airbnb/DESIGN.md +246 -0
  29. package/dist/core/templates/skills/knowledge/design-systems/airtable/DESIGN.md +89 -0
  30. package/dist/core/templates/skills/knowledge/design-systems/apple/DESIGN.md +313 -0
  31. package/dist/core/templates/skills/knowledge/design-systems/bmw/DESIGN.md +180 -0
  32. package/dist/core/templates/skills/knowledge/design-systems/cal/DESIGN.md +259 -0
  33. package/dist/core/templates/skills/knowledge/design-systems/claude/DESIGN.md +312 -0
  34. package/dist/core/templates/skills/knowledge/design-systems/clay/DESIGN.md +304 -0
  35. package/dist/core/templates/skills/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
  36. package/dist/core/templates/skills/knowledge/design-systems/cohere/DESIGN.md +266 -0
  37. package/dist/core/templates/skills/knowledge/design-systems/coinbase/DESIGN.md +129 -0
  38. package/dist/core/templates/skills/knowledge/design-systems/composio/DESIGN.md +307 -0
  39. package/dist/core/templates/skills/knowledge/design-systems/cursor/DESIGN.md +309 -0
  40. package/dist/core/templates/skills/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
  41. package/dist/core/templates/skills/knowledge/design-systems/expo/DESIGN.md +281 -0
  42. package/dist/core/templates/skills/knowledge/design-systems/figma/DESIGN.md +220 -0
  43. package/dist/core/templates/skills/knowledge/design-systems/framer/DESIGN.md +246 -0
  44. package/dist/core/templates/skills/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
  45. package/dist/core/templates/skills/knowledge/design-systems/ibm/DESIGN.md +332 -0
  46. package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -0
  47. package/dist/core/templates/skills/knowledge/design-systems/intercom/DESIGN.md +146 -0
  48. package/dist/core/templates/skills/knowledge/design-systems/kraken/DESIGN.md +125 -0
  49. package/dist/core/templates/skills/knowledge/design-systems/linear.app/DESIGN.md +367 -0
  50. package/dist/core/templates/skills/knowledge/design-systems/lovable/DESIGN.md +298 -0
  51. package/dist/core/templates/skills/knowledge/design-systems/minimax/DESIGN.md +257 -0
  52. package/dist/core/templates/skills/knowledge/design-systems/mintlify/DESIGN.md +326 -0
  53. package/dist/core/templates/skills/knowledge/design-systems/miro/DESIGN.md +108 -0
  54. package/dist/core/templates/skills/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
  55. package/dist/core/templates/skills/knowledge/design-systems/mongodb/DESIGN.md +266 -0
  56. package/dist/core/templates/skills/knowledge/design-systems/notion/DESIGN.md +309 -0
  57. package/dist/core/templates/skills/knowledge/design-systems/nvidia/DESIGN.md +293 -0
  58. package/dist/core/templates/skills/knowledge/design-systems/ollama/DESIGN.md +267 -0
  59. package/dist/core/templates/skills/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
  60. package/dist/core/templates/skills/knowledge/design-systems/pinterest/DESIGN.md +230 -0
  61. package/dist/core/templates/skills/knowledge/design-systems/posthog/DESIGN.md +256 -0
  62. package/dist/core/templates/skills/knowledge/design-systems/raycast/DESIGN.md +268 -0
  63. package/dist/core/templates/skills/knowledge/design-systems/replicate/DESIGN.md +261 -0
  64. package/dist/core/templates/skills/knowledge/design-systems/resend/DESIGN.md +303 -0
  65. package/dist/core/templates/skills/knowledge/design-systems/revolut/DESIGN.md +185 -0
  66. package/dist/core/templates/skills/knowledge/design-systems/runwayml/DESIGN.md +244 -0
  67. package/dist/core/templates/skills/knowledge/design-systems/sanity/DESIGN.md +357 -0
  68. package/dist/core/templates/skills/knowledge/design-systems/sentry/DESIGN.md +262 -0
  69. package/dist/core/templates/skills/knowledge/design-systems/spacex/DESIGN.md +194 -0
  70. package/dist/core/templates/skills/knowledge/design-systems/spotify/DESIGN.md +246 -0
  71. package/dist/core/templates/skills/knowledge/design-systems/stripe/DESIGN.md +322 -0
  72. package/dist/core/templates/skills/knowledge/design-systems/supabase/DESIGN.md +255 -0
  73. package/dist/core/templates/skills/knowledge/design-systems/superhuman/DESIGN.md +252 -0
  74. package/dist/core/templates/skills/knowledge/design-systems/together.ai/DESIGN.md +263 -0
  75. package/dist/core/templates/skills/knowledge/design-systems/uber/DESIGN.md +295 -0
  76. package/dist/core/templates/skills/knowledge/design-systems/vercel/DESIGN.md +310 -0
  77. package/dist/core/templates/skills/knowledge/design-systems/voltagent/DESIGN.md +323 -0
  78. package/dist/core/templates/skills/knowledge/design-systems/warp/DESIGN.md +253 -0
  79. package/dist/core/templates/skills/knowledge/design-systems/webflow/DESIGN.md +92 -0
  80. package/dist/core/templates/skills/knowledge/design-systems/wise/DESIGN.md +173 -0
  81. package/dist/core/templates/skills/knowledge/design-systems/x.ai/DESIGN.md +257 -0
  82. package/dist/core/templates/skills/knowledge/design-systems/zapier/DESIGN.md +328 -0
  83. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -0
  84. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -0
  85. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -0
  86. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +208 -0
  87. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -0
  88. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -0
  89. package/dist/core/templates/skills/knowledge/index.json +65 -0
  90. package/dist/core/templates/skills/module-codebase-skill.md +110 -110
  91. package/dist/core/templates/skills/plugin-directory-skill.md +396 -396
  92. package/dist/core/templates/skills/project-memory-skill.md +222 -0
  93. package/dist/core/templates/skills/project-memory-skill.vi.md +223 -0
  94. package/dist/core/templates/skills/scripts/CODE_EXPLANATION.md +394 -394
  95. package/dist/core/templates/skills/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -421
  96. package/dist/core/templates/skills/scripts/SEARCH_MODES_GUIDE.md +238 -238
  97. package/dist/core/templates/skills/scripts/__pycache__/core.cpython-311.pyc +0 -0
  98. package/dist/core/templates/skills/scripts/core.py +391 -385
  99. package/dist/core/templates/skills/scripts/search.py +1 -1
  100. package/dist/core/templates/skills/smart-explore-skill.md +141 -0
  101. package/dist/core/templates/skills/sourcecode-analyzer-skill.md +210 -0
  102. package/dist/core/templates/skills/sourcecode-analyzer-skill.vi.md +210 -0
  103. package/dist/core/templates/skills/suggestion-skill.md +118 -118
  104. package/dist/core/templates/skills/templates/accessibility-checklist.md +40 -40
  105. package/dist/core/templates/skills/templates/example-prompt-full-theme.md +333 -333
  106. package/dist/core/templates/skills/templates/page-types-guide.md +338 -338
  107. package/dist/core/templates/skills/templates/pages-proposed-summary.md +273 -273
  108. package/dist/core/templates/skills/templates/pre-delivery-checklist.md +42 -42
  109. package/dist/core/templates/skills/templates/prompt-template-full-theme.md +313 -313
  110. package/dist/core/templates/skills/templates/responsive-design.md +40 -40
  111. package/dist/core/templates/skills/ui-ux-skill.md +595 -584
  112. package/dist/core/templates/skills/unit-test-skill.md +111 -111
  113. package/dist/core/templates/skills/ux-element/templates/Controller.php +50 -50
  114. package/dist/core/templates/skills/ux-element/templates/Shortcode.php +23 -23
  115. package/dist/core/templates/skills/ux-element/templates/Template.html +20 -20
  116. package/dist/core/templates/skills/ux-element/templates/Thumbnail.svg +8 -8
  117. package/dist/core/templates/skills/ux-element/templates/View.php +21 -21
  118. package/dist/core/templates/skills/ux-element-skill.md +83 -83
  119. package/dist/core/templates/skills/wordpress-plugin-check-skill.md +151 -76
  120. package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-dashboard.php +47 -47
  121. package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-settings.php +60 -60
  122. package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-css.css +22 -22
  123. package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-js.js +15 -15
  124. package/dist/core/templates/skills/wordpress-plugin-standard/templates/plugin-main.php +169 -169
  125. package/dist/core/templates/skills/wordpress-plugin-standard/templates/readme.txt +41 -41
  126. package/dist/core/templates/skills/wordpress-plugin-standard/templates/uninstall.php +21 -21
  127. package/dist/core/templates/skills/wordpress-plugin-standard-skill.md +100 -100
  128. package/dist/index.js +4068 -278
  129. package/package.json +75 -72
@@ -1,104 +1,104 @@
1
- # Skill: Documents (Cross-Cutting & Multi-Format)
2
-
3
- ## Purpose
4
-
5
- This skill is used to create comprehensive documentation for both technical and end-user audiences. It supports parallel generation of Markdown files (for repository/GitHub) and interactive HTML files (for browser-based manuals).
6
-
7
- ## Core Requirements
8
-
9
- ### 1. Multi-Format Output
10
- Every documentation task should ideally generate four versions:
11
- - `documentation.txt`: A concise, text-only overview for quick reading and AI context.
12
- - `documentation.md`: High-quality Markdown for version control and GitHub READMEs.
13
- - `documentation.html`: An interactive, premium documentation page with sidebar navigation.
14
- - `documentation-landing-page.html`: A visual, high-end landing page to showcase the project/plugin.
15
-
16
- ### 2. Dynamic Design (Not Fixed Templates)
17
- - **Do NOT follow a rigid template**: The Agent must **design** the documentation layout and content structure specifically for the project.
18
- - **Synergy with ui-ux**: use of the `ui-ux` skill is **MANDATORY** for `documentation.html` and `documentation-landing-page.html`.
19
-
20
- ### 3. Standard Quality Structure (Mandatory)
21
- To ensure clarity and completeness, the generated documentation MUST include:
22
-
23
- #### A. Interactive Documentation (documentation.html)
24
- 1. **Quick Start**: Clear steps to get running in < 2 minutes.
25
- 2. **System Requirements**: OS, versions, dependencies.
26
- 3. **Installation & Setup**: Detailed step-by-step guide.
27
- 4. **Configuration**: Explanation of all settings (config files, UI settings).
28
- 5. **Core Features**: Deep dive into each component found in `heraspec/specs/`.
29
- 6. **Technical Reference**: (For Devs) API endpoints, Hooks, Filters, Functions.
30
- 7. **Troubleshooting & FAQ**: Common issues and solutions.
31
-
32
- #### B. Premium Landing Page (documentation-landing-page.html)
33
- 1. **Hero Section**: High-impact headline and clear sub-headline.
34
- 2. **Value Proposition**: Briefly explain "The Problem" vs "The Solution".
35
- 3. **Feature Showcase**: A visual grid of key benefits with icons/images.
36
- 4. **How It Works**: A simplified 1-2-3 step process of using the project.
37
- 5. **CTA (Call to Action)**: Prominent buttons to "Get Started" or "View Docs".
38
-
39
- ### 4. Visual Excellence
40
- - Use gradients, smooth animations (fade-in, slide), and premium fonts (e.g., Inter, Montserrat).
41
- - The HTML documentation should feel like a modern SaaS dashboard or a high-end technical manual.
42
-
43
- ### 4. Project-Wide Scope
44
- When tasked with generating documentation for the entire project:
45
- - **Data Source**: Agent MUST read `heraspec/project.md` and ALL files in `heraspec/specs/`.
46
- - **Synthesis**: Agent must combine information from all components and features into a unified manual.
47
- - **Landing Page**: Should serve as the project homepage, summarizing the main value proposition and key features across all modules.
48
-
49
- ## Implementation Steps
50
-
51
- ### Step 1: Intelligence Gathering & Design Planning
52
- 1. **Analyze Project**: Scan all relevant `.md` files in the project. Understand the core purpose and technical details.
53
- 2. **Enforce UI/UX Dependency**:
54
- - Check if `heraspec/skills/ui-ux/` exists.
55
- - If missing: **Execute `heraspec skill add ui-ux`** immediately. Do NOT proceed with HTML generation until this skill is available.
56
- 3. **Define Design System**: Consult the `ui-ux` skill to establish a visual language (colors, fonts, animation styles).
57
- 4. **Plan Structures**: Outline what needs to go into the `.txt`, `.md`, and `.html` versions.
58
-
59
- ### Step 2: Constructing Documentation Assets
60
- 1. **Compose documentation.txt & .md**: Focus on clarity and technical accuracy.
61
- 2. **Develop documentation.html**: Build a split-panel layout (Sidebar + Content). DO NOT just fill a template; **write the HTML/CSS/JS** needed to make it look premium and project-specific.
62
- 3. **Design documentation-landing-page.html**: Create a compelling Hero section and feature showcase. Link to the main docs.
63
-
64
- ## Required Input
65
-
66
- - **Project Context**: The name of the plugin/project (e.g., "polyutilities").
67
- - **Specs/Docs**: All existing documentation and specification files.
68
- - **Design Guidelines**: Inputs from the `ui-ux` skill.
69
-
70
- ## Expected Output (Save to /documentations/)
71
-
72
- **CRITICAL**: All files MUST be placed in a `/documentations` folder at the project root. If this folder does not exist, the Agent MUST create it first.
73
-
74
- - `/documentations/documentation.txt`: Plain text overview.
75
- - `/documentations/documentation.md`: Markdown version.
76
- - `/documentations/documentation.html`: Interactive split-panel HTML.
77
- - `/documentations/documentation-landing-page.html`: Visual landing page.
78
- - `/documentations/style.css` & `/documentations/landing-style.css`: Custom-generated styles.
79
- - `/documentations/script.js` & `/documentations/landing-script.js`: Interactive logic.
80
-
81
- ## Tone & Rules
82
-
83
- - **Consistent Content**: The core information must be synchronized across all formats.
84
- - **Design Autonomy**: The Agent is responsible for the final aesthetic and structural quality.
85
- - **Visual Impact**: Documentation must WOW the user with its premium feel.
86
-
87
- ## Reference Templates
88
- These are provided as starting points or inspiration. The Agent should feel free to expand or modify them to suit the project:
89
-
90
- - `templates/documentation.html` - Base HTML documentation layout
91
- - `templates/documentation-landing-page.html` - Premium Landing Page layout
92
- - `templates/style.css` - Premium styles for HTML documentation
93
- - `templates/landing-style.css` - Premium styles for Landing Page
94
- - `templates/script.js` - Interactive logic for HTML documentation
95
- - `templates/landing-script.js` - Interactive logic for Landing Page
96
- - `templates/technical-doc-template.md` - Technical documentation
97
- - `templates/user-guide-template.md` - User guide
98
- - `templates/api-doc-template.md` - API documentation
99
- - `templates/changelog-template.md` - Changelog template
100
-
101
- ## Links to Other Skills
102
-
103
- - **ui-ux**: ESSENTIAL. Use this to determine the look and feel of the HTML documentation.
104
- - **content-optimization**: Use to ensure the text is clear and professional.
1
+ # Skill: Documents (Cross-Cutting & Multi-Format)
2
+
3
+ ## Purpose
4
+
5
+ This skill is used to create comprehensive documentation for both technical and end-user audiences. It supports parallel generation of Markdown files (for repository/GitHub) and interactive HTML files (for browser-based manuals).
6
+
7
+ ## Core Requirements
8
+
9
+ ### 1. Multi-Format Output
10
+ Every documentation task should ideally generate four versions:
11
+ - `documentation.txt`: A concise, text-only overview for quick reading and AI context.
12
+ - `documentation.md`: High-quality Markdown for version control and GitHub READMEs.
13
+ - `documentation.html`: An interactive, premium documentation page with sidebar navigation.
14
+ - `documentation-landing-page.html`: A visual, high-end landing page to showcase the project/plugin.
15
+
16
+ ### 2. Dynamic Design (Not Fixed Templates)
17
+ - **Do NOT follow a rigid template**: The Agent must **design** the documentation layout and content structure specifically for the project.
18
+ - **Synergy with ui-ux**: use of the `ui-ux` skill is **MANDATORY** for `documentation.html` and `documentation-landing-page.html`.
19
+
20
+ ### 3. Standard Quality Structure (Mandatory)
21
+ To ensure clarity and completeness, the generated documentation MUST include:
22
+
23
+ #### A. Interactive Documentation (documentation.html)
24
+ 1. **Quick Start**: Clear steps to get running in < 2 minutes.
25
+ 2. **System Requirements**: OS, versions, dependencies.
26
+ 3. **Installation & Setup**: Detailed step-by-step guide.
27
+ 4. **Configuration**: Explanation of all settings (config files, UI settings).
28
+ 5. **Core Features**: Deep dive into each component found in `heraspec/specs/`.
29
+ 6. **Technical Reference**: (For Devs) API endpoints, Hooks, Filters, Functions.
30
+ 7. **Troubleshooting & FAQ**: Common issues and solutions.
31
+
32
+ #### B. Premium Landing Page (documentation-landing-page.html)
33
+ 1. **Hero Section**: High-impact headline and clear sub-headline.
34
+ 2. **Value Proposition**: Briefly explain "The Problem" vs "The Solution".
35
+ 3. **Feature Showcase**: A visual grid of key benefits with icons/images.
36
+ 4. **How It Works**: A simplified 1-2-3 step process of using the project.
37
+ 5. **CTA (Call to Action)**: Prominent buttons to "Get Started" or "View Docs".
38
+
39
+ ### 4. Visual Excellence
40
+ - Use gradients, smooth animations (fade-in, slide), and premium fonts (e.g., Inter, Montserrat).
41
+ - The HTML documentation should feel like a modern SaaS dashboard or a high-end technical manual.
42
+
43
+ ### 4. Project-Wide Scope
44
+ When tasked with generating documentation for the entire project:
45
+ - **Data Source**: Agent MUST read `heraspec/project.md` and ALL files in `heraspec/specs/`.
46
+ - **Synthesis**: Agent must combine information from all components and features into a unified manual.
47
+ - **Landing Page**: Should serve as the project homepage, summarizing the main value proposition and key features across all modules.
48
+
49
+ ## Implementation Steps
50
+
51
+ ### Step 1: Intelligence Gathering & Design Planning
52
+ 1. **Analyze Project**: Scan all relevant `.md` files in the project. Understand the core purpose and technical details.
53
+ 2. **Enforce UI/UX Dependency**:
54
+ - Check if `heraspec/skills/ui-ux/` exists.
55
+ - If missing: **Execute `heraspec skill add ui-ux`** immediately. Do NOT proceed with HTML generation until this skill is available.
56
+ 3. **Define Design System**: Consult the `ui-ux` skill to establish a visual language (colors, fonts, animation styles).
57
+ 4. **Plan Structures**: Outline what needs to go into the `.txt`, `.md`, and `.html` versions.
58
+
59
+ ### Step 2: Constructing Documentation Assets
60
+ 1. **Compose documentation.txt & .md**: Focus on clarity and technical accuracy.
61
+ 2. **Develop documentation.html**: Build a split-panel layout (Sidebar + Content). DO NOT just fill a template; **write the HTML/CSS/JS** needed to make it look premium and project-specific.
62
+ 3. **Design documentation-landing-page.html**: Create a compelling Hero section and feature showcase. Link to the main docs.
63
+
64
+ ## Required Input
65
+
66
+ - **Project Context**: The name of the plugin/project (e.g., "polyutilities").
67
+ - **Specs/Docs**: All existing documentation and specification files.
68
+ - **Design Guidelines**: Inputs from the `ui-ux` skill.
69
+
70
+ ## Expected Output (Save to /documentations/)
71
+
72
+ **CRITICAL**: All files MUST be placed in a `/documentations` folder at the project root. If this folder does not exist, the Agent MUST create it first.
73
+
74
+ - `/documentations/documentation.txt`: Plain text overview.
75
+ - `/documentations/documentation.md`: Markdown version.
76
+ - `/documentations/documentation.html`: Interactive split-panel HTML.
77
+ - `/documentations/documentation-landing-page.html`: Visual landing page.
78
+ - `/documentations/style.css` & `/documentations/landing-style.css`: Custom-generated styles.
79
+ - `/documentations/script.js` & `/documentations/landing-script.js`: Interactive logic.
80
+
81
+ ## Tone & Rules
82
+
83
+ - **Consistent Content**: The core information must be synchronized across all formats.
84
+ - **Design Autonomy**: The Agent is responsible for the final aesthetic and structural quality.
85
+ - **Visual Impact**: Documentation must WOW the user with its premium feel.
86
+
87
+ ## Reference Templates
88
+ These are provided as starting points or inspiration. The Agent should feel free to expand or modify them to suit the project:
89
+
90
+ - `templates/documentation.html` - Base HTML documentation layout
91
+ - `templates/documentation-landing-page.html` - Premium Landing Page layout
92
+ - `templates/style.css` - Premium styles for HTML documentation
93
+ - `templates/landing-style.css` - Premium styles for Landing Page
94
+ - `templates/script.js` - Interactive logic for HTML documentation
95
+ - `templates/landing-script.js` - Interactive logic for Landing Page
96
+ - `templates/technical-doc-template.md` - Technical documentation
97
+ - `templates/user-guide-template.md` - User guide
98
+ - `templates/api-doc-template.md` - API documentation
99
+ - `templates/changelog-template.md` - Changelog template
100
+
101
+ ## Links to Other Skills
102
+
103
+ - **ui-ux**: ESSENTIAL. Use this to determine the look and feel of the HTML documentation.
104
+ - **content-optimization**: Use to ensure the text is clear and professional.
@@ -1,119 +1,119 @@
1
- # Skill: End-to-End (E2E) Testing (Cross-Cutting)
2
-
3
- ## Purpose
4
-
5
- This skill is used to create end-to-end tests that verify complete user workflows from start to finish. E2E tests simulate real user interactions with the application.
6
-
7
- ## When to Use
8
-
9
- - When testing complete user workflows
10
- - When testing critical user journeys
11
- - When testing UI interactions
12
- - When verifying application behavior from user perspective
13
- - When testing authentication flows
14
- - When testing payment/transaction flows
15
-
16
- ## Step-by-Step Process
17
-
18
- ### Step 1: Identify User Journeys
19
- - Map critical user workflows
20
- - Identify key user scenarios
21
- - List user personas and their goals
22
- - Determine test priorities (critical paths first)
23
- - Document expected user behavior
24
-
25
- ### Step 2: Set Up E2E Testing Framework
26
- - Choose E2E testing tool (Playwright, Cypress, Selenium, etc.)
27
- - Configure test environment
28
- - Set up test browser/headless mode
29
- - Configure test data and user accounts
30
- - Set up test application instance
31
-
32
- ### Step 3: Write E2E Tests
33
- - Create test files for each user journey
34
- - Write tests simulating user actions (click, type, navigate)
35
- - Test complete workflows from start to finish
36
- - Verify UI elements and feedback
37
- - Test error scenarios and edge cases
38
- - Use page objects for maintainability
39
-
40
- ### Step 4: Run and Verify
41
- - Run E2E tests
42
- - Verify tests pass consistently
43
- - Check test execution time
44
- - Review test failures and flakiness
45
- - Ensure tests are stable and reliable
46
-
47
- ### Step 5: Maintain Tests
48
- - Update tests when UI changes
49
- - Keep page objects synchronized with UI
50
- - Document test scenarios
51
- - Monitor test stability
52
-
53
- ## Required Input
54
-
55
- - **User journeys**: List of critical user workflows
56
- - **Test environment**: Application URL and test environment setup
57
- - **Test accounts**: User accounts for testing
58
- - **E2E framework**: Testing framework to use
59
- - **Browser**: Browser to test in (Chrome, Firefox, etc.)
60
-
61
- ## Expected Output
62
-
63
- - E2E test files
64
- - Test scenarios covering user journeys
65
- - Page objects for UI elements
66
- - Passing E2E test suite
67
- - Documentation of E2E test scenarios
68
-
69
- ## Tone & Rules
70
-
71
- ### Test Scope
72
- - Focus on critical user journeys
73
- - Test from user perspective
74
- - Verify complete workflows
75
- - Test happy paths and error scenarios
76
-
77
- ### Test Stability
78
- - Use reliable selectors (data-testid, stable IDs)
79
- - Add appropriate waits for async operations
80
- - Handle flaky elements (retries, explicit waits)
81
- - Keep tests independent and isolated
82
-
83
- ### Performance
84
- - E2E tests are slowest (run separately)
85
- - Use headless mode for CI
86
- - Parallelize tests when possible
87
- - Consider test execution time
88
-
89
- ### Limitations
90
- - ❌ DO NOT test every UI element (focus on journeys)
91
- - ❌ DO NOT use brittle selectors (XPath with complex paths)
92
- - ❌ DO NOT skip error handling
93
- - ❌ DO NOT write tests that depend on timing
94
- - ❌ DO NOT test implementation details
95
-
96
- ## Available Templates
97
-
98
- - `templates/e2e-test-template.js` - JavaScript/Playwright template
99
- - `templates/e2e-test-template.ts` - TypeScript/Cypress template
100
- - `templates/e2e-test-template.py` - Python/Selenium template
101
-
102
- ## Available Scripts
103
-
104
- - `scripts/setup-e2e-env.sh` - Set up E2E test environment
105
- - `scripts/run-e2e-tests.sh` - Run E2E test suite
106
-
107
- ## Examples
108
-
109
- See `examples/` directory for reference:
110
- - `good-e2e-test/` - Well-structured E2E tests
111
- - `bad-e2e-test/` - Examples to avoid
112
-
113
- ## Links to Other Skills
114
-
115
- - **unit-test**: Use for testing individual components
116
- - **integration-test**: Use for testing component interactions
117
- - **ui-ux**: Reference when testing UI interactions
118
- - **documents**: Use to document E2E test strategy
119
-
1
+ # Skill: End-to-End (E2E) Testing (Cross-Cutting)
2
+
3
+ ## Purpose
4
+
5
+ This skill is used to create end-to-end tests that verify complete user workflows from start to finish. E2E tests simulate real user interactions with the application.
6
+
7
+ ## When to Use
8
+
9
+ - When testing complete user workflows
10
+ - When testing critical user journeys
11
+ - When testing UI interactions
12
+ - When verifying application behavior from user perspective
13
+ - When testing authentication flows
14
+ - When testing payment/transaction flows
15
+
16
+ ## Step-by-Step Process
17
+
18
+ ### Step 1: Identify User Journeys
19
+ - Map critical user workflows
20
+ - Identify key user scenarios
21
+ - List user personas and their goals
22
+ - Determine test priorities (critical paths first)
23
+ - Document expected user behavior
24
+
25
+ ### Step 2: Set Up E2E Testing Framework
26
+ - Choose E2E testing tool (Playwright, Cypress, Selenium, etc.)
27
+ - Configure test environment
28
+ - Set up test browser/headless mode
29
+ - Configure test data and user accounts
30
+ - Set up test application instance
31
+
32
+ ### Step 3: Write E2E Tests
33
+ - Create test files for each user journey
34
+ - Write tests simulating user actions (click, type, navigate)
35
+ - Test complete workflows from start to finish
36
+ - Verify UI elements and feedback
37
+ - Test error scenarios and edge cases
38
+ - Use page objects for maintainability
39
+
40
+ ### Step 4: Run and Verify
41
+ - Run E2E tests
42
+ - Verify tests pass consistently
43
+ - Check test execution time
44
+ - Review test failures and flakiness
45
+ - Ensure tests are stable and reliable
46
+
47
+ ### Step 5: Maintain Tests
48
+ - Update tests when UI changes
49
+ - Keep page objects synchronized with UI
50
+ - Document test scenarios
51
+ - Monitor test stability
52
+
53
+ ## Required Input
54
+
55
+ - **User journeys**: List of critical user workflows
56
+ - **Test environment**: Application URL and test environment setup
57
+ - **Test accounts**: User accounts for testing
58
+ - **E2E framework**: Testing framework to use
59
+ - **Browser**: Browser to test in (Chrome, Firefox, etc.)
60
+
61
+ ## Expected Output
62
+
63
+ - E2E test files
64
+ - Test scenarios covering user journeys
65
+ - Page objects for UI elements
66
+ - Passing E2E test suite
67
+ - Documentation of E2E test scenarios
68
+
69
+ ## Tone & Rules
70
+
71
+ ### Test Scope
72
+ - Focus on critical user journeys
73
+ - Test from user perspective
74
+ - Verify complete workflows
75
+ - Test happy paths and error scenarios
76
+
77
+ ### Test Stability
78
+ - Use reliable selectors (data-testid, stable IDs)
79
+ - Add appropriate waits for async operations
80
+ - Handle flaky elements (retries, explicit waits)
81
+ - Keep tests independent and isolated
82
+
83
+ ### Performance
84
+ - E2E tests are slowest (run separately)
85
+ - Use headless mode for CI
86
+ - Parallelize tests when possible
87
+ - Consider test execution time
88
+
89
+ ### Limitations
90
+ - ❌ DO NOT test every UI element (focus on journeys)
91
+ - ❌ DO NOT use brittle selectors (XPath with complex paths)
92
+ - ❌ DO NOT skip error handling
93
+ - ❌ DO NOT write tests that depend on timing
94
+ - ❌ DO NOT test implementation details
95
+
96
+ ## Available Templates
97
+
98
+ - `templates/e2e-test-template.js` - JavaScript/Playwright template
99
+ - `templates/e2e-test-template.ts` - TypeScript/Cypress template
100
+ - `templates/e2e-test-template.py` - Python/Selenium template
101
+
102
+ ## Available Scripts
103
+
104
+ - `scripts/setup-e2e-env.sh` - Set up E2E test environment
105
+ - `scripts/run-e2e-tests.sh` - Run E2E test suite
106
+
107
+ ## Examples
108
+
109
+ See `examples/` directory for reference:
110
+ - `good-e2e-test/` - Well-structured E2E tests
111
+ - `bad-e2e-test/` - Examples to avoid
112
+
113
+ ## Links to Other Skills
114
+
115
+ - **unit-test**: Use for testing individual components
116
+ - **integration-test**: Use for testing component interactions
117
+ - **ui-ux**: Reference when testing UI interactions
118
+ - **documents**: Use to document E2E test strategy
119
+
@@ -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.