@hailer/mcp 1.1.11 → 1.1.13

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 (252) hide show
  1. package/dist/app.js +18 -5
  2. package/dist/bot/bot-config.d.ts +12 -1
  3. package/dist/bot/bot-config.js +98 -14
  4. package/dist/bot/bot-manager.d.ts +13 -3
  5. package/dist/bot/bot-manager.js +80 -25
  6. package/dist/bot/bot.d.ts +46 -0
  7. package/dist/bot/bot.js +542 -166
  8. package/dist/bot/services/message-classifier.js +17 -0
  9. package/dist/bot/services/permission-guard.d.ts +52 -0
  10. package/dist/bot/services/permission-guard.js +149 -0
  11. package/dist/bot/services/types.d.ts +5 -0
  12. package/dist/bot/services/typing-indicator.d.ts +6 -1
  13. package/dist/bot/services/typing-indicator.js +19 -3
  14. package/dist/config.d.ts +6 -1
  15. package/dist/config.js +43 -0
  16. package/dist/core.js +3 -6
  17. package/dist/mcp/UserContextCache.d.ts +5 -0
  18. package/dist/mcp/UserContextCache.js +51 -19
  19. package/dist/mcp/hailer-clients.d.ts +19 -1
  20. package/dist/mcp/hailer-clients.js +157 -20
  21. package/dist/mcp/session-store.d.ts +68 -0
  22. package/dist/mcp/session-store.js +169 -0
  23. package/dist/mcp/signal-handler.js +12 -12
  24. package/dist/mcp/tool-registry.d.ts +17 -4
  25. package/dist/mcp/tool-registry.js +37 -7
  26. package/dist/mcp/tools/activity.js +99 -7
  27. package/dist/mcp/tools/app-scaffold.js +304 -336
  28. package/dist/mcp/tools/company.d.ts +9 -0
  29. package/dist/mcp/tools/company.js +88 -0
  30. package/dist/mcp/tools/discussion.js +68 -0
  31. package/dist/mcp/tools/workflow-permissions.d.ts +15 -0
  32. package/dist/mcp/tools/workflow-permissions.js +204 -0
  33. package/dist/mcp/tools/workflow.js +57 -18
  34. package/dist/mcp/utils/index.d.ts +2 -0
  35. package/dist/mcp/utils/index.js +12 -1
  36. package/dist/mcp/utils/role-utils.d.ts +74 -0
  37. package/dist/mcp/utils/role-utils.js +151 -0
  38. package/dist/mcp/utils/types.d.ts +43 -1
  39. package/dist/mcp/utils/types.js +14 -0
  40. package/dist/mcp/webhook-handler.d.ts +6 -0
  41. package/dist/mcp/webhook-handler.js +11 -0
  42. package/dist/mcp-server.d.ts +23 -2
  43. package/dist/mcp-server.js +639 -111
  44. package/dist/plugins/vipunen/client.d.ts +150 -0
  45. package/dist/plugins/vipunen/client.js +535 -0
  46. package/dist/plugins/vipunen/config/schema-config.json +19 -0
  47. package/dist/plugins/vipunen/config/schema-doc.json +22 -0
  48. package/dist/plugins/vipunen/index.d.ts +41 -0
  49. package/dist/plugins/vipunen/index.js +88 -0
  50. package/dist/plugins/vipunen/tools.d.ts +26 -0
  51. package/dist/plugins/vipunen/tools.js +501 -0
  52. package/package.json +2 -1
  53. package/.claude/.context-watchdog.json +0 -1
  54. package/.claude/.session-checked +0 -1
  55. package/.claude/CLAUDE.md +0 -370
  56. package/.claude/agents/agent-ada-skill-builder.md +0 -94
  57. package/.claude/agents/agent-alejandro-function-fields.md +0 -342
  58. package/.claude/agents/agent-bjorn-config-audit.md +0 -103
  59. package/.claude/agents/agent-builder-agent-creator.md +0 -130
  60. package/.claude/agents/agent-code-simplifier.md +0 -53
  61. package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
  62. package/.claude/agents/agent-giuseppe-app-builder.md +0 -247
  63. package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
  64. package/.claude/agents/agent-helga-workflow-config.md +0 -204
  65. package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
  66. package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
  67. package/.claude/agents/agent-ivan-monolith.md +0 -154
  68. package/.claude/agents/agent-kenji-data-reader.md +0 -86
  69. package/.claude/agents/agent-lars-code-inspector.md +0 -102
  70. package/.claude/agents/agent-marco-mockup-builder.md +0 -110
  71. package/.claude/agents/agent-marcus-api-documenter.md +0 -323
  72. package/.claude/agents/agent-marketplace-publisher.md +0 -280
  73. package/.claude/agents/agent-marketplace-reviewer.md +0 -309
  74. package/.claude/agents/agent-permissions-handler.md +0 -208
  75. package/.claude/agents/agent-simple-writer.md +0 -48
  76. package/.claude/agents/agent-svetlana-code-review.md +0 -171
  77. package/.claude/agents/agent-tanya-test-runner.md +0 -333
  78. package/.claude/agents/agent-ui-designer.md +0 -100
  79. package/.claude/agents/agent-viktor-sql-insights.md +0 -212
  80. package/.claude/agents/agent-web-search.md +0 -55
  81. package/.claude/agents/agent-yevgeni-discussions.md +0 -45
  82. package/.claude/agents/agent-zara-zapier.md +0 -159
  83. package/.claude/commands/app-squad.md +0 -135
  84. package/.claude/commands/audit-squad.md +0 -158
  85. package/.claude/commands/autoplan.md +0 -563
  86. package/.claude/commands/cleanup-squad.md +0 -98
  87. package/.claude/commands/config-squad.md +0 -106
  88. package/.claude/commands/crud-squad.md +0 -87
  89. package/.claude/commands/data-squad.md +0 -97
  90. package/.claude/commands/debug-squad.md +0 -303
  91. package/.claude/commands/doc-squad.md +0 -65
  92. package/.claude/commands/handoff.md +0 -137
  93. package/.claude/commands/health.md +0 -49
  94. package/.claude/commands/help.md +0 -29
  95. package/.claude/commands/help:agents.md +0 -151
  96. package/.claude/commands/help:commands.md +0 -78
  97. package/.claude/commands/help:faq.md +0 -79
  98. package/.claude/commands/help:plugins.md +0 -50
  99. package/.claude/commands/help:skills.md +0 -93
  100. package/.claude/commands/help:tools.md +0 -75
  101. package/.claude/commands/hotfix-squad.md +0 -112
  102. package/.claude/commands/integration-squad.md +0 -82
  103. package/.claude/commands/janitor-squad.md +0 -167
  104. package/.claude/commands/learn-auto.md +0 -120
  105. package/.claude/commands/learn.md +0 -120
  106. package/.claude/commands/mcp-list.md +0 -27
  107. package/.claude/commands/onboard-squad.md +0 -140
  108. package/.claude/commands/plan-workspace.md +0 -732
  109. package/.claude/commands/prd.md +0 -130
  110. package/.claude/commands/project-status.md +0 -82
  111. package/.claude/commands/publish.md +0 -138
  112. package/.claude/commands/recap.md +0 -69
  113. package/.claude/commands/restore.md +0 -64
  114. package/.claude/commands/review-squad.md +0 -152
  115. package/.claude/commands/save.md +0 -24
  116. package/.claude/commands/stats.md +0 -19
  117. package/.claude/commands/swarm.md +0 -210
  118. package/.claude/commands/tool-builder.md +0 -39
  119. package/.claude/commands/ws-pull.md +0 -44
  120. package/.claude/hooks/_shared-memory.cjs +0 -305
  121. package/.claude/hooks/_utils.cjs +0 -108
  122. package/.claude/hooks/agent-failure-detector.cjs +0 -383
  123. package/.claude/hooks/agent-usage-logger.cjs +0 -204
  124. package/.claude/hooks/app-edit-guard.cjs +0 -494
  125. package/.claude/hooks/auto-learn.cjs +0 -304
  126. package/.claude/hooks/bash-guard.cjs +0 -272
  127. package/.claude/hooks/builder-mode-manager.cjs +0 -354
  128. package/.claude/hooks/bulk-activity-guard.cjs +0 -271
  129. package/.claude/hooks/context-watchdog.cjs +0 -230
  130. package/.claude/hooks/delegation-reminder.cjs +0 -465
  131. package/.claude/hooks/design-system-lint.cjs +0 -271
  132. package/.claude/hooks/post-scaffold-hook.cjs +0 -181
  133. package/.claude/hooks/prompt-guard.cjs +0 -354
  134. package/.claude/hooks/publish-template-guard.cjs +0 -147
  135. package/.claude/hooks/session-start.cjs +0 -35
  136. package/.claude/hooks/shared-memory-writer.cjs +0 -147
  137. package/.claude/hooks/skill-injector.cjs +0 -140
  138. package/.claude/hooks/skill-usage-logger.cjs +0 -258
  139. package/.claude/hooks/src-edit-guard.cjs +0 -240
  140. package/.claude/hooks/sync-marketplace-agents.cjs +0 -346
  141. package/.claude/settings.json +0 -257
  142. package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
  143. package/.claude/skills/SDK-document-templates/SKILL.md +0 -1033
  144. package/.claude/skills/SDK-function-fields/SKILL.md +0 -542
  145. package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
  146. package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
  147. package/.claude/skills/SDK-insight-queries/SKILL.md +0 -787
  148. package/.claude/skills/SDK-ws-config-skill/SKILL.md +0 -1139
  149. package/.claude/skills/agent-structure/SKILL.md +0 -98
  150. package/.claude/skills/api-documentation-patterns/SKILL.md +0 -474
  151. package/.claude/skills/chrome-mcp-reference/SKILL.md +0 -370
  152. package/.claude/skills/delegation-routing/SKILL.md +0 -202
  153. package/.claude/skills/frontend-design/SKILL.md +0 -254
  154. package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
  155. package/.claude/skills/hailer-api-client/SKILL.md +0 -518
  156. package/.claude/skills/hailer-app-builder/SKILL.md +0 -1434
  157. package/.claude/skills/hailer-apps-pictures/SKILL.md +0 -269
  158. package/.claude/skills/hailer-design-system/SKILL.md +0 -235
  159. package/.claude/skills/hailer-monolith-automations/SKILL.md +0 -686
  160. package/.claude/skills/hailer-permissions-system/SKILL.md +0 -121
  161. package/.claude/skills/hailer-project-protocol/SKILL.md +0 -488
  162. package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
  163. package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
  164. package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
  165. package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
  166. package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
  167. package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
  168. package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
  169. package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
  170. package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
  171. package/.claude/skills/integration-patterns/SKILL.md +0 -421
  172. package/.claude/skills/json-only-output/SKILL.md +0 -72
  173. package/.claude/skills/lsp-setup/SKILL.md +0 -160
  174. package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
  175. package/.claude/skills/optional-parameters/SKILL.md +0 -72
  176. package/.claude/skills/publish-hailer-app/SKILL.md +0 -244
  177. package/.claude/skills/testing-patterns/SKILL.md +0 -630
  178. package/.claude/skills/tool-builder/SKILL.md +0 -250
  179. package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
  180. package/.claude/skills/tool-response-verification/SKILL.md +0 -92
  181. package/.claude/skills/zapier-hailer-patterns/SKILL.md +0 -581
  182. package/.hailer-mcp-port +0 -1
  183. package/.mcp.json +0 -13
  184. package/.opencode/agent/agent-ada-skill-builder.md +0 -35
  185. package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
  186. package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
  187. package/.opencode/agent/agent-builder-agent-creator.md +0 -39
  188. package/.opencode/agent/agent-code-simplifier.md +0 -31
  189. package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
  190. package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
  191. package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
  192. package/.opencode/agent/agent-helga-workflow-config.md +0 -204
  193. package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
  194. package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
  195. package/.opencode/agent/agent-ivan-monolith.md +0 -46
  196. package/.opencode/agent/agent-kenji-data-reader.md +0 -53
  197. package/.opencode/agent/agent-lars-code-inspector.md +0 -28
  198. package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
  199. package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
  200. package/.opencode/agent/agent-marketplace-publisher.md +0 -44
  201. package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
  202. package/.opencode/agent/agent-permissions-handler.md +0 -50
  203. package/.opencode/agent/agent-simple-writer.md +0 -45
  204. package/.opencode/agent/agent-svetlana-code-review.md +0 -39
  205. package/.opencode/agent/agent-tanya-test-runner.md +0 -57
  206. package/.opencode/agent/agent-ui-designer.md +0 -56
  207. package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
  208. package/.opencode/agent/agent-web-search.md +0 -42
  209. package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
  210. package/.opencode/agent/agent-zara-zapier.md +0 -53
  211. package/.opencode/commands/app-squad.md +0 -135
  212. package/.opencode/commands/audit-squad.md +0 -158
  213. package/.opencode/commands/autoplan.md +0 -563
  214. package/.opencode/commands/cleanup-squad.md +0 -98
  215. package/.opencode/commands/config-squad.md +0 -106
  216. package/.opencode/commands/crud-squad.md +0 -87
  217. package/.opencode/commands/data-squad.md +0 -97
  218. package/.opencode/commands/debug-squad.md +0 -303
  219. package/.opencode/commands/doc-squad.md +0 -65
  220. package/.opencode/commands/handoff.md +0 -137
  221. package/.opencode/commands/health.md +0 -49
  222. package/.opencode/commands/help-agents.md +0 -151
  223. package/.opencode/commands/help-commands.md +0 -32
  224. package/.opencode/commands/help-faq.md +0 -29
  225. package/.opencode/commands/help-plugins.md +0 -28
  226. package/.opencode/commands/help-skills.md +0 -7
  227. package/.opencode/commands/help-tools.md +0 -40
  228. package/.opencode/commands/help.md +0 -28
  229. package/.opencode/commands/hotfix-squad.md +0 -112
  230. package/.opencode/commands/integration-squad.md +0 -82
  231. package/.opencode/commands/janitor-squad.md +0 -167
  232. package/.opencode/commands/learn-auto.md +0 -120
  233. package/.opencode/commands/learn.md +0 -120
  234. package/.opencode/commands/mcp-list.md +0 -27
  235. package/.opencode/commands/onboard-squad.md +0 -140
  236. package/.opencode/commands/plan-workspace.md +0 -732
  237. package/.opencode/commands/prd.md +0 -131
  238. package/.opencode/commands/project-status.md +0 -82
  239. package/.opencode/commands/publish.md +0 -138
  240. package/.opencode/commands/recap.md +0 -69
  241. package/.opencode/commands/restore.md +0 -64
  242. package/.opencode/commands/review-squad.md +0 -152
  243. package/.opencode/commands/save.md +0 -24
  244. package/.opencode/commands/stats.md +0 -19
  245. package/.opencode/commands/swarm.md +0 -210
  246. package/.opencode/commands/tool-builder.md +0 -39
  247. package/.opencode/commands/ws-pull.md +0 -44
  248. package/.opencode/opencode.json +0 -21
  249. package/inbox/failures.log +0 -1
  250. package/inbox/usage.jsonl +0 -4
  251. package/scripts/postinstall.cjs +0 -64
  252. package/scripts/test-hal-tools.ts +0 -154
@@ -1,563 +0,0 @@
1
- ---
2
- description: Create project plan with workspace structure and PRDs
3
- argument-hint: <project description>
4
- ---
5
- # Autoplan Command
6
-
7
- Create a complete project plan: workspace structure, DEVELOPMENT.md (big picture), and PRDs (feature details).
8
-
9
- ## Usage
10
- ```
11
- /autoplan "Build a booking system with customer portal and admin dashboard"
12
- ```
13
-
14
- ## Instructions
15
-
16
- ### Phase 1: Understand the Project
17
-
18
- 1. **Parse the prompt** - Identify:
19
- - Project name/purpose
20
- - Individual features/apps mentioned
21
- - Any technical requirements mentioned
22
-
23
- 2. **Detect project state:**
24
-
25
- | Indicator | State | Action |
26
- |-----------|-------|--------|
27
- | Has `workspace/` with workflows | Existing Hailer | Audit first, then plan additions |
28
- | Has `workspace/` empty/minimal | New Hailer | Plan from scratch |
29
- | Has `DEVELOPMENT.md` | Existing project | Read it, plan additions |
30
- | Nothing | New project | Plan from scratch |
31
-
32
- 3. **For EXISTING Hailer projects — audit first:**
33
-
34
- ```bash
35
- # Read what already exists
36
- ls workspace/ # List workflows
37
- ls apps/ 2>/dev/null # List apps (if any)
38
- ls docs/prd-*.md 2>/dev/null # List existing PRDs
39
- ```
40
-
41
- Use Kenji agent to read:
42
- - Existing workflows and their fields/phases
43
- - Existing insights
44
- - Existing apps and their purpose
45
-
46
- **Then ask:**
47
- - What do you want to ADD to this project?
48
- - Any existing features need changes?
49
-
50
- 4. **For NEW Hailer projects:**
51
- - What workflows/data do you need?
52
- - Need custom apps? (or just use built-in UI)
53
- - If apps: Public or authenticated?
54
-
55
- 5. **For standard projects:**
56
- - Tech stack preferences?
57
- - Any existing codebase to integrate with?
58
-
59
- 6. **Apply design patterns** (see below) when structuring workflows.
60
-
61
- ---
62
-
63
- ## Design Patterns (Quick Reference)
64
-
65
- ### Workflow Structure
66
-
67
- **Header + Rows (Two Workflows)**
68
- Any entity with line items needs two workflows:
69
- - Sales Orders → Order Rows (link to Products, Services)
70
- - Purchase Orders → PO Rows
71
- - Invoices → Invoice Rows (or link to existing Order Rows)
72
- - Quotes → Quote Lines
73
-
74
- **Row Source Flexibility:** Order rows can link to multiple catalogs (Products, Services, Materials) - use separate row workflows when types differ significantly.
75
-
76
- **Dataset vs Workflow**
77
- - **Dataset:** Static/reference data (Products, Customers) - phases are categories, activities don't transition
78
- - **Workflow:** Lifecycle data (Orders, Invoices) - phases are stages, activities progress through them
79
-
80
- **Master Data vs Transactional**
81
- - Master data: `enableUnlinkedMode: true` - Customers, Products, Suppliers
82
- - Transactional: `enableUnlinkedMode: false` - Orders, Invoices, Rows
83
-
84
- **Phase-Specific Field Visibility**
85
- Different phases can show different fields:
86
- - Workflow: Draft (basic fields) → Confirmed (+ date, by) → Shipped (+ tracking)
87
- - Dataset: Products (dimensions, weight) vs Services (hourly rate, duration)
88
-
89
- **Domain Prefixes (30+ workflows):** Use `INV-`, `MYY-`, `OST-`, `VH-` prefixes to organize.
90
-
91
- ---
92
-
93
- ### Row Lifecycle
94
-
95
- **Pattern A: Rows progress through phases**
96
- ```
97
- Order Row → "Ordered" → "Shipped" → "Invoiced"
98
- ```
99
- Use when: Simple 1:1 process, no integrations
100
-
101
- **Pattern B: Rows generate new activities**
102
- ```
103
- Order Row → creates → Invoice Row
104
- ```
105
- Use when: Partial invoicing, consolidated invoicing, accounting integration, different pricing
106
-
107
- ---
108
-
109
- ### Integration Patterns
110
-
111
- | Need | Solution |
112
- |------|----------|
113
- | Phase cascades | Activity Mover |
114
- | Simple notifications | Zapier webhooks |
115
- | Complex automations | Project Monolith |
116
- | No integration | Export insight (CSV) |
117
-
118
- ---
119
-
120
- ### Document Templates
121
-
122
- For invoices, quotes, order confirmations - pull header + linked rows into PDF.
123
-
124
- ### Phase 2: Create Project Structure
125
-
126
- **For Hailer projects:**
127
-
128
- Note: `workspace/` is created by the Hailer SDK, not manually. It starts with one workflow.
129
-
130
- ```bash
131
- # Only create if custom apps are needed
132
- mkdir -p apps
133
- mkdir -p docs
134
-
135
- # Copy Hailer agents/skills/hooks if not present
136
- # (suggest running /setup-hailer)
137
- ```
138
-
139
- **For standard projects:**
140
- ```bash
141
- mkdir -p docs
142
- mkdir -p apps # Only if multiple apps mentioned
143
- ```
144
-
145
- ### Phase 3: Create/Update DEVELOPMENT.md
146
-
147
- **For EXISTING projects:**
148
- - If DEVELOPMENT.md exists → READ it first, then UPDATE (don't overwrite)
149
- - Add new features to existing Roadmap table
150
- - Document existing workflows/apps if not already documented
151
- - Preserve existing Technical Decisions
152
-
153
- **For NEW projects:** Create from scratch using templates below.
154
-
155
- ---
156
-
157
- **For Hailer projects:**
158
-
159
- ```markdown
160
- # [Project Name]
161
-
162
- **Type:** Hailer SDK Project
163
- **Workspace:** [workspace name in Hailer]
164
- **Run:** `npm run dev` (if apps)
165
-
166
- ---
167
-
168
- ## What This Project Does
169
- [2-3 sentences from the prompt]
170
-
171
- ---
172
-
173
- ## Data Model (Workflows)
174
-
175
- | Workflow | Purpose | Key Fields |
176
- |----------|---------|------------|
177
- | [Workflow 1] | [What it stores] | [Important fields] |
178
- | [Workflow 2] | [What it stores] | [Important fields] |
179
-
180
- ---
181
-
182
- ## Apps
183
-
184
- | App | Type | Description |
185
- |-----|------|-------------|
186
- | [app-name] | Public / Authenticated | [What it does] |
187
-
188
- **Public apps** use public insights (no login required)
189
- **Authenticated apps** use Hailer user management
190
-
191
- ---
192
-
193
- ## Architecture
194
-
195
- ```
196
- project/
197
- ├── workspace/ # Data model (SDK-managed)
198
- │ └── [Workflow]_id/ # Fields, phases, functions
199
- ├── apps/ # Custom frontends (if needed)
200
- │ └── [app-name]/
201
- └── docs/
202
- └── prd-*.md
203
- ```
204
-
205
- ---
206
-
207
- ## Roadmap
208
-
209
- | Feature | PRD | Status |
210
- |---------|-----|--------|
211
- | [Workflow: Name] | [docs/prd-workflow-name.md](docs/prd-workflow-name.md) | Planned |
212
- | [App: Name] | [docs/prd-app-name.md](docs/prd-app-name.md) | Planned |
213
- | [Insight: Name] | [docs/prd-insight-name.md](docs/prd-insight-name.md) | Planned |
214
-
215
- ---
216
-
217
- ## Current Status
218
- **Active:** Planning phase
219
- **Blocked:** None
220
-
221
- ---
222
-
223
- ## Known Issues
224
- - [ ] None yet
225
-
226
- ---
227
-
228
- ## Technical Decisions
229
- | Decision | Rationale | Date |
230
- |----------|-----------|------|
231
- ```
232
-
233
- **For standard projects:**
234
-
235
- ```markdown
236
- # [Project Name]
237
-
238
- **Stack:** [Detected or asked]
239
- **Entry:** [Main entry point]
240
- **Run:** [Dev command]
241
-
242
- ---
243
-
244
- ## What This Project Does
245
- [2-3 sentences from the prompt]
246
-
247
- ---
248
-
249
- ## Architecture
250
-
251
- ```
252
- project/
253
- ├── apps/
254
- │ └── [app-name]/
255
- ├── docs/
256
- │ └── prd-*.md
257
- └── [other relevant dirs]
258
- ```
259
-
260
- ---
261
-
262
- ## Roadmap
263
-
264
- | Feature | PRD | Status |
265
- |---------|-----|--------|
266
- | [Feature 1] | [docs/prd-feature-1.md](docs/prd-feature-1.md) | Planned |
267
-
268
- ---
269
-
270
- ## Current Status
271
- **Active:** Planning phase
272
- **Blocked:** None
273
-
274
- ---
275
-
276
- ## Known Issues
277
- - [ ] None yet
278
-
279
- ---
280
-
281
- ## Technical Decisions
282
- | Decision | Rationale | Date |
283
- |----------|-----------|------|
284
- ```
285
-
286
- ### Phase 4: Create PRDs for New Features
287
-
288
- **For EXISTING projects:**
289
- - Check `docs/prd-*.md` for existing PRDs
290
- - Only create PRDs for NEW features being added
291
- - Don't duplicate existing documentation
292
- - If existing feature needs changes → update existing PRD or create a new one with `-v2` suffix
293
-
294
- **For Hailer projects, create PRDs by type:**
295
-
296
- **Workflow PRD** (`docs/prd-workflow-[name].md`):
297
- ```markdown
298
- # PRD: Workflow - [Name]
299
-
300
- **Status:** Planned
301
- **Created:** YYYY-MM-DD
302
- **Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
303
-
304
- ---
305
-
306
- ## Purpose
307
- [What data this workflow stores and why]
308
-
309
- ---
310
-
311
- ## Fields
312
-
313
- | Field | Type | Required | Description |
314
- |-------|------|----------|-------------|
315
- | [name] | text/date/dropdown/link/etc | Yes/No | [purpose] |
316
-
317
- ---
318
-
319
- ## Phases
320
-
321
- | Phase | Description | Visible Fields |
322
- |-------|-------------|----------------|
323
- | [phase] | [when activity is in this state] | [which fields show] |
324
-
325
- ---
326
-
327
- ## Function Fields (calculated values)
328
-
329
- | Field | Type | Formula/Logic | Variables |
330
- |-------|------|---------------|-----------|
331
- | [total] | function | qty × price | qty, price |
332
- | [days_open] | function | today - created_date | created_date |
333
- | [status_text] | function | if priority=high → "🔴" | priority |
334
-
335
- **Common patterns:**
336
- - Arithmetic: `qty * price`, `subtotal + tax`
337
- - Date diff: `Math.floor((new Date() - created) / 86400000)`
338
- - Conditional: `priority === 'high' ? '🔴 Urgent' : '🟢 Normal'`
339
- - Backlink count: Count linked activities from another workflow
340
-
341
- ---
342
-
343
- ## Name Function
344
-
345
- **Pattern:** `[prefix]-[number] [distinctive field]`
346
- **Example:** `ORD-001 Acme Corp`
347
- **Key field:** [which field makes activities identifiable]
348
-
349
- ---
350
-
351
- ## Implementation Steps
352
- 1. [ ] Add workflow via SDK
353
- 2. [ ] Define fields in fields.ts
354
- 3. [ ] Define phases in phases.ts
355
- 4. [ ] Push and pull (get IDs) - Helga auto-spawns Alejandro for nameFunction + function fields (if any)
356
- 5. [ ] Verify in Hailer
357
-
358
- ---
359
-
360
- ## Verification
361
- - [ ] Workflow appears in Hailer
362
- - [ ] All fields work correctly
363
- - [ ] Phase transitions work
364
- ```
365
-
366
- **App PRD** (`docs/prd-app-[name].md`):
367
- ```markdown
368
- # PRD: App - [Name]
369
-
370
- **Status:** Planned
371
- **Created:** YYYY-MM-DD
372
- **Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
373
- **Type:** Public / Authenticated
374
-
375
- ---
376
-
377
- ## Purpose
378
- [What this app does for users]
379
-
380
- ---
381
-
382
- ## Data Sources
383
- - **Workflow:** [which workflow(s) it reads/writes]
384
- - **Insight:** [which insight(s) power the views]
385
- - **Public insight?** [Yes = public app possible, No = requires auth]
386
-
387
- ---
388
-
389
- ## Data Access (Phase Rationalization)
390
-
391
- | View | Phases Fetched | Rationale |
392
- |------|----------------|-----------|
393
- | [Main list] | [which phases] | [why these phases for this user] |
394
- | [Dashboard] | [which phases] | [why] |
395
-
396
- ---
397
-
398
- ## User Stories
399
- - As a [user type], I want to [action] so that [benefit]
400
-
401
- ---
402
-
403
- ## Screens/Views
404
- 1. [Screen name] - [what it shows]
405
- 2. [Screen name] - [what it shows]
406
-
407
- ---
408
-
409
- ## Implementation Steps
410
- 1. [ ] Create insight for data (if needed)
411
- 2. [ ] Scaffold app with MCP tool
412
- 3. [ ] Build components
413
- 4. [ ] Connect to Hailer data
414
- 5. [ ] Test and deploy
415
-
416
- ---
417
-
418
- ## Verification
419
- - [ ] App loads correctly
420
- - [ ] Data displays from Hailer
421
- - [ ] User actions work (if authenticated)
422
- ```
423
-
424
- **Insight PRD** (`docs/prd-insight-[name].md`):
425
- ```markdown
426
- # PRD: Insight - [Name]
427
-
428
- **Status:** Planned
429
- **Created:** YYYY-MM-DD
430
- **Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
431
- **Public:** Yes / No
432
-
433
- ---
434
-
435
- ## Purpose
436
- [What data this insight provides and for what use]
437
-
438
- ---
439
-
440
- ## Query Design
441
- - **Source workflow(s):** [which workflows]
442
- - **Joins:** [if linking workflows]
443
- - **Filters:** [default filters]
444
- - **Grouping:** [if aggregating]
445
-
446
- ---
447
-
448
- ## Output Fields
449
- | Field | Source | Description |
450
- |-------|--------|-------------|
451
- | [name] | [workflow.field] | [purpose] |
452
-
453
- ---
454
-
455
- ## Implementation Steps
456
- 1. [ ] Create insight via Viktor agent
457
- 2. [ ] Test query results
458
- 3. [ ] Set public flag (if needed for public app)
459
-
460
- ---
461
-
462
- ## Verification
463
- - [ ] Insight returns correct data
464
- - [ ] Performance is acceptable
465
- ```
466
-
467
- **For standard projects:**
468
-
469
- ```markdown
470
- # PRD: [Feature Name]
471
-
472
- **Status:** Planned
473
- **Created:** YYYY-MM-DD
474
- **Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
475
-
476
- ---
477
-
478
- ## Overview
479
- [What this feature does, 2-3 sentences]
480
-
481
- ---
482
-
483
- ## User Stories
484
- - As a [user type], I want to [action] so that [benefit]
485
-
486
- ---
487
-
488
- ## Requirements
489
-
490
- ### Must Have
491
- - [ ] Requirement 1
492
- - [ ] Requirement 2
493
-
494
- ### Nice to Have
495
- - [ ] Optional requirement
496
-
497
- ---
498
-
499
- ## Technical Approach
500
- [How to implement - key files, patterns, integrations]
501
-
502
- **Files to create/modify:**
503
- - `path/to/file` - [purpose]
504
-
505
- ---
506
-
507
- ## Implementation Steps
508
- 1. [ ] Step 1 with file references
509
- 2. [ ] Step 2 with file references
510
-
511
- ---
512
-
513
- ## Verification
514
- - [ ] How to test this feature works
515
-
516
- ---
517
-
518
- ## Open Questions
519
- - [Any unresolved decisions]
520
- ```
521
-
522
- ### Phase 5: Report
523
-
524
- **For NEW projects:**
525
- ```
526
- ## Project Planned: [Name]
527
-
528
- **Created:**
529
- - DEVELOPMENT.md (big picture)
530
- - docs/prd-feature-1.md
531
- - docs/prd-feature-2.md
532
- - Directory structure
533
-
534
- **Next steps:**
535
- 1. Review PRDs and refine requirements
536
- 2. Start building from a PRD: review requirements, then implement
537
- ```
538
-
539
- **For EXISTING projects:**
540
- ```
541
- ## Project Updated: [Name]
542
-
543
- **Existing (documented):**
544
- - [X workflows already in place]
545
- - [X apps already built]
546
- - [X existing PRDs]
547
-
548
- **Added:**
549
- - Updated DEVELOPMENT.md with current state
550
- - docs/prd-new-feature.md
551
-
552
- **Next steps:**
553
- 1. Review new PRDs
554
- 2. Start implementing from the PRD
555
- ```
556
-
557
- ## Important
558
-
559
- - **Big picture → DEVELOPMENT.md** (architecture, roadmap, status)
560
- - **Feature details → PRDs** (requirements, steps, verification)
561
- - PRDs are linked from DEVELOPMENT.md roadmap table
562
- - Each PRD is self-contained but references parent DEVELOPMENT.md
563
- - Don't start implementing - only plan
@@ -1,98 +0,0 @@
1
- ---
2
- description: Clean up codebase with Bjorn, Code Simplifier, and Lars
3
- argument-hint: [files, directory, or blank for recent changes]
4
- allowed-tools: Task, Bash
5
- ---
6
- # Cleanup Squad
7
-
8
- Run parallel codebase cleanup using three agents simultaneously.
9
-
10
- **Agents:**
11
- - **Bjorn** - Configuration audit (verify CLAUDE.md, hooks, workspace structure)
12
- - **Code Simplifier** - Refactor (improve code clarity and maintainability)
13
- - **Lars** - Dead code detection (find unused imports, dead code, type errors)
14
-
15
- **Target:** $ARGUMENTS (if blank, use recent git changes)
16
-
17
- **Changed files (auto-injected):**
18
- !git diff --name-only HEAD
19
-
20
- ## Protocol
21
-
22
- ### Step 1: Determine Target
23
-
24
- If `$ARGUMENTS` has specific files/directories, use those.
25
- Otherwise, use the changed files list above as the target.
26
-
27
- If `$ARGUMENTS` contains `--skip-config`:
28
- - Remove flag from target
29
- - Skip Bjorn in Step 2
30
-
31
- If `$ARGUMENTS` contains `--skip-dead-code`:
32
- - Remove flag from target
33
- - Skip Lars in Step 2
34
-
35
- ### Step 2: Launch Agents in Parallel
36
-
37
- Spawn all agents simultaneously using multiple Task tool calls in a single message:
38
-
39
- **Bjorn:**
40
- ```
41
- Task(subagent_type="agent-bjorn-config-audit", prompt="Audit codebase configuration for: [TARGET]. Check:\n- CLAUDE.md accuracy and completeness\n- Hook configurations\n- Workspace structure\n- Agent definitions\n\nReturn list of issues found with severity levels.")
42
- ```
43
-
44
- **Code Simplifier:**
45
- ```
46
- Task(subagent_type="agent-code-simplifier", prompt="Refactor these files for clarity and maintainability: [TARGET]. Focus on:\n- Variable naming\n- Function complexity\n- Comment clarity\n- Code organization\n\nReturn refactoring suggestions with before/after examples.")
47
- ```
48
-
49
- **Lars:**
50
- ```
51
- Task(subagent_type="agent-lars-code-inspector", prompt="Inspect these files for dead code: [TARGET]. Find:\n- Unused imports\n- Unreachable code\n- Unused variables\n- Type errors\n\nUse LSP if available. Return detailed list grouped by file.")
52
- ```
53
-
54
- ### Step 3: Aggregate Results
55
-
56
- Compile a unified cleanup report:
57
-
58
- ```markdown
59
- ## Cleanup Squad Report
60
-
61
- ### Bjorn (Config Audit)
62
- - Issues found: X
63
- - Critical: X
64
- - Warnings: X
65
- - [Issues grouped by category]
66
-
67
- ### Code Simplifier (Refactoring)
68
- - Files analyzed: X
69
- - Refactoring suggestions: X
70
- - [Suggestions grouped by file]
71
-
72
- ### Lars (Dead Code)
73
- - Unused imports: X
74
- - Dead code blocks: X
75
- - Type errors: X
76
- - [Details grouped by file]
77
-
78
- ### Summary
79
- [Overall assessment of codebase health]
80
- [Prioritized action items]
81
-
82
- ### Recommended Order
83
- 1. [Fix critical config issues first]
84
- 2. [Remove dead code]
85
- 3. [Apply refactoring suggestions]
86
- ```
87
-
88
- If any agent fails or times out, report partial results from successful agents, note which failed, and offer to re-run individually.
89
-
90
- ## Options
91
-
92
- | Flag | Effect |
93
- |------|--------|
94
- | `--skip-config` | Skip Bjorn (faster, no config validation) |
95
- | `--skip-dead-code` | Skip Lars (when LSP not configured) |
96
- | `--bg` | Run all agents in background mode |
97
-
98
- If `--bg` is present, launch all agents with `run_in_background: true` and tell the user they'll be notified when complete.