heraspec 0.1.14 → 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 (174) hide show
  1. package/LICENSE +187 -0
  2. package/README.md +94 -95
  3. package/bin/heraspec.js +195 -80
  4. package/bin/heraspec.js.map +2 -2
  5. package/dist/core/templates/skills/README.md +41 -38
  6. package/dist/core/templates/skills/campaign-plan/skill.md +76 -0
  7. package/dist/core/templates/skills/campaign-plan/skill.vi.md +76 -0
  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/code-review/skill.md +70 -0
  11. package/dist/core/templates/skills/code-review/skill.vi.md +70 -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/content-creation/skill.md +69 -0
  15. package/dist/core/templates/skills/content-creation/skill.vi.md +69 -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-optimization/skill.md +104 -0
  19. package/dist/core/templates/skills/debug/skill.md +69 -0
  20. package/dist/core/templates/skills/debug/skill.vi.md +69 -0
  21. package/dist/core/templates/skills/debug-skill.md +69 -0
  22. package/dist/core/templates/skills/debug-skill.vi.md +69 -0
  23. package/dist/core/templates/skills/deploy-documentation/skill.md +408 -0
  24. package/dist/core/templates/skills/design-system/knowledge/design-systems/airbnb/DESIGN.md +246 -0
  25. package/dist/core/templates/skills/design-system/knowledge/design-systems/airtable/DESIGN.md +89 -0
  26. package/dist/core/templates/skills/design-system/knowledge/design-systems/apple/DESIGN.md +313 -0
  27. package/dist/core/templates/skills/design-system/knowledge/design-systems/bmw/DESIGN.md +180 -0
  28. package/dist/core/templates/skills/design-system/knowledge/design-systems/cal/DESIGN.md +259 -0
  29. package/dist/core/templates/skills/design-system/knowledge/design-systems/claude/DESIGN.md +312 -0
  30. package/dist/core/templates/skills/design-system/knowledge/design-systems/clay/DESIGN.md +304 -0
  31. package/dist/core/templates/skills/design-system/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
  32. package/dist/core/templates/skills/design-system/knowledge/design-systems/cohere/DESIGN.md +266 -0
  33. package/dist/core/templates/skills/design-system/knowledge/design-systems/coinbase/DESIGN.md +129 -0
  34. package/dist/core/templates/skills/design-system/knowledge/design-systems/composio/DESIGN.md +307 -0
  35. package/dist/core/templates/skills/design-system/knowledge/design-systems/cursor/DESIGN.md +309 -0
  36. package/dist/core/templates/skills/design-system/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
  37. package/dist/core/templates/skills/design-system/knowledge/design-systems/expo/DESIGN.md +281 -0
  38. package/dist/core/templates/skills/design-system/knowledge/design-systems/figma/DESIGN.md +220 -0
  39. package/dist/core/templates/skills/design-system/knowledge/design-systems/framer/DESIGN.md +246 -0
  40. package/dist/core/templates/skills/design-system/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
  41. package/dist/core/templates/skills/design-system/knowledge/design-systems/ibm/DESIGN.md +332 -0
  42. package/dist/core/templates/skills/design-system/knowledge/design-systems/index.json +72 -0
  43. package/dist/core/templates/skills/design-system/knowledge/design-systems/intercom/DESIGN.md +146 -0
  44. package/dist/core/templates/skills/design-system/knowledge/design-systems/kraken/DESIGN.md +125 -0
  45. package/dist/core/templates/skills/design-system/knowledge/design-systems/linear.app/DESIGN.md +367 -0
  46. package/dist/core/templates/skills/design-system/knowledge/design-systems/lovable/DESIGN.md +298 -0
  47. package/dist/core/templates/skills/design-system/knowledge/design-systems/minimax/DESIGN.md +257 -0
  48. package/dist/core/templates/skills/design-system/knowledge/design-systems/mintlify/DESIGN.md +326 -0
  49. package/dist/core/templates/skills/design-system/knowledge/design-systems/miro/DESIGN.md +108 -0
  50. package/dist/core/templates/skills/design-system/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
  51. package/dist/core/templates/skills/design-system/knowledge/design-systems/mongodb/DESIGN.md +266 -0
  52. package/dist/core/templates/skills/design-system/knowledge/design-systems/notion/DESIGN.md +309 -0
  53. package/dist/core/templates/skills/design-system/knowledge/design-systems/nvidia/DESIGN.md +293 -0
  54. package/dist/core/templates/skills/design-system/knowledge/design-systems/ollama/DESIGN.md +267 -0
  55. package/dist/core/templates/skills/design-system/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
  56. package/dist/core/templates/skills/design-system/knowledge/design-systems/pinterest/DESIGN.md +230 -0
  57. package/dist/core/templates/skills/design-system/knowledge/design-systems/posthog/DESIGN.md +256 -0
  58. package/dist/core/templates/skills/design-system/knowledge/design-systems/raycast/DESIGN.md +268 -0
  59. package/dist/core/templates/skills/design-system/knowledge/design-systems/replicate/DESIGN.md +261 -0
  60. package/dist/core/templates/skills/design-system/knowledge/design-systems/resend/DESIGN.md +303 -0
  61. package/dist/core/templates/skills/design-system/knowledge/design-systems/revolut/DESIGN.md +185 -0
  62. package/dist/core/templates/skills/design-system/knowledge/design-systems/runwayml/DESIGN.md +244 -0
  63. package/dist/core/templates/skills/design-system/knowledge/design-systems/sanity/DESIGN.md +357 -0
  64. package/dist/core/templates/skills/design-system/knowledge/design-systems/sentry/DESIGN.md +262 -0
  65. package/dist/core/templates/skills/design-system/knowledge/design-systems/spacex/DESIGN.md +194 -0
  66. package/dist/core/templates/skills/design-system/knowledge/design-systems/spotify/DESIGN.md +246 -0
  67. package/dist/core/templates/skills/design-system/knowledge/design-systems/stripe/DESIGN.md +322 -0
  68. package/dist/core/templates/skills/design-system/knowledge/design-systems/supabase/DESIGN.md +255 -0
  69. package/dist/core/templates/skills/design-system/knowledge/design-systems/superhuman/DESIGN.md +252 -0
  70. package/dist/core/templates/skills/design-system/knowledge/design-systems/together.ai/DESIGN.md +263 -0
  71. package/dist/core/templates/skills/design-system/knowledge/design-systems/uber/DESIGN.md +295 -0
  72. package/dist/core/templates/skills/design-system/knowledge/design-systems/vercel/DESIGN.md +310 -0
  73. package/dist/core/templates/skills/design-system/knowledge/design-systems/voltagent/DESIGN.md +323 -0
  74. package/dist/core/templates/skills/design-system/knowledge/design-systems/warp/DESIGN.md +253 -0
  75. package/dist/core/templates/skills/design-system/knowledge/design-systems/webflow/DESIGN.md +92 -0
  76. package/dist/core/templates/skills/design-system/knowledge/design-systems/wise/DESIGN.md +173 -0
  77. package/dist/core/templates/skills/design-system/knowledge/design-systems/x.ai/DESIGN.md +257 -0
  78. package/dist/core/templates/skills/design-system/knowledge/design-systems/zapier/DESIGN.md +328 -0
  79. package/dist/core/templates/skills/design-system/skill.md +176 -0
  80. package/dist/core/templates/skills/documents/skill.md +104 -0
  81. package/dist/core/templates/skills/e2e-test/skill.md +119 -0
  82. package/dist/core/templates/skills/email-sequence/skill.md +68 -0
  83. package/dist/core/templates/skills/email-sequence/skill.vi.md +68 -0
  84. package/dist/core/templates/skills/email-sequence-skill.md +68 -0
  85. package/dist/core/templates/skills/email-sequence-skill.vi.md +68 -0
  86. package/dist/core/templates/skills/git-embed/skill.md +57 -0
  87. package/dist/core/templates/skills/integration-test/skill.md +118 -0
  88. package/dist/core/templates/skills/knowledge/README.md +63 -63
  89. package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -72
  90. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -27
  91. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -137
  92. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -39
  93. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +207 -207
  94. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -51
  95. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -369
  96. package/dist/core/templates/skills/knowledge/index.json +65 -65
  97. package/dist/core/templates/skills/perfex-module/module-codebase/skill.md +110 -0
  98. package/dist/core/templates/skills/project-memory/skill.md +222 -0
  99. package/dist/core/templates/skills/project-memory/skill.vi.md +223 -0
  100. package/dist/core/templates/skills/seo-audit/skill.md +75 -0
  101. package/dist/core/templates/skills/seo-audit/skill.vi.md +75 -0
  102. package/dist/core/templates/skills/seo-audit-skill.md +75 -0
  103. package/dist/core/templates/skills/seo-audit-skill.vi.md +75 -0
  104. package/dist/core/templates/skills/smart-explore/skill.md +141 -0
  105. package/dist/core/templates/skills/sourcecode-analyzer/skill.md +210 -0
  106. package/dist/core/templates/skills/sourcecode-analyzer/skill.vi.md +210 -0
  107. package/dist/core/templates/skills/spec-writer/skill.md +61 -0
  108. package/dist/core/templates/skills/spec-writer/skill.vi.md +61 -0
  109. package/dist/core/templates/skills/spec-writer-skill.md +61 -0
  110. package/dist/core/templates/skills/spec-writer-skill.vi.md +61 -0
  111. package/dist/core/templates/skills/sql-queries/skill.md +67 -0
  112. package/dist/core/templates/skills/sql-queries/skill.vi.md +67 -0
  113. package/dist/core/templates/skills/sql-queries-skill.md +67 -0
  114. package/dist/core/templates/skills/sql-queries-skill.vi.md +67 -0
  115. package/dist/core/templates/skills/suggestion/skill.md +118 -0
  116. package/dist/core/templates/skills/system-design/skill.md +70 -0
  117. package/dist/core/templates/skills/system-design/skill.vi.md +70 -0
  118. package/dist/core/templates/skills/system-design-skill.md +70 -0
  119. package/dist/core/templates/skills/system-design-skill.vi.md +70 -0
  120. package/dist/core/templates/skills/tech-debt/skill.md +70 -0
  121. package/dist/core/templates/skills/tech-debt/skill.vi.md +70 -0
  122. package/dist/core/templates/skills/tech-debt-skill.md +70 -0
  123. package/dist/core/templates/skills/tech-debt-skill.vi.md +70 -0
  124. package/dist/core/templates/skills/ui-ux/data/charts.csv +26 -0
  125. package/dist/core/templates/skills/ui-ux/data/colors.csv +97 -0
  126. package/dist/core/templates/skills/ui-ux/data/design-systems.csv +54 -0
  127. package/dist/core/templates/skills/ui-ux/data/landing.csv +31 -0
  128. package/dist/core/templates/skills/ui-ux/data/pages-proposed.csv +22 -0
  129. package/dist/core/templates/skills/ui-ux/data/pages.csv +10 -0
  130. package/dist/core/templates/skills/ui-ux/data/products.csv +97 -0
  131. package/dist/core/templates/skills/ui-ux/data/prompts.csv +24 -0
  132. package/dist/core/templates/skills/ui-ux/data/stacks/flutter.csv +53 -0
  133. package/dist/core/templates/skills/ui-ux/data/stacks/html-tailwind.csv +56 -0
  134. package/dist/core/templates/skills/ui-ux/data/stacks/nextjs.csv +53 -0
  135. package/dist/core/templates/skills/ui-ux/data/stacks/react-native.csv +52 -0
  136. package/dist/core/templates/skills/ui-ux/data/stacks/react.csv +54 -0
  137. package/dist/core/templates/skills/ui-ux/data/stacks/svelte.csv +54 -0
  138. package/dist/core/templates/skills/ui-ux/data/stacks/swiftui.csv +51 -0
  139. package/dist/core/templates/skills/ui-ux/data/stacks/vue.csv +50 -0
  140. package/dist/core/templates/skills/ui-ux/data/styles.csv +59 -0
  141. package/dist/core/templates/skills/ui-ux/data/typography.csv +58 -0
  142. package/dist/core/templates/skills/ui-ux/data/ux-guidelines.csv +100 -0
  143. package/dist/core/templates/skills/ui-ux/scripts/CODE_EXPLANATION.md +394 -0
  144. package/dist/core/templates/skills/ui-ux/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -0
  145. package/dist/core/templates/skills/ui-ux/scripts/SEARCH_MODES_GUIDE.md +238 -0
  146. package/dist/core/templates/skills/ui-ux/scripts/core.py +391 -0
  147. package/dist/core/templates/skills/ui-ux/scripts/search.py +73 -0
  148. package/dist/core/templates/skills/ui-ux/skill.md +595 -0
  149. package/dist/core/templates/skills/ui-ux/templates/accessibility-checklist.md +40 -0
  150. package/dist/core/templates/skills/ui-ux/templates/example-prompt-full-theme.md +333 -0
  151. package/dist/core/templates/skills/ui-ux/templates/page-types-guide.md +338 -0
  152. package/dist/core/templates/skills/ui-ux/templates/pages-proposed-summary.md +273 -0
  153. package/dist/core/templates/skills/ui-ux/templates/pre-delivery-checklist.md +42 -0
  154. package/dist/core/templates/skills/ui-ux/templates/prompt-template-full-theme.md +313 -0
  155. package/dist/core/templates/skills/ui-ux/templates/responsive-design.md +40 -0
  156. package/dist/core/templates/skills/unit-test/skill.md +111 -0
  157. package/dist/core/templates/skills/wordpress/plugin-check/skill.md +151 -0
  158. package/dist/core/templates/skills/wordpress/plugin-directory/skill.md +396 -0
  159. package/dist/core/templates/skills/wordpress/plugin-standard/skill.md +100 -0
  160. package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-dashboard.php +47 -0
  161. package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-settings.php +60 -0
  162. package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-css.css +22 -0
  163. package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-js.js +15 -0
  164. package/dist/core/templates/skills/wordpress/plugin-standard/templates/plugin-main.php +169 -0
  165. package/dist/core/templates/skills/wordpress/plugin-standard/templates/readme.txt +41 -0
  166. package/dist/core/templates/skills/wordpress/plugin-standard/templates/uninstall.php +21 -0
  167. package/dist/core/templates/skills/wordpress/ux-element/skill.md +83 -0
  168. package/dist/core/templates/skills/wordpress/ux-element/templates/Controller.php +50 -0
  169. package/dist/core/templates/skills/wordpress/ux-element/templates/Shortcode.php +23 -0
  170. package/dist/core/templates/skills/wordpress/ux-element/templates/Template.html +20 -0
  171. package/dist/core/templates/skills/wordpress/ux-element/templates/Thumbnail.svg +8 -0
  172. package/dist/core/templates/skills/wordpress/ux-element/templates/View.php +21 -0
  173. package/dist/index.js +195 -79
  174. package/package.json +1 -1
@@ -1,65 +1,65 @@
1
- {
2
- "version": "1.0",
3
- "description": "HeRaSpec Knowledge Base — Pre-analyzed profiles for frameworks, APIs, and platforms",
4
- "categories": ["frameworks", "apis", "platforms"],
5
- "entries": [
6
- {
7
- "id": "php-laravel-botble",
8
- "category": "frameworks",
9
- "runtime": "php",
10
- "framework": "laravel",
11
- "cms": "botble",
12
- "frameworkVersion": "^13.0",
13
- "runtimeVersion": "^8.3",
14
- "matchSignals": [
15
- { "type": "file-contains", "file": "composer.json", "contains": "botble" },
16
- { "type": "file-contains", "file": "composer.json", "contains": "laravel/framework" },
17
- { "type": "directory-exists", "path": "platform/core" },
18
- { "type": "directory-exists", "path": "platform/plugins" }
19
- ],
20
- "minMatchScore": 3,
21
- "knowledgePath": "frameworks/php/laravel/botble",
22
- "files": ["profile.json", "structure.md"],
23
- "lastUpdated": "2026-04-04"
24
- },
25
- {
26
- "id": "php-codeigniter-rise-cms",
27
- "category": "frameworks",
28
- "runtime": "php",
29
- "framework": "codeigniter",
30
- "cms": "rise-cms",
31
- "frameworkVersion": "^4.0",
32
- "runtimeVersion": "^8.1",
33
- "matchSignals": [
34
- { "type": "file-contains", "file": "index.php", "contains": "CodeIgniter\\Boot::bootWeb()" },
35
- { "type": "file-contains", "file": "app/Config/Rise.php", "contains": "app_version" },
36
- { "type": "directory-exists", "path": "plugins" },
37
- { "type": "directory-exists", "path": "app/Controllers" }
38
- ],
39
- "minMatchScore": 3,
40
- "knowledgePath": "frameworks/php/codeigniter/rise-cms",
41
- "files": ["profile.json", "structure.md"],
42
- "lastUpdated": "2026-04-04"
43
- },
44
- {
45
- "id": "php-wordpress-core",
46
- "category": "frameworks",
47
- "runtime": "php",
48
- "framework": "wordpress",
49
- "cms": "wordpress",
50
- "frameworkVersion": "^6.0",
51
- "runtimeVersion": ">=7.2.24",
52
- "matchSignals": [
53
- { "type": "file-contains", "file": "wp-includes/version.php", "contains": "$wp_version" },
54
- { "type": "file-contains", "file": "wp-config.php", "contains": "DB_NAME" },
55
- { "type": "directory-exists", "path": "wp-content" },
56
- { "type": "directory-exists", "path": "wp-includes" },
57
- { "type": "directory-exists", "path": "wp-admin" }
58
- ],
59
- "minMatchScore": 3,
60
- "knowledgePath": "frameworks/php/wordpress/core",
61
- "files": ["profile.json", "structure.md"],
62
- "lastUpdated": "2026-05-03"
63
- }
64
- ]
65
- }
1
+ {
2
+ "version": "1.0",
3
+ "description": "HeRaSpec Knowledge Base — Pre-analyzed profiles for frameworks, APIs, and platforms",
4
+ "categories": ["frameworks", "apis", "platforms"],
5
+ "entries": [
6
+ {
7
+ "id": "php-laravel-botble",
8
+ "category": "frameworks",
9
+ "runtime": "php",
10
+ "framework": "laravel",
11
+ "cms": "botble",
12
+ "frameworkVersion": "^13.0",
13
+ "runtimeVersion": "^8.3",
14
+ "matchSignals": [
15
+ { "type": "file-contains", "file": "composer.json", "contains": "botble" },
16
+ { "type": "file-contains", "file": "composer.json", "contains": "laravel/framework" },
17
+ { "type": "directory-exists", "path": "platform/core" },
18
+ { "type": "directory-exists", "path": "platform/plugins" }
19
+ ],
20
+ "minMatchScore": 3,
21
+ "knowledgePath": "frameworks/php/laravel/botble",
22
+ "files": ["profile.json", "structure.md"],
23
+ "lastUpdated": "2026-04-04"
24
+ },
25
+ {
26
+ "id": "php-codeigniter-rise-cms",
27
+ "category": "frameworks",
28
+ "runtime": "php",
29
+ "framework": "codeigniter",
30
+ "cms": "rise-cms",
31
+ "frameworkVersion": "^4.0",
32
+ "runtimeVersion": "^8.1",
33
+ "matchSignals": [
34
+ { "type": "file-contains", "file": "index.php", "contains": "CodeIgniter\\Boot::bootWeb()" },
35
+ { "type": "file-contains", "file": "app/Config/Rise.php", "contains": "app_version" },
36
+ { "type": "directory-exists", "path": "plugins" },
37
+ { "type": "directory-exists", "path": "app/Controllers" }
38
+ ],
39
+ "minMatchScore": 3,
40
+ "knowledgePath": "frameworks/php/codeigniter/rise-cms",
41
+ "files": ["profile.json", "structure.md"],
42
+ "lastUpdated": "2026-04-04"
43
+ },
44
+ {
45
+ "id": "php-wordpress-core",
46
+ "category": "frameworks",
47
+ "runtime": "php",
48
+ "framework": "wordpress",
49
+ "cms": "wordpress",
50
+ "frameworkVersion": "^6.0",
51
+ "runtimeVersion": ">=7.2.24",
52
+ "matchSignals": [
53
+ { "type": "file-contains", "file": "wp-includes/version.php", "contains": "$wp_version" },
54
+ { "type": "file-contains", "file": "wp-config.php", "contains": "DB_NAME" },
55
+ { "type": "directory-exists", "path": "wp-content" },
56
+ { "type": "directory-exists", "path": "wp-includes" },
57
+ { "type": "directory-exists", "path": "wp-admin" }
58
+ ],
59
+ "minMatchScore": 3,
60
+ "knowledgePath": "frameworks/php/wordpress/core",
61
+ "files": ["profile.json", "structure.md"],
62
+ "lastUpdated": "2026-05-03"
63
+ }
64
+ ]
65
+ }
@@ -0,0 +1,110 @@
1
+ # Skill: Module Codebase (Perfex Module)
2
+
3
+ ## Purpose
4
+
5
+ This skill is used to create and manage codebase structure for Perfex CRM modules following Perfex best practices.
6
+
7
+ ## When to Use
8
+
9
+ - When creating a new module for Perfex CRM
10
+ - When refactoring existing module structure
11
+ - When ensuring module follows Perfex conventions
12
+ - When creating standard folder and file structure for module
13
+
14
+ ## Step-by-Step Process
15
+
16
+ ### Step 1: Analyze Requirements
17
+ - Identify main functionality of module
18
+ - Identify required database tables
19
+ - Identify hooks and filters to use
20
+ - Identify permissions to create
21
+
22
+ ### Step 2: Scaffold Structure
23
+ - Run script: `scripts/scaffold-module.sh <module-name>`
24
+ - Script will create standard folder structure:
25
+ - `modules/<module-name>/`
26
+ - `modules/<module-name>/controllers/`
27
+ - `modules/<module-name>/models/`
28
+ - `modules/<module-name>/views/`
29
+ - `modules/<module-name>/language/`
30
+ - `modules/<module-name>/assets/`
31
+ - Copy templates to correct locations
32
+
33
+ ### Step 3: Configure Module
34
+ - Fill information in `module-config.php` (from template)
35
+ - Register module in Perfex system
36
+ - Set up permissions and menu items
37
+
38
+ ### Step 4: Implement Core Logic
39
+ - Create controllers following Perfex structure
40
+ - Create models with Eloquent patterns
41
+ - Implement hooks and filters
42
+ - Create database migrations
43
+
44
+ ### Step 5: Testing & Documentation
45
+ - Test module with Perfex core
46
+ - Write documentation (use documents skill)
47
+ - Create user guide (use documents skill)
48
+
49
+ ## Required Input
50
+
51
+ - **Module name**: Module name (kebab-case, e.g., `category-management`)
52
+ - **Module description**: Module functionality description
53
+ - **Database tables**: List of tables to create
54
+ - **Hooks required**: List of hooks to implement
55
+ - **Permissions**: List of permissions to create
56
+ - **Menu items**: List of menu items to add
57
+
58
+ ## Expected Output
59
+
60
+ - Complete module folder structure
61
+ - Fully configured files
62
+ - Database migrations
63
+ - Module registration code
64
+ - Basic documentation structure
65
+
66
+ ## Tone & Rules
67
+
68
+ ### Code Style
69
+ - Follow PSR-12 coding standards
70
+ - Use camelCase for functions
71
+ - Use PascalCase for classes
72
+ - Comment in English
73
+
74
+ ### Naming Conventions
75
+ - Module folder: `perfex-<module-name>`
76
+ - Class names: `Perfex<ModuleName>`
77
+ - Function names: `perfex_<module_name>_<action>`
78
+ - Database tables: `tbl<ModuleName>`
79
+
80
+ ### Limitations
81
+ - ❌ DO NOT create global functions (except hooks)
82
+ - ❌ DO NOT hardcode database credentials
83
+ - ❌ DO NOT bypass Perfex permission system
84
+ - ❌ DO NOT modify core Perfex files
85
+ - ❌ DO NOT use deprecated Perfex APIs
86
+
87
+ ## Available Templates
88
+
89
+ - `templates/module-structure.php` - Basic module structure
90
+ - `templates/module-config.php` - Module configuration file
91
+ - `templates/module-hooks.php` - Template for hooks
92
+ - `templates/module-migration.php` - Database migration template
93
+
94
+ ## Available Scripts
95
+
96
+ - `scripts/scaffold-module.sh` - Automatically create module structure
97
+
98
+ ## Examples
99
+
100
+ See `examples/` directory for reference:
101
+ - `good-module-structure/` - Example of well-organized module
102
+ - `bad-module-structure/` - Example to avoid
103
+
104
+ ## Links to Other Skills
105
+
106
+ - **documents**: Use to create technical docs and user guide
107
+ - **ui-ux**: Use when module has admin interface
108
+ - **content-optimization**: Use for module marketing pages
109
+ - **module-registration**: Use to register module with Perfex
110
+ - **permission-group**: Use to create permissions for module
@@ -0,0 +1,222 @@
1
+ ---
2
+ name: project-memory
3
+ description: Complementary project memory system for AI agents. Records observations, decisions, and session summaries to maintain context across development sessions. Prevents duplicate work, tracks architectural decisions, and enables token-efficient context retrieval.
4
+ projectType: all
5
+ ---
6
+
7
+ # Project Memory Skill
8
+
9
+ ## Purpose
10
+
11
+ Enable AI agents to maintain **persistent project context** across sessions using a complementary (non-intrusive) approach. The memory system records what was done, what was learned, and what decisions were made — so future sessions start with relevant context instead of re-reading the entire codebase.
12
+
13
+ ## When to Use
14
+
15
+ - **Before implementing a new feature**: Search memory to check if similar work was done before
16
+ - **After completing a significant task**: Log an observation to record what was done
17
+ - **At the end of a session**: Summarize the session for future reference
18
+ - **When starting a complex session**: Read context to understand project history
19
+
20
+ ## Complementary Approach
21
+
22
+ > **This skill is COMPLEMENTARY, not mandatory.** The AI agent uses memory WHEN USEFUL, not at every step.
23
+ >
24
+ > - Simple tasks (fix typo, format code): Skip memory entirely → 0 token overhead
25
+ > - Complex tasks (new feature, architecture change): Use memory → save 10-30x tokens vs re-reading code
26
+
27
+ ## Available Commands
28
+
29
+ ### 1. Log an Observation (Post-Task)
30
+ Record what was done after completing a significant task:
31
+
32
+ ```bash
33
+ heraspec memory log \
34
+ --type <decision|bugfix|feature|refactor|discovery|change> \
35
+ --title "Short descriptive title" \
36
+ --narrative "Detailed description of what was done and why" \
37
+ --concepts "tag1,tag2,tag3" \
38
+ --files-modified "src/file1.ts,src/file2.ts"
39
+ ```
40
+
41
+ **Observation types:**
42
+ | Type | Icon | When to Use |
43
+ |------|------|------------|
44
+ | `decision` | ⚖️ | Architecture or design decisions with rationale |
45
+ | `bugfix` | 🔴 | Bug fixes with root cause |
46
+ | `feature` | 🟢 | New feature implementations |
47
+ | `refactor` | 🔄 | Code restructuring or optimization |
48
+ | `discovery` | 🔵 | Important findings about codebase or behavior |
49
+ | `change` | ✅ | General code changes |
50
+
51
+ ### 2. Search Memory (Pre-Implementation)
52
+ Check if related work exists before implementing something new:
53
+
54
+ ```bash
55
+ heraspec memory search "authentication middleware"
56
+ heraspec memory search --type feature --concepts "auth,login"
57
+ heraspec memory search --id 42 # Get full details of observation #42
58
+ ```
59
+
60
+ ### 3. Generate Context (Session Start)
61
+ Get a summary of recent project activity:
62
+
63
+ ```bash
64
+ heraspec memory context # Print to stdout
65
+ heraspec memory context --output file # Write to heraspec/memory/context.md
66
+ ```
67
+
68
+ ### 4. Summarize Session (Session End)
69
+ Record what was accomplished in this session:
70
+
71
+ ```bash
72
+ heraspec memory summarize \
73
+ --request "What the user asked for" \
74
+ --completed "What was done" \
75
+ --learned "Key insights discovered" \
76
+ --next-steps "What remains to be done" \
77
+ --files-edited "src/file1.ts,src/file2.ts"
78
+ ```
79
+
80
+ ### 5. View Status
81
+ Check memory statistics:
82
+
83
+ ```bash
84
+ heraspec memory status # Observation count, top concepts, top files
85
+ heraspec memory timeline # Chronological view of activity
86
+ ```
87
+
88
+ ### 6. Token Analytics Report
89
+ View detailed token usage vs savings comparison per project:
90
+
91
+ ```bash
92
+ heraspec memory analytics # Table + chart of token economics
93
+ heraspec memory analytics --history # Includes 13 latest database size changes
94
+ ```
95
+
96
+ Output includes:
97
+ - **Table**: Project name, Operations count, Tokens With Memory, Tokens Without Memory, Savings %, **DB Size**
98
+ - **Bar Chart**: Visual comparison of tokens avoided per project
99
+ - **Totals**: Aggregated savings across all projects
100
+ - **History (Optional)**: A chronological delta chart of how the `.db` file size has changed over time.
101
+
102
+ ### 7. Maintenance
103
+ ```bash
104
+ heraspec memory prune 90 # Delete observations older than 90 days
105
+ ```
106
+
107
+ ## Workflow for AI Agents
108
+
109
+ ### When to Use Memory (Decision Tree)
110
+
111
+ ```
112
+ Receive task from user
113
+ ├── Is it a simple/trivial task? → Skip memory, just do it
114
+ ├── Is it a new feature or significant change?
115
+ │ ├── Search memory: "heraspec memory search <relevant keywords>"
116
+ │ ├── Results found? → Read relevant observations, avoid duplicating work
117
+ │ └── No results? → Proceed normally
118
+ ├── After completing the task:
119
+ │ ├── Was it significant? → Log observation
120
+ │ └── Was it trivial? → Skip logging
121
+ └── End of session?
122
+ └── Multiple tasks completed? → Create session summary
123
+ ```
124
+
125
+ ### Key Principles
126
+
127
+ 1. **Don't force it**: Only use memory when it genuinely saves time or prevents mistakes
128
+ 2. **Quality over quantity**: One detailed observation is better than ten shallow ones
129
+ 3. **Concepts are crucial**: Good concept tags (`auth`, `database`, `api`, `ui`) make search effective
130
+ 4. **Files matter**: Recording which files were modified helps future agents navigate
131
+
132
+ ## Configuration
133
+
134
+ Memory configuration is stored in `heraspec/memory/config.json`:
135
+
136
+ ```json
137
+ {
138
+ "totalObservationCount": 50,
139
+ "fullObservationCount": 5,
140
+ "sessionCount": 5,
141
+ "maxTokens": 6000,
142
+ "showLastSummary": true
143
+ }
144
+ ```
145
+
146
+ ## Token Economics
147
+
148
+ | Action | Token Cost | Token Savings |
149
+ |--------|-----------|---------------|
150
+ | Read context | ~2,000-4,000 | vs ~50,000-120,000 re-reading codebase |
151
+ | Search memory | ~500-1,000 | vs ~5,000-15,000 duplicate implementation |
152
+ | Log observation | ~200-500 | Investment for future sessions |
153
+ | Smart explore (outline) | ~1,000-2,000 | vs ~12,000+ full file read |
154
+
155
+ To view a live analytics dashboard of token savings, run:
156
+ ```bash
157
+ heraspec memory analytics
158
+ ```
159
+
160
+ ## Bootstrapping Existing Projects
161
+
162
+ If you are adding the `project-memory` skill to an older project that already has historical specs and changes (in `heraspec/specs/` and `heraspec/archives/`), you can bootstrap the memory system without writing any code.
163
+
164
+ Simply provide this prompt to the AI agent **once**:
165
+
166
+ ```text
167
+ Use the project-memory skill.
168
+ Please bootstrap the project memory from all our existing specs and archives.
169
+ Open the folders: heraspec/specs/ and heraspec/archives/
170
+ For EVERY sub-folder/file inside, read it to understand the context, then run:
171
+
172
+ heraspec memory log \
173
+ --type feature \
174
+ --title "[Extract spec/change title]" \
175
+ --narrative "[Short summary of what was implemented]" \
176
+ --concepts "[Extract key tags/technologies]" \
177
+ --files-modified "[Extract affected files]"
178
+
179
+ Repeat this until all old specs are migrated into the memory system.
180
+ ```
181
+
182
+ Alternatively, use the built-in **CLI command** (faster, no AI tokens spent):
183
+ ```bash
184
+ heraspec memory bootstrap # Interactive — prompts for confirmation
185
+ heraspec memory bootstrap --yes # Non-interactive — auto-confirm
186
+ ```
187
+
188
+ This command will automatically scan `heraspec/specs/`, `heraspec/archives/`, and `heraspec/changes/`, extract title/narrative/files from each markdown spec, and insert them into the memory database.
189
+
190
+ > **Note:** Duplicate titles are automatically skipped, so running the command multiple times is safe.
191
+
192
+ ## Agent-Triggered Reporting
193
+
194
+ When the user asks the AI agent to view memory reports, analytics, or token savings — the agent should run the CLI command and return the output:
195
+
196
+ ```text
197
+ User: "Show me the memory analytics report"
198
+ User: "How many tokens has the memory system saved?"
199
+ User: "Give me a token usage report"
200
+ ```
201
+
202
+ **Agent action:** Execute the following command and display the output to the user:
203
+ ```bash
204
+ heraspec memory analytics
205
+ ```
206
+
207
+ For a quick status check:
208
+ ```bash
209
+ heraspec memory status
210
+ ```
211
+
212
+ For a timeline view:
213
+ ```bash
214
+ heraspec memory timeline
215
+ ```
216
+
217
+ ## Limitations
218
+
219
+ - Memory is project-local (stored in `heraspec/memory/`)
220
+ - Requires `better-sqlite3` npm package
221
+ - FTS5 search is keyword-based, not semantic
222
+ - Agent must decide when to use memory (complementary approach)