ima-claude 2.9.0

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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +463 -0
  3. package/dist/cli.js +1064 -0
  4. package/package.json +49 -0
  5. package/platforms/claude/adapter.ts +115 -0
  6. package/platforms/junie/adapter.ts +254 -0
  7. package/platforms/junie/agents-template.md +113 -0
  8. package/platforms/junie/hook-translations.md +84 -0
  9. package/platforms/shared/detector.ts +27 -0
  10. package/platforms/shared/installer.ts +202 -0
  11. package/platforms/shared/types.ts +78 -0
  12. package/plugins/ima-claude/.claude-plugin/plugin.json +25 -0
  13. package/plugins/ima-claude/agents/explorer.md +30 -0
  14. package/plugins/ima-claude/agents/implementer.md +30 -0
  15. package/plugins/ima-claude/agents/memory.md +42 -0
  16. package/plugins/ima-claude/agents/reviewer.md +53 -0
  17. package/plugins/ima-claude/agents/tester.md +33 -0
  18. package/plugins/ima-claude/agents/wp-developer.md +46 -0
  19. package/plugins/ima-claude/hooks/README.md +145 -0
  20. package/plugins/ima-claude/hooks/atlassian_prereqs.py +112 -0
  21. package/plugins/ima-claude/hooks/block_sed_edits.py +59 -0
  22. package/plugins/ima-claude/hooks/bootstrap.sh +90 -0
  23. package/plugins/ima-claude/hooks/bootstrap_utility_check.py +94 -0
  24. package/plugins/ima-claude/hooks/composer_autoload_check.py +70 -0
  25. package/plugins/ima-claude/hooks/docs_organization.py +104 -0
  26. package/plugins/ima-claude/hooks/enforce_rg_over_grep.py +56 -0
  27. package/plugins/ima-claude/hooks/fp_utility_check.py +90 -0
  28. package/plugins/ima-claude/hooks/hook_logger.py +69 -0
  29. package/plugins/ima-claude/hooks/hooks.json +239 -0
  30. package/plugins/ima-claude/hooks/jira_issue_fetch.py +79 -0
  31. package/plugins/ima-claude/hooks/jquery_in_wordpress.py +92 -0
  32. package/plugins/ima-claude/hooks/memory_bootstrap.py +79 -0
  33. package/plugins/ima-claude/hooks/memory_store_reminder.py +75 -0
  34. package/plugins/ima-claude/hooks/prompt_coach.py +125 -0
  35. package/plugins/ima-claude/hooks/prompt_coach_digest.md +48 -0
  36. package/plugins/ima-claude/hooks/prompt_coach_system.md +30 -0
  37. package/plugins/ima-claude/hooks/sequential_thinking_check.py +81 -0
  38. package/plugins/ima-claude/hooks/serena_over_grep.py +96 -0
  39. package/plugins/ima-claude/hooks/serena_over_read.py +66 -0
  40. package/plugins/ima-claude/hooks/serena_project_check.py +133 -0
  41. package/plugins/ima-claude/hooks/sql_injection_check.py +73 -0
  42. package/plugins/ima-claude/hooks/task_master_after_plan.py +31 -0
  43. package/plugins/ima-claude/hooks/task_master_before_impl.py +93 -0
  44. package/plugins/ima-claude/hooks/tavily_extract_advanced.py +48 -0
  45. package/plugins/ima-claude/hooks/vestige_before_external.py +86 -0
  46. package/plugins/ima-claude/hooks/webfetch_to_tavily.py +42 -0
  47. package/plugins/ima-claude/hooks/websearch_to_tavily.py +41 -0
  48. package/plugins/ima-claude/hooks/wp_security_check.py +150 -0
  49. package/plugins/ima-claude/personalities/README.md +45 -0
  50. package/plugins/ima-claude/personalities/enable-40k.md +69 -0
  51. package/plugins/ima-claude/personalities/enable-templars.md +69 -0
  52. package/plugins/ima-claude/skills/.research-summary.md +340 -0
  53. package/plugins/ima-claude/skills/architect/SKILL.md +304 -0
  54. package/plugins/ima-claude/skills/compound-bridge/SKILL.md +200 -0
  55. package/plugins/ima-claude/skills/discourse/SKILL.md +440 -0
  56. package/plugins/ima-claude/skills/discourse-admin/SKILL.md +192 -0
  57. package/plugins/ima-claude/skills/discourse-admin/references/api-endpoints.md +441 -0
  58. package/plugins/ima-claude/skills/discourse-admin/references/gotchas.md +107 -0
  59. package/plugins/ima-claude/skills/discourse-admin/references/staging-defaults.md +98 -0
  60. package/plugins/ima-claude/skills/discourse-admin/scripts/discourse-admin.py +319 -0
  61. package/plugins/ima-claude/skills/docs-organize/SKILL.md +254 -0
  62. package/plugins/ima-claude/skills/docs-organize/templates/active-README.md +50 -0
  63. package/plugins/ima-claude/skills/docs-organize/templates/archive-README.md +57 -0
  64. package/plugins/ima-claude/skills/docs-organize/templates/docs-README.md +43 -0
  65. package/plugins/ima-claude/skills/docs-organize/templates/phase-archive-README.md +83 -0
  66. package/plugins/ima-claude/skills/docs-organize/templates/section-README.md +48 -0
  67. package/plugins/ima-claude/skills/docs-organize/templates/transient-README.md +79 -0
  68. package/plugins/ima-claude/skills/docs-organize/templates/transient-gitignore +9 -0
  69. package/plugins/ima-claude/skills/ember-discourse/SKILL.md +496 -0
  70. package/plugins/ima-claude/skills/functional-programmer/SKILL.md +258 -0
  71. package/plugins/ima-claude/skills/ima-bootstrap/SKILL.md +278 -0
  72. package/plugins/ima-claude/skills/ima-bootstrap/references/bootstrap-patterns.md +356 -0
  73. package/plugins/ima-claude/skills/ima-bootstrap/references/ima-brand.md +273 -0
  74. package/plugins/ima-claude/skills/ima-bootstrap/references/theme-integration.md +212 -0
  75. package/plugins/ima-claude/skills/ima-brand/SKILL.md +108 -0
  76. package/plugins/ima-claude/skills/ima-brand/references/brand-identity.md +140 -0
  77. package/plugins/ima-claude/skills/ima-brand/references/digital-standards.md +180 -0
  78. package/plugins/ima-claude/skills/ima-brand/references/visual-system.md +173 -0
  79. package/plugins/ima-claude/skills/ima-forms-expert/SKILL.md +175 -0
  80. package/plugins/ima-claude/skills/ima-forms-expert/references/container-components.md +154 -0
  81. package/plugins/ima-claude/skills/ima-forms-expert/references/examples.md +328 -0
  82. package/plugins/ima-claude/skills/ima-forms-expert/references/field-components.md +298 -0
  83. package/plugins/ima-claude/skills/ima-forms-expert/references/form-factory.md +193 -0
  84. package/plugins/ima-claude/skills/ima-forms-expert/references/quick-reference.md +153 -0
  85. package/plugins/ima-claude/skills/ima-forms-expert/references/validation-engine.md +336 -0
  86. package/plugins/ima-claude/skills/jira-checkpoint/SKILL.md +178 -0
  87. package/plugins/ima-claude/skills/jquery/SKILL.md +413 -0
  88. package/plugins/ima-claude/skills/js-fp/SKILL.md +463 -0
  89. package/plugins/ima-claude/skills/js-fp/core-principles.md +487 -0
  90. package/plugins/ima-claude/skills/js-fp/examples/pure-functions.js +260 -0
  91. package/plugins/ima-claude/skills/js-fp/examples/tests/pure-functions.test.js +262 -0
  92. package/plugins/ima-claude/skills/js-fp/references/anti-patterns.md +120 -0
  93. package/plugins/ima-claude/skills/js-fp/references/performance-patterns.md +116 -0
  94. package/plugins/ima-claude/skills/js-fp/references/testing-patterns.md +134 -0
  95. package/plugins/ima-claude/skills/js-fp-api/SKILL.md +280 -0
  96. package/plugins/ima-claude/skills/js-fp-api/examples/crud-endpoint.js +258 -0
  97. package/plugins/ima-claude/skills/js-fp-api/references/middleware-patterns.md +134 -0
  98. package/plugins/ima-claude/skills/js-fp-api/references/security-sql.md +110 -0
  99. package/plugins/ima-claude/skills/js-fp-api/references/validation-patterns.md +165 -0
  100. package/plugins/ima-claude/skills/js-fp-react/SKILL.md +447 -0
  101. package/plugins/ima-claude/skills/js-fp-react/examples/ProductCard.tsx +65 -0
  102. package/plugins/ima-claude/skills/js-fp-react/references/hooks-advanced.md +136 -0
  103. package/plugins/ima-claude/skills/js-fp-react/references/performance-patterns.md +175 -0
  104. package/plugins/ima-claude/skills/js-fp-vue/SKILL.md +322 -0
  105. package/plugins/ima-claude/skills/js-fp-vue/references/complete-examples.md +397 -0
  106. package/plugins/ima-claude/skills/js-fp-vue/references/composables-advanced.md +282 -0
  107. package/plugins/ima-claude/skills/js-fp-vue/references/reactivity-patterns.md +348 -0
  108. package/plugins/ima-claude/skills/js-fp-vue/references/testing.md +314 -0
  109. package/plugins/ima-claude/skills/js-fp-wordpress/SKILL.md +301 -0
  110. package/plugins/ima-claude/skills/js-fp-wordpress/references/ajax-patterns.md +192 -0
  111. package/plugins/ima-claude/skills/js-fp-wordpress/references/event-patterns.md +136 -0
  112. package/plugins/ima-claude/skills/js-fp-wordpress/references/wp-integration.md +248 -0
  113. package/plugins/ima-claude/skills/livecanvas/SKILL.md +209 -0
  114. package/plugins/ima-claude/skills/livecanvas/references/livecanvas-features.md +311 -0
  115. package/plugins/ima-claude/skills/livecanvas/references/loops-and-logic.md +730 -0
  116. package/plugins/ima-claude/skills/livecanvas/references/picostrap.md +227 -0
  117. package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +339 -0
  118. package/plugins/ima-claude/skills/mcp-context7/SKILL.md +109 -0
  119. package/plugins/ima-claude/skills/mcp-memory/SKILL.md +182 -0
  120. package/plugins/ima-claude/skills/mcp-qdrant/SKILL.md +233 -0
  121. package/plugins/ima-claude/skills/mcp-sequential/SKILL.md +149 -0
  122. package/plugins/ima-claude/skills/mcp-serena/SKILL.md +174 -0
  123. package/plugins/ima-claude/skills/mcp-tavily/SKILL.md +118 -0
  124. package/plugins/ima-claude/skills/mcp-vestige/SKILL.md +259 -0
  125. package/plugins/ima-claude/skills/php-authnet/SKILL.md +275 -0
  126. package/plugins/ima-claude/skills/php-authnet/references/api-reference.md +624 -0
  127. package/plugins/ima-claude/skills/php-authnet/references/sandbox-testing.md +424 -0
  128. package/plugins/ima-claude/skills/php-fp/SKILL.md +333 -0
  129. package/plugins/ima-claude/skills/php-fp/examples/pure-functions.php +403 -0
  130. package/plugins/ima-claude/skills/php-fp/examples/tests/PureFunctionsTest.php +515 -0
  131. package/plugins/ima-claude/skills/php-fp/references/core-principles.md +277 -0
  132. package/plugins/ima-claude/skills/php-fp/references/testing-patterns.md +374 -0
  133. package/plugins/ima-claude/skills/php-fp-wordpress/SKILL.md +216 -0
  134. package/plugins/ima-claude/skills/php-fp-wordpress/references/fp-patterns.md +275 -0
  135. package/plugins/ima-claude/skills/php-fp-wordpress/references/plugin-architecture.md +295 -0
  136. package/plugins/ima-claude/skills/php-fp-wordpress/references/security-examples.md +203 -0
  137. package/plugins/ima-claude/skills/php-fp-wordpress/references/testing-strategy.md +259 -0
  138. package/plugins/ima-claude/skills/phpunit-wp/SKILL.md +716 -0
  139. package/plugins/ima-claude/skills/playwright/SKILL.md +434 -0
  140. package/plugins/ima-claude/skills/playwright/references/accessibility-testing.md +153 -0
  141. package/plugins/ima-claude/skills/playwright/references/ci-cd.md +268 -0
  142. package/plugins/ima-claude/skills/playwright/references/network-mocking.md +270 -0
  143. package/plugins/ima-claude/skills/playwright/references/visual-regression.md +215 -0
  144. package/plugins/ima-claude/skills/py-fp/SKILL.md +663 -0
  145. package/plugins/ima-claude/skills/py-fp/examples/pure-functions.py +185 -0
  146. package/plugins/ima-claude/skills/py-fp/examples/tests/test_pure_functions.py +244 -0
  147. package/plugins/ima-claude/skills/py-fp/references/core-principles.md +381 -0
  148. package/plugins/ima-claude/skills/py-fp/references/testing-patterns.md +283 -0
  149. package/plugins/ima-claude/skills/quasar-fp/SKILL.md +327 -0
  150. package/plugins/ima-claude/skills/quasar-fp/metadata.json +85 -0
  151. package/plugins/ima-claude/skills/quasar-fp/references/component-patterns.md +257 -0
  152. package/plugins/ima-claude/skills/quasar-fp/references/theme-integration.md +233 -0
  153. package/plugins/ima-claude/skills/quasar-fp/references/utility-classes.md +237 -0
  154. package/plugins/ima-claude/skills/quickstart/SKILL.md +129 -0
  155. package/plugins/ima-claude/skills/rails/SKILL.md +359 -0
  156. package/plugins/ima-claude/skills/resume-session/SKILL.md +68 -0
  157. package/plugins/ima-claude/skills/rg/SKILL.md +205 -0
  158. package/plugins/ima-claude/skills/ruby-fp/SKILL.md +336 -0
  159. package/plugins/ima-claude/skills/save-session/SKILL.md +81 -0
  160. package/plugins/ima-claude/skills/scorecard/SKILL.md +96 -0
  161. package/plugins/ima-claude/skills/skill-analyzer/SKILL.md +127 -0
  162. package/plugins/ima-claude/skills/skill-analyzer/references/advanced-checklist.md +44 -0
  163. package/plugins/ima-claude/skills/skill-analyzer/references/core-checklist.md +60 -0
  164. package/plugins/ima-claude/skills/skill-analyzer/scripts/analyze_skill.py +418 -0
  165. package/plugins/ima-claude/skills/skill-creator/LICENSE.txt +202 -0
  166. package/plugins/ima-claude/skills/skill-creator/SKILL.md +343 -0
  167. package/plugins/ima-claude/skills/skill-creator/references/output-patterns.md +82 -0
  168. package/plugins/ima-claude/skills/skill-creator/references/workflows.md +28 -0
  169. package/plugins/ima-claude/skills/skill-creator/scripts/init_skill.py +303 -0
  170. package/plugins/ima-claude/skills/skill-creator/scripts/package_skill.py +110 -0
  171. package/plugins/ima-claude/skills/skill-creator/scripts/quick_validate.py +103 -0
  172. package/plugins/ima-claude/skills/task-master/SKILL.md +51 -0
  173. package/plugins/ima-claude/skills/task-planner/SKILL.md +228 -0
  174. package/plugins/ima-claude/skills/task-runner/SKILL.md +192 -0
  175. package/plugins/ima-claude/skills/unit-testing/SKILL.md +198 -0
  176. package/plugins/ima-claude/skills/unit-testing/references/mock-patterns.md +181 -0
  177. package/plugins/ima-claude/skills/unit-testing/references/tdd-workflow.md +177 -0
  178. package/plugins/ima-claude/skills/unit-testing/references/test-strategy.md +126 -0
  179. package/plugins/ima-claude/skills/wp-local/SKILL.md +246 -0
  180. package/plugins/ima-claude/skills/wp-local/references/configuration.md +198 -0
  181. package/plugins/ima-claude/skills/wp-local/references/wp-cli-reference.md +406 -0
  182. package/plugins/ima-claude/skills/wp-local/scripts/wp-local.sh +61 -0
@@ -0,0 +1,212 @@
1
+ # Theme Integration Reference
2
+
3
+ How IMA brand integrates with Bootstrap 5.3 via the Picostrap5 child theme.
4
+
5
+ ---
6
+
7
+ ## SCSS Pipeline
8
+
9
+ The compilation order is critical — variables must be set before Bootstrap reads them.
10
+
11
+ ```
12
+ main.scss
13
+ ├── _bootstrap-loader.scss ← Bootstrap import chain
14
+ │ ├── bootstrap5/functions ← 1. Bootstrap functions
15
+ │ ├── ninjabootstrap/variables ← 2. Picostrap parent theme vars
16
+ │ ├── _theme_variables.scss ← 3. OUR OVERRIDES (loads IMA brand)
17
+ │ │ └── @import ima-brand/sass/brand ← IMA colors, typography, spacing
18
+ │ ├── bootstrap5/variables ← 4. Bootstrap defaults (our values take precedence)
19
+ │ ├── bootstrap5/variables-dark ← 5. Dark mode variables
20
+ │ ├── bootstrap5/maps ← 6. Sass maps
21
+ │ ├── bootstrap5/mixins ← 7. Mixins
22
+ │ ├── bootstrap5/root ← 8. CSS custom properties
23
+ │ ├── bootstrap5/utilities ← 9. Utility definitions
24
+ │ ├── [all Bootstrap components] ← 10. Component styles
25
+ │ ├── ninjabootstrap/* ← 11. Picostrap extensions
26
+ │ └── bootstrap5/utilities/api ← 12. Generates utility classes
27
+ ├── _wp_basic_styles.scss ← WordPress basics
28
+ ├── _picostrap.scss ← Parent theme styles
29
+ ├── _woocommerce.scss ← WooCommerce styles
30
+ └── _custom.scss ← OUR CUSTOM STYLES (last = highest priority)
31
+ ├── plugins/ima-login/sass/login
32
+ ├── plugins/ima-forms/sass/ima-forms
33
+ ├── base/global-base
34
+ ├── base/header
35
+ ├── components/site-components
36
+ ├── components/forms
37
+ ├── components/badges
38
+ └── pages/* ← Page-specific styles
39
+ ```
40
+
41
+ ## Key Insight: Variable Override Strategy
42
+
43
+ **`_theme_variables.scss`** loads _before_ Bootstrap's variables file. Since Bootstrap uses `!default`, our values take precedence:
44
+
45
+ ```scss
46
+ // In _theme_variables.scss (loaded BEFORE Bootstrap)
47
+ $primary: $ima-brand-primary !default; // #040C53
48
+
49
+ // In bootstrap5/_variables.scss (loaded AFTER)
50
+ $primary: $blue !default; // This is IGNORED because $primary already exists
51
+ ```
52
+
53
+ This means **every Bootstrap component automatically uses IMA brand values** without any custom CSS.
54
+
55
+ ## What _theme_variables.scss Overrides
56
+
57
+ ### Theme Colors
58
+ ```scss
59
+ $primary: $ima-brand-primary; // #040C53 Trustworthy Indigo
60
+ $secondary: $ima-brand-secondary; // #0296A1 Aquatic Pulse
61
+ $success: $ima-color-success; // #28A745
62
+ $warning: $ima-brand-gold; // #FFCC00 Vital Gold
63
+ $danger: $ima-brand-red; // #DD153B Red Ribbon
64
+ $info: $ima-brand-teal-accessible; // #007BB4 WCAG teal
65
+ $light: $ima-brand-gray-light; // #F2F3F5 Clarity Wash
66
+ $dark: $ima-brand-primary; // #040C53
67
+ ```
68
+
69
+ ### Typography
70
+ ```scss
71
+ $font-family-base: $ima-font-family-secondary; // Proxima Nova/Open Sans
72
+ $headings-font-family: $ima-font-family-primary; // Lato
73
+ $headings-font-weight: $ima-font-weight-bold; // 700
74
+ $headings-color: $ima-brand-primary; // #040C53
75
+ $body-color: $ima-brand-black; // #000000
76
+ $font-size-base: $ima-font-size-sm; // 1rem (16px)
77
+ $h1-font-size: $ima-font-size-xxl; // 40px
78
+ $h2-font-size: $ima-font-size-xl; // 32px
79
+ $h3-font-size: $ima-font-size-lg; // 28px
80
+ $h4-font-size: $ima-font-size-md; // 20px
81
+ $h5-font-size: $ima-font-size-base; // 18px
82
+ ```
83
+
84
+ ### Links
85
+ ```scss
86
+ $link-color: $ima-brand-secondary; // #0296A1 teal
87
+ $link-hover-color: $ima-brand-accent-teal; // #00B8B8 brighter
88
+ $link-decoration: none;
89
+ $link-hover-decoration: underline;
90
+ ```
91
+
92
+ ### Buttons
93
+ ```scss
94
+ $btn-padding-y: $ima-button-padding-y; // 20px
95
+ $btn-padding-x: $ima-button-padding-x; // 40px
96
+ $btn-font-size: $ima-button-font-size; // 18px
97
+ $btn-font-weight: $ima-button-font-weight; // Bold
98
+ $btn-font-family: $ima-button-font; // Lato
99
+ $btn-border-radius: $ima-border-radius-md; // 10px
100
+ $btn-border-radius-lg: $ima-border-radius-xl; // 20px
101
+ $btn-border-radius-sm: $ima-border-radius-sm; // 5px
102
+ $btn-box-shadow: none;
103
+ $btn-active-box-shadow: none;
104
+ ```
105
+
106
+ ### Forms
107
+ ```scss
108
+ $input-border-color: $ima-brand-gray; // #919396
109
+ $input-border-radius: $ima-form-field-border-radius; // 15px
110
+ $input-padding-y: $ima-spacing-3; // 16px
111
+ $input-padding-x: $ima-spacing-3; // 16px
112
+ $input-focus-border-color: $ima-brand-secondary; // #0296A1 teal
113
+ $form-label-color: $ima-form-label-color; // #919396
114
+ $form-label-font-size: $ima-form-label-size; // 14px
115
+ ```
116
+
117
+ ### Cards
118
+ ```scss
119
+ $card-border-radius: $ima-border-radius-md; // 10px
120
+ $card-box-shadow: $ima-card-shadow; // none
121
+ $card-spacer-y: $ima-spacing-4; // 24px
122
+ $card-spacer-x: $ima-spacing-4; // 24px
123
+ ```
124
+
125
+ ### Navbar
126
+ ```scss
127
+ $navbar-light-color: $ima-brand-primary; // Dark blue links
128
+ $navbar-light-hover-color: $ima-brand-secondary; // Teal on hover
129
+ $navbar-light-active-color: $ima-brand-accent-teal; // Bright teal active
130
+ ```
131
+
132
+ ### Global
133
+ ```scss
134
+ $border-radius: $ima-border-radius-md; // 10px
135
+ $border-radius-sm: $ima-border-radius-sm; // 5px
136
+ $border-radius-lg: $ima-border-radius-lg; // 15px
137
+ $border-color: $ima-brand-gray-light;
138
+ $badge-border-radius: $ima-badge-border-radius; // 5px
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Picostrap Extensions (ninjabootstrap)
144
+
145
+ The theme includes Picostrap's extended Bootstrap utilities:
146
+ - `ninjabootstrap/positioning` — Extra positioning utilities
147
+ - `ninjabootstrap/sizing` — Extended sizing classes
148
+ - `ninjabootstrap/letter-spacing` — Letter spacing utilities
149
+ - `ninjabootstrap/borders` — Extra border utilities
150
+ - `ninjabootstrap/tailwind_grays` — Tailwind-style gray palette
151
+ - `ninjabootstrap/theme_colors_shades` — Shade variants for theme colors
152
+
153
+ ---
154
+
155
+ ## _custom.scss Structure
156
+
157
+ The custom styles file uses a modular import structure:
158
+
159
+ ```scss
160
+ // Plugin styles
161
+ @import "plugins/ima-login/sass/login"; // Login page styles
162
+ @import "plugins/ima-forms/sass/ima-forms"; // IMA Forms library
163
+
164
+ // Base
165
+ @import "base/global-base"; // Global typography, links
166
+ @import "base/header"; // Site header
167
+
168
+ // Components
169
+ @import "components/site-components"; // Reusable components
170
+ @import "components/forms"; // Form overrides
171
+ @import "components/badges"; // Badge styles
172
+
173
+ // Pages
174
+ @import "pages/activation-page";
175
+ @import "pages/listing-single";
176
+ @import "pages/directory-layout";
177
+ @import "pages/listing-cards";
178
+ @import "pages/my-account";
179
+ ```
180
+
181
+ ---
182
+
183
+ ## Where to Add New Styles
184
+
185
+ | Type | Location |
186
+ |------|----------|
187
+ | Bootstrap variable override | `_theme_variables.scss` |
188
+ | New IMA brand variable | `ima-brand/sass/_variables.scss` |
189
+ | New IMA mixin | `ima-brand/sass/_typography.scss` or `_spacing.scss` |
190
+ | Global base styles | `sass/base/global-base.scss` |
191
+ | Reusable component | `sass/components/` (new file + import in _custom.scss) |
192
+ | Page-specific styles | `sass/pages/` (new file + import in _custom.scss) |
193
+ | Plugin styles | Import from plugin's sass directory in _custom.scss |
194
+
195
+ ## How to Recompile
196
+
197
+ After SCSS changes: **Appearance > Customize > "RECOMPILE SASS"** in WordPress admin.
198
+
199
+ ---
200
+
201
+ ## Legacy Migration Reference
202
+
203
+ | Old FLCCC Variable | New IMA Variable |
204
+ |---------------------|------------------|
205
+ | `$flccc-blue-dark` (#040C53) | `$ima-brand-primary` (exact match) |
206
+ | `$flccc-blue` (#89CEDB) | `$ima-brand-sky` (#A2CFF0) |
207
+ | `$flccc-blue-darker` (#496978) | `$ima-brand-secondary` (#0296A1) |
208
+ | `$flccc-red` (#C90000) | `$ima-brand-red` (#DD153B) |
209
+ | `$flccc-grey` (#707070) | `$ima-brand-gray` (#919396) |
210
+ | `$flccc-grey-light` (#EDEDED) | `$ima-brand-gray-light` (#F2F3F5) |
211
+ | Montserrat | `$ima-font-family-primary` (Lato) |
212
+ | Open Sans | `$ima-font-family-secondary` (Proxima Nova/Open Sans) |
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: ima-brand
3
+ description: >-
4
+ IMA Brand Book v4.0 knowledge — identity, voice, logo rules, content guidelines,
5
+ audience profiles, and visual standards. Use when: writing IMA content, choosing brand voice/tone,
6
+ applying logo usage rules, selecting brand colors for design decisions, creating social media
7
+ content, drafting medical disclaimers, or reviewing brand compliance. Triggers on: IMA brand,
8
+ brand guidelines, brand voice, logo usage, brand colors, content tone, social media guidelines,
9
+ medical disclaimer, brand identity, IMA imagery, brand values, brand persona, IMA mission,
10
+ IMA audience. For CSS/SCSS implementation, see ima-bootstrap skill instead.
11
+ ---
12
+
13
+ # IMA Brand Guidelines
14
+
15
+ Brand Book v4.0 (September 2025) — Independent Medical Alliance.
16
+
17
+ ## Core Principle
18
+
19
+ **Brand consistency builds trust in healthcare communication.**
20
+
21
+ Every piece of content, every design decision, every communication should reinforce IMA's position as a trustworthy, patient-centric medical alliance.
22
+
23
+ ## Decision Tree
24
+
25
+ ```
26
+ What type of brand question?
27
+ ├── Identity (who we are, mission, values)
28
+ │ → references/brand-identity.md
29
+ ├── Audience (who we're talking to, messaging)
30
+ │ → references/brand-identity.md
31
+ ├── Voice & Tone (how we sound, copywriting)
32
+ │ → references/brand-identity.md
33
+ ├── Colors (palette, usage, accessibility)
34
+ │ → references/visual-system.md
35
+ ├── Typography (fonts, hierarchy, weights)
36
+ │ → references/visual-system.md
37
+ ├── Logo (usage rules, lockups, clear space)
38
+ │ → references/visual-system.md
39
+ ├── Imagery (photography, iconography style)
40
+ │ → references/visual-system.md
41
+ ├── Social Media (platforms, sizes, content)
42
+ │ → references/digital-standards.md
43
+ ├── Legal (disclaimers, copyright, compliance)
44
+ │ → references/digital-standards.md
45
+ ├── Accessibility (WCAG, contrast ratios)
46
+ │ → references/digital-standards.md
47
+ └── CSS/SCSS implementation?
48
+ → Use ima-bootstrap skill instead
49
+ ```
50
+
51
+ ## Quick Reference: Color Palette
52
+
53
+ | Name | Hex | Usage |
54
+ |------|-----|-------|
55
+ | Trustworthy Indigo | `#00066F` | Primary brand, headers, trust |
56
+ | Aquatic Pulse | `#00B8B8` | CTAs, buttons, links |
57
+ | Accessible Teal | `#007BB4` | Hover states, WCAG compliance |
58
+ | Guidance Sky | `#A2CFF0` | Light accents, backgrounds |
59
+ | Vital Gold | `#FFCC00` | Warnings, attention |
60
+ | Red Ribbon | `#DD153B` | Urgency, errors |
61
+ | Plum Velvet | `#7B024D` | Accent, distinction |
62
+ | Calm Stone | `#919396` | Secondary text, labels |
63
+ | Clarity Wash | `#F2F3F5` | Backgrounds, cards |
64
+ | Accessible Teal | `#007BB4` | High-contrast alternative |
65
+ | Brand Gradient | `150deg, #00066F → #00B8B8` | Hero sections, overlays |
66
+
67
+ ## Quick Reference: Typography
68
+
69
+ | Element | Font | Weight | Size |
70
+ |---------|------|--------|------|
71
+ | Page headers | Lato | Bold/Black | 40px |
72
+ | Section headers | Lato | Bold | 20px |
73
+ | Body text | Proxima Nova / Open Sans | Regular | 16px |
74
+ | Buttons | Lato | Bold | 18px, uppercase |
75
+ | Form labels | Open Sans | Regular | 14px |
76
+
77
+ ## Quick Reference: Voice & Tone
78
+
79
+ | Context | Tone | Example |
80
+ |---------|------|---------|
81
+ | Website / General | Professional + Friendly | "We're here to support your health journey" |
82
+ | Medical content | Professional + Informative | "Research suggests..." with citations |
83
+ | Social media | Friendly + Inspirational | "Join thousands who've found better health" |
84
+ | Crisis / Urgent | Supportive + Professional | "If you're experiencing..." with clear next steps |
85
+ | Newsletters | Friendly + Supportive | "Here's what we've been working on for you" |
86
+ | Fundraising | Inspirational + Supportive | "Your support makes independent research possible" |
87
+
88
+ ## Anti-Patterns
89
+
90
+ | BAD | GOOD | Why |
91
+ |-----|------|-----|
92
+ | "FLCCC" in new content | "IMA" or "Independent Medical Alliance" | Rebranded; FLCCC is legacy |
93
+ | Stretching or recoloring the logo | Use approved lockup variants | Brand integrity |
94
+ | Logo on busy/patterned backgrounds | White, light, dark, or gradient bg only | Readability |
95
+ | Logo below 200px width | Minimum 200px, use IMA lettermark for small sizes | Legibility |
96
+ | Jargon-heavy copy without explanation | Plain language with medical terms defined | Patient accessibility |
97
+ | Fear-based messaging | Solution-oriented, empowering language | Brand persona |
98
+ | Missing medical disclaimer on health content | Include standard disclaimer | Legal compliance |
99
+ | Inconsistent tone across channels | Match tone to context (see Voice table) | Brand consistency |
100
+ | Using non-brand colors for key elements | Brand palette only for primary UI | Visual consistency |
101
+
102
+ ## Cross-References
103
+
104
+ - **CSS/SCSS implementation** (variables, mixins, components): `ima-bootstrap` skill
105
+ - **SCSS source files**: `~/IMA/dev/ima-brand/sass/` (ima-brand plugin repo)
106
+ - **Brand identity deep dive**: [references/brand-identity.md](references/brand-identity.md)
107
+ - **Visual system details**: [references/visual-system.md](references/visual-system.md)
108
+ - **Digital & legal standards**: [references/digital-standards.md](references/digital-standards.md)
@@ -0,0 +1,140 @@
1
+ # IMA Brand Identity
2
+
3
+ Source: IMA Brand Book v4.0, pages 4-10.
4
+
5
+ ---
6
+
7
+ ## About IMA
8
+
9
+ - **Full name**: Independent Medical Alliance
10
+ - **Formerly**: FLCCC Alliance (rebranded)
11
+ - **Founded**: March 2020
12
+ - **Type**: 501(c)(3) nonprofit organization
13
+ - **Mission**: Empower patients, healthcare providers, and researchers through independent, evidence-based medical knowledge and resources
14
+ - **Vision**: A world where every individual has access to trustworthy, independent medical guidance
15
+ - **Core purpose**: Equip the global community with knowledge and tools for informed healthcare decisions
16
+
17
+ **Key messaging**: IMA provides independent medical resources — not affiliated with pharmaceutical companies or government entities. This independence is the foundation of trustworthiness.
18
+
19
+ ---
20
+
21
+ ## Brand Values
22
+
23
+ Seven core values guide all communications:
24
+
25
+ | Value | Meaning | Content Application |
26
+ |-------|---------|---------------------|
27
+ | **Integrity** | Honest, transparent communication | Never overstate claims, cite sources, acknowledge limitations |
28
+ | **Patient-Centric** | Patients' wellbeing comes first | Lead with patient benefit, use accessible language |
29
+ | **Scientific Rigor** | Evidence-based, peer-reviewed | Reference studies, use precise medical terminology (with definitions) |
30
+ | **Collaboration & Respect** | Work together across disciplines | Inclusive language, acknowledge diverse perspectives |
31
+ | **Innovative Solutions** | Forward-thinking healthcare | Highlight novel approaches while grounding in evidence |
32
+ | **Community & Support** | Build and nurture our community | Welcoming tone, encourage participation and sharing |
33
+ | **Impartiality** | Independent from industry influence | Never endorse specific products, maintain neutral analysis |
34
+
35
+ ---
36
+
37
+ ## Target Audience
38
+
39
+ ### Primary Segments
40
+
41
+ | Segment | Needs | Messaging Focus |
42
+ |---------|-------|-----------------|
43
+ | **Healthcare professionals** | Evidence-based protocols, clinical tools | Clinical data, peer-reviewed research, practical protocols |
44
+ | **Researchers** | Data, methodology, collaboration | Scientific rigor, research findings, academic partnerships |
45
+ | **Patients & caregivers** | Understandable health information | Plain language, actionable guidance, empowerment |
46
+ | **Policymakers** | Evidence for health policy decisions | Data-driven insights, population health impact |
47
+ | **Donors & supporters** | Impact of contributions | Mission impact stories, transparency, organizational progress |
48
+
49
+ ### Audience Profiles
50
+
51
+ **Consumer audience** (patients, caregivers, general public):
52
+ - Use plain language, define medical terms on first use
53
+ - Focus on practical, actionable information
54
+ - Empowering and supportive tone
55
+ - Lead with "what this means for you"
56
+
57
+ **Professional audience** (HCPs, researchers, policymakers):
58
+ - Technical language appropriate but still accessible
59
+ - Lead with evidence and data
60
+ - Include methodology and sources
61
+ - Professional, collegial tone
62
+
63
+ ---
64
+
65
+ ## Brand Persona
66
+
67
+ Five tones that blend depending on context. No single communication should be purely one tone.
68
+
69
+ ### Professional
70
+ - **When**: Medical content, research publications, healthcare provider communications
71
+ - **How**: Authoritative but approachable, evidence-backed statements, precise language
72
+ - **Example**: "Our protocols are developed through rigorous review of peer-reviewed literature and clinical experience."
73
+
74
+ ### Friendly
75
+ - **When**: Social media, newsletters, community engagement, general website
76
+ - **How**: Warm, approachable, conversational without being casual, inclusive
77
+ - **Example**: "We're glad you're here. Let's explore what works for your health."
78
+
79
+ ### Inspirational
80
+ - **When**: Fundraising, mission communications, impact stories, campaign launches
81
+ - **How**: Uplifting, forward-looking, emphasize collective impact and possibility
82
+ - **Example**: "Together, we're building a future where independent medical guidance is available to everyone."
83
+
84
+ ### Supportive
85
+ - **When**: Patient-facing content, crisis communications, community support
86
+ - **How**: Empathetic, reassuring, non-judgmental, focused on next steps
87
+ - **Example**: "You're not alone in this. Here are resources that may help."
88
+
89
+ ### Informative
90
+ - **When**: Educational content, FAQs, explainers, protocol summaries
91
+ - **How**: Clear, structured, factual, progressive (simple → complex)
92
+ - **Example**: "Vitamin D plays several roles in immune function. Here's what the research shows..."
93
+
94
+ ### Tone Blending by Channel
95
+
96
+ | Channel | Primary Tone | Secondary Tone |
97
+ |---------|-------------|----------------|
98
+ | Website (general) | Professional | Friendly |
99
+ | Medical protocols | Professional | Informative |
100
+ | Social media | Friendly | Inspirational |
101
+ | Newsletters | Friendly | Supportive |
102
+ | Fundraising | Inspirational | Supportive |
103
+ | Patient resources | Supportive | Informative |
104
+ | Press / media | Professional | Informative |
105
+ | Community forums | Friendly | Supportive |
106
+
107
+ ---
108
+
109
+ ## Copywriting Rules
110
+
111
+ ### Do
112
+
113
+ - **Clear and concise**: Short sentences, active voice, one idea per paragraph
114
+ - **Positive framing**: Focus on solutions, not just problems
115
+ - **Active voice**: "IMA researchers discovered..." not "It was discovered by..."
116
+ - **Consistent messaging**: Use approved terminology across all channels
117
+ - **Accessible language**: Define medical jargon, use reading level appropriate to audience
118
+ - **Call to action**: Every piece of content should guide the reader to a next step
119
+ - **Cite sources**: Reference studies, link to protocols, provide evidence
120
+
121
+ ### Don't
122
+
123
+ - **Overuse jargon**: Technical terms without explanation alienate patients
124
+ - **Exaggerate claims**: "Cure" vs "may help manage symptoms" — precision matters
125
+ - **Negative without solutions**: Don't just critique; offer alternatives
126
+ - **Overly formal**: Authoritative ≠ stiff — maintain warmth
127
+ - **Fear-based messaging**: Inform without alarming, empower without frightening
128
+ - **Make medical claims without evidence**: Every health statement needs backing
129
+ - **Use "FLCCC" in new content**: The organization has rebranded to IMA
130
+
131
+ ### Terminology Guide
132
+
133
+ | Avoid | Prefer | Why |
134
+ |-------|--------|-----|
135
+ | FLCCC | IMA / Independent Medical Alliance | Rebrand |
136
+ | "Cure" / "Treatment" (without context) | "Protocol" / "Approach" / "May help with" | Precision |
137
+ | "You should" (directive) | "You may consider" / "Research suggests" | Patient autonomy |
138
+ | "Alternative medicine" | "Integrative medicine" / "Complementary approaches" | Accurate framing |
139
+ | "Big Pharma" / loaded terms | Name specific organizations or use neutral terms | Credibility |
140
+ | "We believe" | "Evidence shows" / "Research indicates" | Evidence-based |
@@ -0,0 +1,180 @@
1
+ # IMA Digital Standards
2
+
3
+ Source: IMA Brand Book v4.0, pages 26-30.
4
+
5
+ For CSS/SCSS implementation details, see the `ima-bootstrap` skill.
6
+
7
+ ---
8
+
9
+ ## Digital Style Guide
10
+
11
+ ### Web Color Palette
12
+
13
+ Same brand colors as print, using hex values. Key digital-specific notes:
14
+
15
+ - **Background**: White (`#FFFFFF`) or Clarity Wash (`#F2F3F5`) for content areas
16
+ - **Text**: Gravel (`#494949`) for body, Trustworthy Indigo (`#00066F`) for headings
17
+ - **Links**: Aquatic Pulse (`#00B8B8`), hover → Accessible Teal (`#007BB4`)
18
+ - **Gradient**: Reserve for hero sections and premium elements, not for small UI
19
+
20
+ ### Typography Hierarchy (Digital)
21
+
22
+ | Element | Font | Size | Color | WCAG Ratio | Level |
23
+ |---------|------|------|-------|------------|-------|
24
+ | H1 | Lato Black | 40px | `#00066F` | 16.5:1 | AAA |
25
+ | H2 | Lato Bold | 32px | `#00B8B8` | 5.04:1 | AA |
26
+ | H3 | Lato Regular | 28px | `#DD153B` | 4.94:1 | AA |
27
+ | Body | Proxima Nova | 16px | `#494949` | 9:1 | AAA |
28
+
29
+ ### Button Specifications
30
+
31
+ | Type | Background | Text | Padding | Radius |
32
+ |------|-----------|------|---------|--------|
33
+ | Primary | `#00B8B8` | White | 20px / 40px | 10px |
34
+ | Primary (hover) | `#007BB4` | White | 20px / 40px | 10px |
35
+ | Primary wide | `#00B8B8` | White | 20px / 80px | 10px |
36
+ | Large/digital | `#00B8B8` | White | 20px / 40px | 20px |
37
+ | Outline | Transparent | `#00066F` | 20px / 40px | 10px |
38
+
39
+ ---
40
+
41
+ ## Accessibility (WCAG)
42
+
43
+ ### Contrast Ratios
44
+
45
+ | Combination | Ratio | Level | Pass |
46
+ |-------------|-------|-------|------|
47
+ | Indigo `#00066F` on White | 16.5:1 | AAA | Yes |
48
+ | Aquatic Pulse `#00B8B8` on White | 3.07:1 | — | Large text only |
49
+ | Red Ribbon `#DD153B` on White | 4.94:1 | AA | Yes |
50
+ | Body text `#494949` on White | 9:1 | AAA | Yes |
51
+ | Accessible Teal `#007BB4` on White | 4.58:1 | AA | Yes |
52
+
53
+ ### Accessibility Requirements
54
+
55
+ - **Color is not the only indicator**: Always pair color with text, icons, or patterns
56
+ - **Alt text**: All images must have descriptive alt text
57
+ - **Link text**: Descriptive links, not "click here" or "read more" alone
58
+ - **Focus states**: Visible focus indicators on all interactive elements
59
+ - **Font sizes**: Minimum 16px for body text, 14px for labels
60
+ - **Touch targets**: Minimum 44x44px for mobile interactive elements
61
+ - **High-contrast teal**: Use `#007BB4` when Aquatic Pulse (`#00B8B8`) doesn't meet contrast needs
62
+
63
+ ---
64
+
65
+ ## Social Media
66
+
67
+ ### Platforms
68
+
69
+ | Platform | Primary Content | Tone |
70
+ |----------|----------------|------|
71
+ | **Instagram** | Visual stories, infographics, community highlights | Friendly + Inspirational |
72
+ | **Facebook** | Articles, community engagement, events, fundraising | Friendly + Supportive |
73
+ | **X (Twitter)** | News, quick updates, engagement, threads | Professional + Friendly |
74
+ | **Telegram** | Community updates, direct communication | Supportive + Informative |
75
+
76
+ ### Image Sizes
77
+
78
+ | Platform | Format | Dimensions |
79
+ |----------|--------|------------|
80
+ | Instagram | Post (square) | 1080 x 1080px |
81
+ | Instagram | Story / Reel | 1080 x 1920px |
82
+ | Instagram | Carousel | 1080 x 1080px per slide |
83
+ | Facebook | Post | 1200 x 630px |
84
+ | Facebook | Cover | 820 x 312px |
85
+ | X (Twitter) | Post | 1200 x 675px |
86
+ | X (Twitter) | Header | 1500 x 500px |
87
+
88
+ ### Content Pillars
89
+
90
+ 1. **Educational**: Health information, protocol summaries, research findings
91
+ 2. **Community**: Patient stories, testimonials, support group highlights
92
+ 3. **Advocacy**: Policy updates, medical freedom, patient rights
93
+ 4. **Behind the scenes**: Team spotlights, research process, organizational updates
94
+ 5. **Engagement**: Polls, Q&A, community questions, awareness campaigns
95
+
96
+ ### Social Media Voice
97
+
98
+ - **Be human**: Conversational but professional, not robotic or corporate
99
+ - **Be responsive**: Engage with comments, answer questions, acknowledge feedback
100
+ - **Be visual**: Lead with compelling images/video, not just text
101
+ - **Be consistent**: Same brand voice across all platforms, adjusted for format
102
+ - **Be timely**: Post when audience is active, respond within 24 hours
103
+
104
+ ---
105
+
106
+ ## Content Guidelines
107
+
108
+ ### Copywriting & Formatting
109
+
110
+ - **Headlines**: Clear, benefit-focused, under 10 words
111
+ - **Paragraphs**: Short (2-3 sentences max for digital)
112
+ - **Lists**: Use bullets for 3+ items
113
+ - **Links**: Descriptive text, not URLs or "click here"
114
+ - **CTAs**: One primary CTA per page/post, action-oriented ("Learn More", "Join Us", "Donate")
115
+
116
+ ### User-Generated Content (UGC) Rules
117
+
118
+ - Always get written permission before reposting
119
+ - Credit the original creator
120
+ - Ensure content aligns with brand values
121
+ - Do not use UGC that makes unverified medical claims
122
+ - Moderate comments for harmful or misleading health information
123
+
124
+ ---
125
+
126
+ ## Legal & Compliance
127
+
128
+ ### Medical Disclaimer
129
+
130
+ The following disclaimer (or equivalent) must appear on all content containing health information:
131
+
132
+ > The information provided by the Independent Medical Alliance (IMA) is for educational and informational purposes only. It is not intended as a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of your physician or other qualified health provider with any questions you may have regarding a medical condition. Never disregard professional medical advice or delay in seeking it because of something you have read on this website or in our publications.
133
+
134
+ ### Where to Place Disclaimers
135
+
136
+ | Content Type | Disclaimer Placement |
137
+ |-------------|---------------------|
138
+ | Website pages (health content) | Footer of the page |
139
+ | Blog posts / articles | End of article, before comments |
140
+ | Social media | Bio/about section + link to full disclaimer |
141
+ | Email newsletters | Footer |
142
+ | Videos | Description/caption + end card |
143
+ | Downloadable resources | First or last page |
144
+
145
+ ### Copyright
146
+
147
+ - Standard format: `2020-{current year} Independent Medical Alliance. All rights reserved.`
148
+ - All original content is IMA property
149
+ - Proper attribution required when citing external sources
150
+
151
+ ### Sponsored Content Disclosure
152
+
153
+ - Clearly label all sponsored or partnership content
154
+ - Use "Sponsored", "Partner Content", or "In collaboration with [name]"
155
+ - Disclosure must be visible before user engages with content (not buried)
156
+ - Follow FTC guidelines for influencer/partner disclosures
157
+
158
+ ---
159
+
160
+ ## Approval Workflow
161
+
162
+ ### Content Creation Process
163
+
164
+ ```
165
+ 1. Create → Draft content following brand guidelines
166
+ 2. Review → Brand review for voice, tone, visual consistency
167
+ 3. Approve → Designated approver signs off
168
+ 4. Publish → Schedule/publish via approved tools
169
+ 5. Monitor → Track engagement, respond to comments
170
+ ```
171
+
172
+ ### Recommended Tools
173
+
174
+ | Function | Tool |
175
+ |----------|------|
176
+ | Social scheduling | Hootsuite, Buffer |
177
+ | Content calendar | Notion |
178
+ | Design | Canva (with brand kit), Figma |
179
+ | Analytics | Platform-native analytics |
180
+ | Project management | Jira (see mcp-atlassian skill) |