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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 IMA
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,463 @@
1
+ # ima-claude
2
+
3
+ FP patterns, architecture guidance, and team standards for AI coding agents.
4
+
5
+ **Supports Claude Code and Junie CLI** — with an extensible adapter architecture ready for more platforms.
6
+
7
+ Built by [Independent Medical Alliance](https://imahealth.org) (formerly FLCCC)
8
+
9
+ **Core Philosophy: `Simple > Complex | Evidence > Assumptions`**
10
+
11
+ > These skills are built for IMA's team context — but most of the patterns (FP principles, architecture guidance, hooks, MCP integration, memory system) are general enough to be useful to anyone. If you're building your own AI coding toolkit, this repo can serve as a reference for structure, conventions, and what's possible. Fork it, strip the IMA-specific skills, and build your own.
12
+
13
+ ## Install
14
+
15
+ ### Claude Code — Plugin System (Recommended)
16
+
17
+ Inside Claude Code, run:
18
+
19
+ ```
20
+ /plugin marketplace add https://github.com/Soabirw/ima-claude
21
+ /plugin install ima-claude
22
+ ```
23
+
24
+ Then **restart Claude Code** to load the plugin. Verify with:
25
+
26
+ ```
27
+ /quickstart
28
+ ```
29
+
30
+ Skills are namespaced (`/ima-claude:task-master`, `/ima-claude:quickstart`, etc.) and isolated from other plugins.
31
+
32
+ **Upgrade:**
33
+
34
+ ```
35
+ claude plugin marketplace update ima-claude
36
+ claude plugin update ima-claude
37
+ ```
38
+
39
+ Or use `/plugin` inside Claude Code to manage updates interactively via the **Installed** tab.
40
+
41
+ ### Junie CLI — Multi-Platform Installer
42
+
43
+ For Junie (or any non-plugin platform), use the interactive CLI installer:
44
+
45
+ ```bash
46
+ npx ima-claude install
47
+ ```
48
+
49
+ The installer auto-detects which platforms are available and walks you through installation:
50
+
51
+ 1. **Detects platforms** — scans for Claude Code (`~/.claude`) and Junie CLI (`~/.junie`)
52
+ 2. **Shows preview** — lists all skills, agents, and platform-specific items to install
53
+ 3. **Allows exclusions** — skip specific skills or agents you don't need
54
+ 4. **Installs with feedback** — step-by-step progress for each item
55
+
56
+ You can also target a specific platform directly:
57
+
58
+ ```bash
59
+ npx ima-claude install --target junie # Junie only
60
+ npx ima-claude install --target claude # Claude Code only (plugin recommended instead)
61
+ npx ima-claude detect # Show detected platforms
62
+ ```
63
+
64
+ **What's different for Junie?**
65
+
66
+ | | Claude Code | Junie CLI |
67
+ |---|---|---|
68
+ | **Skills** | Plugin system (auto) | Copied to `~/.junie/skills/` |
69
+ | **Agents** | Plugin system (auto) | Transformed (strips `permissionMode`) → `~/.junie/agents/` |
70
+ | **Hooks** | 23 Python hook scripts | No hook system — translated into behavioral guidelines |
71
+ | **Guidelines** | Plugin's `CLAUDE.md` injection | Generated `AGENTS.md` with persona, workflow, and hook-derived rules |
72
+
73
+ Junie doesn't support hooks, so the installer translates all 25 hook behaviors into persistent guidelines inside `AGENTS.md` — same enforcement, different mechanism.
74
+
75
+ ### Adding New Platforms
76
+
77
+ The installer uses an adapter pattern. Adding support for a new platform (e.g., GitHub Copilot) means creating one file implementing the `PlatformAdapter` interface:
78
+
79
+ ```
80
+ platforms/
81
+ ├── shared/types.ts # PlatformAdapter interface
82
+ ├── claude/adapter.ts # Claude Code adapter
83
+ └── junie/adapter.ts # Junie CLI adapter
84
+ ```
85
+
86
+ See [platforms/shared/types.ts](platforms/shared/types.ts) for the interface contract.
87
+
88
+ ---
89
+
90
+ ## What's Included
91
+
92
+ - **Multi-Platform Installer**: Interactive CLI with auto-detection, install preview, and per-item exclusion — supports Claude Code and Junie CLI, extensible adapter architecture for more
93
+ - **48 Skills**: Foundational + FP implementation + domain expert + integration + meta-skills
94
+ - **6 Named Agents**: Explorer (haiku), Implementer (sonnet), Reviewer (sonnet), Tester (sonnet), WP Developer (sonnet), Memory (sonnet) — enforced constraints
95
+ - **23 Hooks**: Automatic behavioral enforcement (security, memory, workflow, Serena, code quality) — translated to guidelines for platforms without hook support
96
+ - **Default Persona**: "The Practitioner" - 25-year veteran mindset, collaborative, plan-first
97
+ - **3-Tier Memory**: Vestige (neural decay) + Qdrant (permanent library) + Serena (project workbench)
98
+ - **IMA Workflow**: Brainstorm → Plan → Implement → Test → Review → Document (habit-driven, not tool-enforced)
99
+ - **Session Management**: MCP-based save/resume via Serena (no file path confusion)
100
+ - **Meta-skills**: Create and analyze skills
101
+ - **Personalities**: Fun themed response styles (40K, Templars)
102
+
103
+ ## Prerequisites
104
+
105
+ - [Claude Code](https://claude.ai/code) or [Junie CLI](https://www.jetbrains.com/help/idea/junie.html) installed
106
+
107
+ ## MCP Servers (Highly Recommended)
108
+
109
+ ima-claude includes helper skills for these MCP servers. Install any that fit your workflow:
110
+
111
+ ### Core MCP Servers
112
+
113
+ | MCP Server | Purpose | Setup |
114
+ |------------|---------|-------|
115
+ | **[Serena](https://github.com/oraios/serena)** | Code symbol operations, refactoring, session memory | JetBrains IDE + Serena plugin |
116
+ | **[Vestige](https://github.com/samvallad33/vestige)** | Cognitive memory engine (preferences, decisions, patterns) | Cargo or binary install |
117
+ | **[ima-qdrant-mcp-server](https://github.com/Soabirw/ima-qdrant-mcp-server)** | Permanent library (standards, PRDs, architecture, code samples) | [Docker](https://github.com/qdrant/qdrant) + Ollama + pip |
118
+ | **[Tavily](https://docs.tavily.com/documentation/mcp)** | Web research and current information | API key ([tavily.com](https://tavily.com)) |
119
+ | **[Context7](https://github.com/upstash/context7)** | Official library documentation lookup | npx |
120
+ | **[Sequential Thinking](https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking)** | Structured reasoning for complex problems | npx |
121
+
122
+ ### Optional MCP Servers
123
+
124
+ | MCP Server | Purpose | Setup |
125
+ |------------|---------|-------|
126
+ | **[Memory](https://github.com/modelcontextprotocol/servers/tree/main/src/memory)** | Basic knowledge graph memory (deprecated by Vestige) | npx |
127
+ | **Fetch** | Web page content extraction | uvx |
128
+ | **Chrome DevTools** | Browser debugging capabilities | npx |
129
+
130
+ > **Recommended minimum**: Serena + Vestige + Context7 + Tavily. These four cover code ops, memory, docs, and web research.
131
+
132
+ ### Marketplace Plugin (Optional)
133
+
134
+ | Plugin | Purpose | Install |
135
+ |--------|---------|---------|
136
+ | **[Compound Engineering](https://every.to/guides/compound-engineering)** | Structured workflows with 15 specialized review agents, brainstorm workflows, and research agents. | Claude Code marketplace |
137
+
138
+ > **Honorable mention**: Compound Engineering and [SuperClaude](https://github.com/SuperClaude-Org/SuperClaude_Framework) both inspired ima-claude's workflow thinking. They're excellent starting points if you don't have established workflows yet. ima-claude takes the same principles and specializes them for IMA's team context — habit-driven rather than tool-enforced.
139
+
140
+ The `compound-bridge` skill provides optional integration with Compound Engineering for teams that use both. **Only install Compound Engineering if your team actively uses it** — `compound-bridge` is a no-op without it.
141
+
142
+ ### Installation Commands
143
+
144
+ > **Tip**: Many of these are available directly in the Claude Code marketplace (`/marketplace` or Settings → Marketplace). The commands below are for manual/CLI installs.
145
+
146
+ ```bash
147
+ # Serena (requires JetBrains IDE running with Serena plugin)
148
+ # See: https://github.com/oraios/serena
149
+ claude mcp add --scope user serena -- uvx --from git+https://github.com/oraios/serena \
150
+ serena start-mcp-server --context=claude-code --language-backend JetBrains --project-from-cwd
151
+
152
+ # Vestige (cognitive memory)
153
+ cargo install vestige-mcp
154
+ claude mcp add --scope user vestige -- vestige-mcp
155
+
156
+ # Qdrant (document RAG) — uses ima-qdrant-mcp-server (NOT the official mcp-server-qdrant)
157
+ # See: https://github.com/Soabirw/ima-qdrant-mcp-server
158
+ docker run -d --restart unless-stopped --name qdrant -p 6333:6333 -v qdrant_storage:/qdrant/storage qdrant/qdrant:latest
159
+ ollama pull nomic-embed-text
160
+ pip install -e ~/dev/qdrant-mcp-server # or wherever you cloned it
161
+ claude mcp add --transport stdio --scope user qdrant-memory \
162
+ --env QDRANT_URL="http://localhost:6333" \
163
+ --env COLLECTION_NAME="ima-knowledge" \
164
+ -- qdrant-mcp
165
+
166
+ # Tavily (requires API key from https://tavily.com)
167
+ claude mcp add --scope user tavily -e TAVILY_API_KEY=your-key -- npx -y tavily-mcp@latest
168
+
169
+ # Context7
170
+ claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp@latest
171
+
172
+ # Sequential Thinking
173
+ claude mcp add --scope user sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking@latest
174
+
175
+ # Memory (basic knowledge graph — deprecated by Vestige)
176
+ claude mcp add --scope user memory -- npx -y @modelcontextprotocol/server-memory@latest
177
+
178
+ # Fetch
179
+ claude mcp add --scope user fetch -- uvx mcp-server-fetch
180
+
181
+ # Chrome DevTools
182
+ claude mcp add --scope user chrome-devtools -- npx -y chrome-devtools-mcp@latest
183
+ ```
184
+
185
+ Verify installation:
186
+ ```bash
187
+ claude mcp list
188
+ ```
189
+
190
+ ### MCP Skills
191
+
192
+ ima-claude includes skills that teach Claude how to use each MCP server effectively:
193
+
194
+ | Skill | Purpose |
195
+ |-------|---------|
196
+ | **mcp-vestige** | Cognitive memory: semantic search, spaced repetition, proactive storage |
197
+ | **mcp-qdrant** | Permanent library: standards, PRDs, architecture, code samples |
198
+ | **mcp-serena** | Code symbol operations, refactoring, semantic analysis |
199
+ | **mcp-tavily** | Web research patterns and query optimization |
200
+ | **mcp-context7** | Library documentation lookup strategies |
201
+ | **mcp-sequential** | Structured reasoning workflows |
202
+ | **mcp-atlassian** | Jira & Confluence operations (Claude's bundled integration) |
203
+ | ~~**compound-bridge**~~ | Compound Engineering integration — **deprecated**, only useful if your team actively uses Compound Engineering |
204
+
205
+ ### Session Management Skills
206
+
207
+ | Skill | Purpose |
208
+ |-------|---------|
209
+ | **save-session** | Save session state to Serena MCP memory |
210
+ | **resume-session** | Resume previous session from Serena MCP memory |
211
+
212
+ > **Requires Serena MCP** for cross-session persistence.
213
+
214
+ These skills auto-activate based on context.
215
+
216
+ ## Tips
217
+
218
+ > **Tip:** When using `task-runner` to spawn multiple agents, sub-agents may get stuck waiting for permission prompts. Use `--dangerously-skip-permissions` to let agents run autonomously:
219
+ >
220
+ > ```bash
221
+ > claude --dangerously-skip-permissions
222
+ > ```
223
+ >
224
+ > **Use with care** — this skips all permission checks. Best for local development on trusted codebases.
225
+
226
+ ## IMA Workflow
227
+
228
+ Our development workflow is habit-driven, not tool-enforced. No plugins required — just good practice.
229
+
230
+ | Step | Where | What |
231
+ |------|-------|------|
232
+ | **1. Brainstorm** | Claude Web Project spaces | Initial ideation, flush out early concepts into viable plans. Project spaces give Claude rich context without cluttering Code sessions. |
233
+ | **2. Plan** | Claude Code — Plan Mode | Enter Plan Mode with the finalized concept. Claude Code knows the specific project and codebase. Produce a concrete implementation plan. |
234
+ | **3. Implement** | Claude Code — `task-planner` → `task-runner` | Break the plan into tasks (`task-planner`), then delegate to agents (`task-runner`). Each agent gets relevant skills and the right model. |
235
+ | **4. Test** | Claude Code + browser/manual | Unit tests for logic. Human testing for UX and edge cases. |
236
+ | **5. Review** | Fresh Claude Code terminal | Run `/scorecard` and targeted reviews. Findings may cycle back to step 3, 4, or even step 2 if significant. |
237
+ | **6. Document** | Confluence, Jira, Qdrant, Serena, Vestige | Update everything. This is what makes the system smarter over time. |
238
+
239
+ > **Why habit over tools?** Enforced workflows create overhead. When the habits are genuinely useful, they stick naturally. When they don't fit the task, skip a step — no tool will argue.
240
+
241
+ ## Available Agents
242
+
243
+ Named subagents with hard constraints — model, tools, and permissions enforced at runtime, not just by prompt. Skills are pre-loaded at startup. The orchestrator (`task-runner`) delegates to these automatically.
244
+
245
+ | Agent | Model | Mode | Pre-loaded Skills | Use For |
246
+ |-------|-------|------|-------------------|---------|
247
+ | `ima-claude:explorer` | haiku | read-only | — | File discovery, architecture understanding, code search |
248
+ | `ima-claude:implementer` | sonnet | full access | `functional-programmer` | Feature dev, bug fixes, refactoring, tests |
249
+ | `ima-claude:reviewer` | sonnet | read-only | `functional-programmer` | Code review, security audit, FP compliance |
250
+ | `ima-claude:tester` | sonnet | full access | `unit-testing`, `functional-programmer` | Test creation, TDD, test running, debugging failures |
251
+ | `ima-claude:wp-developer` | sonnet | full access | `php-fp`, `php-fp-wordpress`, `wp-local`, `ima-forms-expert`, `ima-bootstrap`, `jquery` | WordPress plugins, themes, WP-CLI, forms |
252
+ | `ima-claude:memory` | sonnet | full access | `mcp-vestige`, `mcp-qdrant`, `mcp-serena` | Memory search, storage, consolidation across Vestige/Qdrant/Serena |
253
+
254
+ Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest changes needed to add new ones.
255
+
256
+ ## Available Skills
257
+
258
+ ### Foundational Skills
259
+
260
+ | Skill | Description |
261
+ |-------|-------------|
262
+ | `functional-programmer` | FP principles and philosophy (no code - concepts only) |
263
+ | `task-master` | Orchestration umbrella — dispatches to task-planner and task-runner |
264
+ | `task-planner` | Decomposition: Epic > Story > Task hierarchy, storage strategy |
265
+ | `task-runner` | Delegation: model selection, skill assignment, agent execution |
266
+
267
+ ### FP Implementation Skills
268
+
269
+ | Skill | Description |
270
+ |-------|-------------|
271
+ | `js-fp` | JavaScript FP core - anti-over-engineering, native patterns |
272
+ | `js-fp-api` | Node.js API patterns with security-first SQL |
273
+ | `js-fp-react` | React FP patterns with hooks and HOCs |
274
+ | `js-fp-vue` | Vue 3 FP patterns with composables |
275
+ | `js-fp-wordpress` | WordPress JS patterns for Bootstrap/jQuery |
276
+ | `jquery` | jQuery patterns and API reference (WordPress-native) |
277
+ | `php-fp` | PHP FP core principles |
278
+ | `php-fp-wordpress` | Security-first WordPress PHP development |
279
+ | `py-fp` | Python FP core - comprehensions, generators, frozen dataclasses |
280
+ | `quasar-fp` | Quasar Framework with utility-first CSS |
281
+
282
+ ### Domain Expert Skills
283
+
284
+ | Skill | Description |
285
+ |-------|-------------|
286
+ | `architect` | System design expertise and principles |
287
+ | `ima-brand` | IMA Brand Book v4.0 (identity, voice, logo, content) |
288
+ | `ima-bootstrap` | Bootstrap 5.3 + IMA brand (utility-first CSS, SCSS) |
289
+ | `playwright` | E2E testing with Playwright + TypeScript |
290
+ | `docs-organize` | Three-tier documentation organization |
291
+ | `wp-local` | WP-CLI commands for Flywheel Local WP |
292
+ | `jira-checkpoint` | Jira awareness checkpoints for team visibility |
293
+ | `phpunit-wp` | PHPUnit testing for WordPress plugins with FP principles |
294
+ | `rg` | Ripgrep usage patterns |
295
+ | `ima-forms-expert` | WordPress form components (IMA Forms) |
296
+ | `discourse-admin` | Discourse admin API (site settings, config export/import, groups) |
297
+ | `ima-cancer-care-guides` | Cancer care guide document pipeline (DOCX → markdown → HTML → PDF, Canva mapping) |
298
+
299
+ ### Integration Skills
300
+
301
+ | Skill | Description |
302
+ |-------|-------------|
303
+ | `compound-bridge` | Compound Engineering integration (memory bridge, role separation) |
304
+ | `mcp-vestige` | Cognitive memory: preferences, decisions, patterns |
305
+ | `mcp-qdrant` | Permanent library: standards, PRDs, architecture, code samples |
306
+ | `mcp-serena` | Code symbol operations, refactoring, semantic analysis |
307
+ | `mcp-atlassian` | Jira & Confluence operations |
308
+ | `mcp-tavily` | Web research and query optimization |
309
+ | `mcp-context7` | Library documentation lookup strategies |
310
+ | `mcp-sequential` | Structured reasoning workflows |
311
+ | ~~`mcp-memory`~~ | **Deprecated** — replaced by `mcp-vestige` |
312
+
313
+ ### Meta Skills
314
+
315
+ | Skill | Description |
316
+ |-------|-------------|
317
+ | `skill-analyzer` | Analyze and improve existing skills |
318
+ | `skill-creator` | Create new skills following best practices |
319
+
320
+ ## How Skills Work
321
+
322
+ Skills are automatically discovered by Claude Code. Simply mention the skill's domain:
323
+
324
+ ```
325
+ "Help me implement this React component following FP patterns"
326
+ # → js-fp-react skill auto-activates
327
+
328
+ "Design a scalable API for user authentication"
329
+ # → js-fp-api skill auto-activates
330
+
331
+ "Create a WordPress plugin for forms"
332
+ # → php-fp-wordpress skill auto-activates
333
+ ```
334
+
335
+ Or explicitly request a skill:
336
+
337
+ ```
338
+ "Use the js-fp skill to review this code"
339
+ ```
340
+
341
+ ## Hooks (23 Behavioral Hooks)
342
+
343
+ Hooks enforce skill behaviors automatically — Claude can't skip them. All hooks are soft warnings (exit 0) that guide without blocking.
344
+
345
+ | Category | Hooks | What They Enforce |
346
+ |----------|-------|-------------------|
347
+ | **Tool Redirection** | `enforce_rg_over_grep`, `webfetch_to_tavily`, `websearch_to_tavily`, `tavily_extract_advanced` | Use preferred tools (rg over grep, Tavily over WebFetch/WebSearch) |
348
+ | **Memory System** | `memory_bootstrap`, `memory_store_reminder`, `vestige_before_external` | Search Vestige/Qdrant at session start; store after edits; check memory before external lookups |
349
+ | **Workflow** | `task_master_after_plan`, `task_master_before_impl`, `jira_issue_fetch` | Delegate after planning; task-master before implementation; auto-fetch Jira issues |
350
+ | **Security** | `wp_security_check`, `sql_injection_check` | WordPress AJAX security 5-pack + strict_types; SQL injection detection in JS/TS |
351
+ | **Atlassian** | `atlassian_prereqs` | cloudId bootstrap, getTransitions before transition, ADF body serialization |
352
+ | **Serena** | `serena_project_check`, `serena_over_grep` | WP plugin subdirectory project path fix; prefer Serena symbol tools over Grep for code navigation |
353
+ | **Code Quality** | `fp_utility_check`, `jquery_in_wordpress`, `bootstrap_utility_check`, `composer_autoload_check`, `docs_organization` | No custom FP utilities; jQuery in WP; Bootstrap utilities over inline CSS; composer autoload bug; docs organization |
354
+ | **Prompt Coaching** | `prompt_coach` | Haiku-powered prompt feedback (experimental) |
355
+
356
+ See [hooks/README.md](hooks/README.md) for details.
357
+
358
+ ## Prompt Coach (Experimental)
359
+
360
+ **Haiku-powered prompt feedback system** that analyzes your prompts before they reach Claude, suggesting relevant skills and catching anti-patterns. Stays silent when you're on track, speaks up when it can help.
361
+
362
+ See [docs/PROMPT_COACH.md](docs/PROMPT_COACH.md) for setup, configuration, and usage.
363
+
364
+ ## Personalities (Optional Fun)
365
+
366
+ Themed response styles that change Claude's tone without affecting expertise:
367
+
368
+ - **enable-40k**: Warhammer 40K themed code purification
369
+ - **enable-templars**: Templar crusader themed responses
370
+
371
+ Usage:
372
+ ```
373
+ "Enable 40k mode and review this code"
374
+ ```
375
+
376
+ ## Projects (Manual Setup)
377
+
378
+ Example research projects for **Claude Web Projects** and **Claude Code**. These are not part of the automated install—use them manually or as templates for building your own domain-specific assistants.
379
+
380
+ | Project | Description |
381
+ |---------|-------------|
382
+ | `patristic-researcher` | Early Church Fathers research (~30-430 AD) |
383
+ | `mecha-thomas` | Thomistic research with Chestertonian voice |
384
+ | `mecha-alphonsus` | Marian theology in St. Alphonsus' style |
385
+
386
+ **Usage:**
387
+ ```bash
388
+ # Claude Code: Launch from project directory
389
+ cd ~/dev/ima-claude/projects/patristic-researcher
390
+ claude
391
+
392
+ # Claude Web: Copy instructions.md, upload files/ to Project Knowledge
393
+ ```
394
+
395
+ See [projects/README.md](projects/README.md) for setup guide and instructions for building your own projects.
396
+
397
+ ## Architecture
398
+
399
+ ima-claude follows a **Persona + Skills** architecture:
400
+
401
+ - **Default Persona** - "The Practitioner" provides foundational mindset (FP, composition, plan-first)
402
+ - **Skills contain expertise** - Domain knowledge, patterns, implementation guidance
403
+ - **Personalities overlay tone** - Fun themes (40K, Templars) without changing expertise
404
+ - **MCP integration** - Serena for code ops, Vestige for memory, Qdrant for RAG, Tavily for research
405
+ - **Platform adapters** - Shared `PlatformAdapter` interface; each platform implements detect, preview, install, and guideline generation
406
+
407
+ This makes ima-claude:
408
+ 1. **Multi-platform** - Same skills and agents across Claude Code, Junie CLI, and future platforms
409
+ 2. **Fully standalone** - Complete system without dependencies
410
+ 3. **Consistent** - Same mindset across all interactions
411
+ 4. **Efficient** - Skills load on-demand based on context
412
+ 5. **Extensible** - Add your own skills, agents, or platform adapters
413
+
414
+ ## For Teams
415
+
416
+ ### Onboarding
417
+
418
+ See [docs/ONBOARDING.md](docs/ONBOARDING.md) for team onboarding guide.
419
+
420
+ ### Private Skills
421
+
422
+ Create project-specific skills in `templates/local-skills/`:
423
+
424
+ ```
425
+ ~/.claude/skills/
426
+ ├── js-fp/ # From ima-claude (public)
427
+ ├── php-fp/ # From ima-claude (public)
428
+ └── my-company-api/ # Your private skill
429
+ ```
430
+
431
+ Private skills are gitignored and not published.
432
+
433
+ ### Customization
434
+
435
+ Copy `templates/CLAUDE.md.example` to `~/.claude/CLAUDE.md` and customize:
436
+
437
+ ```markdown
438
+ # My Team's Claude Config
439
+
440
+ @skills/js-fp/SKILL.md
441
+ @skills/my-company-api/SKILL.md
442
+
443
+ ## Our Standards
444
+ - All code must follow FP patterns from js-fp skill
445
+ - Use our company API patterns for backend work
446
+ ```
447
+
448
+ ## Migration
449
+
450
+ - **Legacy → Plugin**: See [MIGRATION_GUIDE.md](MIGRATION_GUIDE.md)
451
+ - **Old `/fp:*` commands**: See [docs/MIGRATING-FROM-COMMANDS.md](docs/MIGRATING-FROM-COMMANDS.md)
452
+
453
+ ## Contributing
454
+
455
+ 1. Fork the repository
456
+ 2. Create a feature branch
457
+ 3. Make your changes
458
+ 4. Test your changes locally
459
+ 5. Submit a pull request
460
+
461
+ ## License
462
+
463
+ MIT - See [LICENSE](LICENSE)