@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,121 +0,0 @@
1
- ---
2
- name: hailer-permissions-system
3
- description: Hailer app permissions - users, teams, and access control
4
- version: 1.1.0
5
- triggers: Grant access, permissions, app access, user permissions, team access
6
- ---
7
-
8
- # Hailer Permissions System
9
-
10
- Managing access to Hailer **apps** for users and teams.
11
-
12
- <scope-notice>
13
- **This skill covers APP permissions only.**
14
-
15
- For other permission types, see:
16
- - **Workflow permissions** (who can access a workflow) → SDK-ws-config-skill, main.ts `members[]`
17
- - **Phase permissions** (field visibility, transitions) → SDK-ws-config-skill, phases.ts
18
- - **Team management** (create/edit teams) → SDK-ws-config-skill, teams.ts
19
-
20
- App permissions = who can see/use an app in Hailer UI.
21
- Workflow permissions = who can see/edit activities in a workflow.
22
- </scope-notice>
23
-
24
- ## Overview
25
-
26
- Hailer apps can have restricted access. Users must be explicitly granted access to see/use an app.
27
-
28
- **Access can be granted to:**
29
- - Individual users (by email/ID)
30
- - Teams (groups of users)
31
-
32
- ---
33
-
34
- ## MCP Tools
35
-
36
- | Tool | Purpose |
37
- |------|---------|
38
- | `mcp__hailer__list_apps` | List all apps in workspace |
39
- | `mcp__hailer__search_workspace_users` | Find user by email/name |
40
- | `mcp__hailer__add_app_member` | Grant access |
41
- | `mcp__hailer__remove_app_member` | Revoke access |
42
-
43
- ---
44
-
45
- ## Common Workflows
46
-
47
- ### Grant User Access
48
-
49
- 1. **Search for user:**
50
- ```
51
- mcp__hailer__search_workspace_users({ query: "john@example.com" })
52
- ```
53
-
54
- 2. **Get app ID (if not known):**
55
- ```
56
- mcp__hailer__list_apps({})
57
- ```
58
-
59
- 3. **Add user as member:**
60
- ```
61
- mcp__hailer__add_app_member({
62
- appId: "64a1b2c3d4e5f6a7b8c9d0e1",
63
- memberId: "user_64a1b2c3d4e5f6a7b8c9d0e2",
64
- memberType: "user"
65
- })
66
- ```
67
-
68
- ### Grant Team Access
69
-
70
- 1. **Get team ID from workspace config:**
71
- ```typescript
72
- // Read from workspace/teams.ts or workspace/enums.ts
73
- import { TeamIds } from './workspace/enums';
74
- ```
75
-
76
- 2. **Add team as member:**
77
- ```
78
- mcp__hailer__add_app_member({
79
- appId: "64a1b2c3d4e5f6a7b8c9d0e1",
80
- memberId: TeamIds.sales_team,
81
- memberType: "team"
82
- })
83
- ```
84
-
85
- ### Revoke Access
86
-
87
- ```
88
- mcp__hailer__remove_app_member({
89
- appId: "64a1b2c3d4e5f6a7b8c9d0e1",
90
- memberId: "user_64a1b2c3d4e5f6a7b8c9d0e2",
91
- memberType: "user"
92
- })
93
- ```
94
-
95
- ---
96
-
97
- ## Public vs Authenticated Apps
98
-
99
- | Type | Access | Use Case |
100
- |------|--------|----------|
101
- | Public | Anyone with URL | Customer-facing portals using public insights |
102
- | Authenticated | Only granted users/teams | Internal tools, admin dashboards |
103
-
104
- **Public apps:**
105
- - Use public insights for data
106
- - No Hailer login required
107
- - Read-only typically
108
-
109
- **Authenticated apps:**
110
- - Use Hailer user management
111
- - Can read/write based on user permissions
112
- - Full Hailer SDK capabilities
113
-
114
- ---
115
-
116
- ## Best Practices
117
-
118
- 1. **Verify before granting** - Search for user first to confirm they exist
119
- 2. **Use teams for groups** - Easier to manage than individual users
120
- 3. **Audit periodically** - Review who has access to sensitive apps
121
- 4. **Confirm revocations** - Double-check before removing access
@@ -1,488 +0,0 @@
1
- ---
2
- name: hailer-project-protocol
3
- description: Complete Hailer project management workflow schemas, field definitions, and protocols for SDK projects
4
- version: 1.0.1
5
- ---
6
-
7
- # Hailer Project Management Protocol
8
-
9
- This skill contains the complete Hailer project management workflow schemas, field definitions, and protocols for working with Hailer SDK projects.
10
-
11
- ---
12
-
13
- <critical-rules>
14
- ## Overview
15
-
16
- Every Hailer workspace uses project management workflows. Claude installs and maintains these automatically using MCP or SDK.
17
-
18
- **CRITICAL: Real-Time Updates**
19
- - Update Hailer items IN REAL-TIME as work progresses
20
- - Do NOT batch updates - update immediately when status changes
21
- - When completing a task, update Hailer BEFORE moving to next task
22
-
23
- **Context File Hierarchy**
24
- 1. **SESSION-HANDOFF.md** - Previous session state (read first when resuming)
25
- 2. **DEVELOPMENT.md** - Local backup/snapshot of Hailer state
26
- 3. **Hailer Workflows** - Source of truth for project data
27
- </critical-rules>
28
-
29
- ---
30
-
31
- ## Workflow 1: Project Planning
32
-
33
- **Workflow name:** `Project Planning`
34
-
35
- ### Phases (in order)
36
- 1. `Planning`
37
- 2. `In Progress`
38
- 3. `On Hold`
39
- 4. `Completed`
40
-
41
- ### Fields
42
-
43
- | Field Name | Field Type | Configuration |
44
- |------------|------------|---------------|
45
- | Title | Text | - |
46
- | Description | Long text | - |
47
- | Type | Predefined options (single) | Options: `Project`, `Feature`, `Session Handoff`, `PRD` |
48
- | Project | Activity link | Links to: `Project Planning` workflow |
49
- | Child Features | Linked from | Linked from: `Project Planning` → `Project` field |
50
- | Dev Tasks | Linked from | Linked from: `Dev Tasks` → `Feature` field |
51
- | Goal | Long text | - |
52
- | Documentation | Long text | - |
53
- | Technical Notes | Long text | - |
54
- | Blockers | Long text | - |
55
- | User Stories | Long text | PRD: As a [user], I want [X] so that [Y] |
56
- | Acceptance Criteria | Long text | PRD: Checklist of "done" conditions |
57
- | Technical Constraints | Long text | PRD: Performance, security, compatibility |
58
- | Out of Scope | Long text | PRD: What this feature does NOT include |
59
-
60
- ### Field Explanations
61
- - **Project**: Features use this to link UP to their parent Project
62
- - **Child Features**: Automatically shows Features that link to this Project
63
- - **Dev Tasks**: Automatically shows Tasks/Bugs that link to this Feature
64
- - **Documentation**: How it works, usage instructions, user-facing docs
65
- - **Technical Notes**: Architecture decisions, implementation details
66
- - **User Stories/Acceptance Criteria/Technical Constraints/Out of Scope**: PRD fields for requirements
67
-
68
- ---
69
-
70
- ## Workflow 2: Dev Tasks
71
-
72
- **Workflow name:** `Dev Tasks`
73
-
74
- ### Phases (in order)
75
- 1. `Backlog`
76
- 2. `Todo`
77
- 3. `In Progress`
78
- 4. `Review`
79
- 5. `Done`
80
-
81
- ### Fields
82
-
83
- | Field Name | Field Type | Configuration |
84
- |------------|------------|---------------|
85
- | Title | Text | - |
86
- | Description | Long text | - |
87
- | Type | Predefined options (single) | Options: `Task`, `Bug`, `Tech Debt` |
88
- | Priority | Predefined options (single) | Options: `HIGH`, `MEDIUM`, `LOW` |
89
- | Feature | Activity link | Links to: `Project Planning` workflow |
90
- | Blocked By | Activity link | Links to: `Dev Tasks` workflow |
91
- | Blocks | Linked from | Linked from: `Dev Tasks` → `Blocked By` field |
92
- | Related Items | Activity link | Links to: `Dev Tasks` workflow |
93
- | Related From | Linked from | Linked from: `Dev Tasks` → `Related Items` field |
94
- | Files Modified | Text | - |
95
- | Commits | Text | - |
96
-
97
- ### Field Explanations
98
- - **Feature**: Links UP to parent Feature in Project Planning
99
- - **Blocked By**: Links to other Dev Tasks that block this one
100
- - **Blocks**: Automatically shows Dev Tasks that this task blocks
101
- - **Related Items**: Links to related Tasks/Bugs (e.g., Bug → Task that caused it)
102
- - **Related From**: Automatically shows items that link to this one
103
-
104
- ---
105
-
106
- ## Link Relationship Summary
107
-
108
- ```
109
- Project Planning Dev Tasks
110
- ┌─────────────────────┐ ┌─────────────────────┐
111
- │ Project │ │ Task/Bug/Tech Debt │
112
- │ │ │ │
113
- │ Child Features ◄────┼── Project ───────┼── (not used) │
114
- │ (linked from) │ │ │
115
- └─────────────────────┘ │ │
116
- ▲ │ │
117
- │ │ │
118
- ┌────────┴────────────┐ │ │
119
- │ Feature / PRD │ │ │
120
- │ │ │ │
121
- │ Project ────────────┼─► Project │ │
122
- │ (activity link) │ │ │
123
- │ │ │ │
124
- │ Dev Tasks ◄─────────┼──────────────────┼── Feature │
125
- │ (linked from) │ │ (activity link) │
126
- └─────────────────────┘ │ │
127
- │ Blocked By ─────────┼─► Dev Tasks
128
- │ (activity link) │
129
- │ │
130
- │ Blocks ◄────────────┼── Blocked By
131
- │ (linked from) │ (from other)
132
- └─────────────────────┘
133
- ```
134
-
135
- ---
136
-
137
- ## Protocol: Starting in a Workspace
138
-
139
- ### Step 1: Check for Existing Workflows
140
-
141
- **AUTOMATIC CREATION: If workflows don't exist, CREATE THEM.**
142
-
143
- Look for workflows named exactly:
144
- - `Project Planning`
145
- - `Dev Tasks`
146
-
147
- ### Step 2: Create Workflows if Missing
148
-
149
- **This is NOT optional - create them automatically.**
150
-
151
- Notify user: "Setting up project management workflows for this workspace..."
152
-
153
- #### Create Project Planning Workflow
154
-
155
- ```typescript
156
- // Using Hailer MCP or SDK
157
- {
158
- name: "Project Planning",
159
- phases: ["Planning", "In Progress", "On Hold", "Completed"],
160
- fields: [
161
- { name: "Title", type: "text" },
162
- { name: "Description", type: "longtext" },
163
- { name: "Type", type: "predefined_single", options: ["Project", "Feature", "Session Handoff", "PRD"] },
164
- { name: "Project", type: "activity_link", linkedWorkflow: "Project Planning" },
165
- { name: "Goal", type: "longtext" },
166
- { name: "Documentation", type: "longtext" },
167
- { name: "Technical Notes", type: "longtext" },
168
- { name: "Blockers", type: "longtext" },
169
- // PRD fields
170
- { name: "User Stories", type: "longtext" },
171
- { name: "Acceptance Criteria", type: "longtext" },
172
- { name: "Technical Constraints", type: "longtext" },
173
- { name: "Out of Scope", type: "longtext" }
174
- ]
175
- }
176
- ```
177
-
178
- #### Create Dev Tasks Workflow
179
-
180
- ```typescript
181
- {
182
- name: "Dev Tasks",
183
- phases: ["Backlog", "Todo", "In Progress", "Review", "Done"],
184
- fields: [
185
- { name: "Title", type: "text" },
186
- { name: "Description", type: "longtext" },
187
- { name: "Type", type: "predefined_single", options: ["Task", "Bug", "Tech Debt"] },
188
- { name: "Priority", type: "predefined_single", options: ["HIGH", "MEDIUM", "LOW"] },
189
- { name: "Feature", type: "activity_link", linkedWorkflow: "Project Planning" },
190
- { name: "Blocked By", type: "activity_link", linkedWorkflow: "Dev Tasks" },
191
- { name: "Related Items", type: "activity_link", linkedWorkflow: "Dev Tasks" },
192
- { name: "Files Modified", type: "text" },
193
- { name: "Commits", type: "text" }
194
- ]
195
- }
196
- ```
197
-
198
- ### Step 3: Verify PRD Fields Exist
199
-
200
- If `Project Planning` workflow exists but is missing PRD fields, ADD THEM:
201
- - User Stories
202
- - Acceptance Criteria
203
- - Technical Constraints
204
- - Out of Scope
205
-
206
- ### Step 4: Read Current State
207
-
208
- Before starting work:
209
- 1. Check for SESSION-HANDOFF.md - read if exists (previous session context)
210
- 2. Check for active Project (Type = `Project`, Phase = `In Progress`)
211
- 3. If no Project exists, ask user for project name and create one
212
- 4. Fetch In Progress Features and Tasks
213
- 5. Check for recent Session Handoff (Type = `Session Handoff`)
214
- 6. Summarize state to user
215
-
216
- ---
217
-
218
- ## Protocol: During Development (Real-Time Updates)
219
-
220
- ### Starting New Work
221
- 1. Ensure a Feature exists (Type = `Feature`)
222
- - Set `Project` field to link to parent Project
223
- 2. Create Task in Dev Tasks (Type = `Task`)
224
- - Set `Feature` field to link to parent Feature
225
- 3. **IMMEDIATELY** move Task to `In Progress`
226
- 4. Keep only ONE task `In Progress` at a time
227
-
228
- ### Completing Work
229
- 1. **IMMEDIATELY** update Task:
230
- - `Files Modified`: List changed files
231
- - `Commits`: Add commit hashes
232
- 2. **IMMEDIATELY** move to `Done`
233
- 3. If new work discovered → create new Tasks in `Backlog`
234
-
235
- ### Finding Bugs
236
- 1. **IMMEDIATELY** create item in Dev Tasks (Type = `Bug`)
237
- 2. Set `Feature` to link to relevant Feature
238
- 3. Set `Priority` based on severity
239
- 4. Optionally set `Related Items` to link to Task that caused it
240
-
241
- ### Blocked Tasks
242
- 1. Set `Blocked By` to link to blocking Task(s)
243
- 2. Update Description with blocker details
244
- 3. When blocker resolved, clear `Blocked By` and continue
245
-
246
- ### Technical Decisions
247
- Update the Feature's `Technical Notes` field with:
248
- - Architecture decisions and rationale
249
- - Important discoveries
250
- - Trade-offs considered
251
-
252
- ### Documentation
253
- When feature is complete or stable, update `Documentation` field with:
254
- - How it works
255
- - Usage instructions
256
- - Configuration options
257
-
258
- ---
259
-
260
- ## Protocol: Session Handoff
261
-
262
- ### When to Create
263
- - Context reaches 70-80%
264
- - Before ending a long session
265
- - User requests it
266
-
267
- ### Create Session Handoff Item
268
- In Project Planning workflow:
269
-
270
- | Field | Value |
271
- |-------|-------|
272
- | Title | `Session Handoff - YYYY-MM-DD HH:MM` |
273
- | Type | `Session Handoff` |
274
- | Project | Link to active Project |
275
- | Phase | `Completed` |
276
- | Description | See template below |
277
- | Technical Notes | Key discoveries and decisions |
278
- | Blockers | Unresolved issues, next steps |
279
-
280
- **Description template:**
281
- ```
282
- ## Completed This Session
283
- - [List completed tasks]
284
-
285
- ## In Progress
286
- - [Current work state]
287
-
288
- ## Next Steps
289
- - [What to do when resuming]
290
- ```
291
-
292
- ### Local SESSION-HANDOFF.md
293
- Also create/update `SESSION-HANDOFF.md` in project root:
294
-
295
- ```markdown
296
- ## Session Handoff - YYYY-MM-DD HH:MM
297
-
298
- ### Completed This Session
299
- - [What was accomplished]
300
-
301
- ### Current State
302
- - [Work in progress, any partial implementations]
303
-
304
- ### Blockers / Issues Found
305
- - [Problems encountered, unresolved errors]
306
-
307
- ### Next Steps
308
- - [Immediate actions for next session]
309
-
310
- ### Key Decisions Made
311
- - [Important context that shouldn't be lost]
312
-
313
- ### Files Modified
314
- - [List of changed files with brief description]
315
- ```
316
-
317
- ---
318
-
319
- ## Protocol: Creating Items
320
-
321
- ### New Project
322
- | Field | Value |
323
- |-------|-------|
324
- | Title | Project name (ask user) |
325
- | Type | `Project` |
326
- | Phase | `In Progress` |
327
- | Description | Project overview |
328
- | Goal | What success looks like |
329
-
330
- ### New Feature
331
- | Field | Value |
332
- |-------|-------|
333
- | Title | Feature name (use prefixes: `Sales Orders → Automations`) |
334
- | Type | `Feature` |
335
- | Project | Link to parent Project |
336
- | Phase | `Planning` or `In Progress` |
337
- | Description | Scope and requirements |
338
- | Goal | Acceptance criteria |
339
- | Documentation | How it works (fill when complete) |
340
- | Technical Notes | Architecture decisions |
341
-
342
- ### New PRD (Product Requirements Document)
343
- | Field | Value |
344
- |-------|-------|
345
- | Title | `PRD: [Feature Name]` |
346
- | Type | `PRD` |
347
- | Project | Link to parent Project |
348
- | Phase | `Planning` |
349
- | Description | Executive summary |
350
- | Goal | Success metrics |
351
- | User Stories | As a [user], I want [X] so that [Y] |
352
- | Acceptance Criteria | - [ ] Criterion 1<br>- [ ] Criterion 2 |
353
- | Technical Constraints | Performance, security, compatibility needs |
354
- | Out of Scope | What this does NOT include |
355
-
356
- ### New Task
357
- | Field | Value |
358
- |-------|-------|
359
- | Title | Specific, actionable description |
360
- | Type | `Task` |
361
- | Feature | Link to parent Feature |
362
- | Priority | `MEDIUM` (default) |
363
- | Phase | `Backlog` or `Todo` |
364
- | Description | Implementation details |
365
-
366
- ### New Bug
367
- | Field | Value |
368
- |-------|-------|
369
- | Title | Clear bug description with context |
370
- | Type | `Bug` |
371
- | Feature | Link to affected Feature |
372
- | Priority | Based on severity |
373
- | Phase | `Backlog` or `Todo` |
374
- | Description | Steps to reproduce, expected vs actual |
375
- | Related Items | Link to Task that caused it (if known) |
376
-
377
- ---
378
-
379
- ## Protocol: DEVELOPMENT.md Sync
380
-
381
- When user requests sync (`/project-status`):
382
-
383
- 1. Fetch all data from Hailer workflows:
384
- - Active Project
385
- - All Features with their phases
386
- - All Dev Tasks (grouped by phase)
387
- - Recent Session Handoffs
388
-
389
- 2. Generate DEVELOPMENT.md:
390
- ```markdown
391
- # [Project Title] Development Status
392
-
393
- **Last Updated:** YYYY-MM-DD
394
- **Hailer Sync:** YYYY-MM-DD HH:MM
395
-
396
- ---
397
-
398
- ## Active Feature
399
- **Name:** [Feature Title]
400
- **Goal:** [Feature Goal]
401
- **Status:** [Phase]
402
-
403
- ---
404
-
405
- ## Current Sprint
406
-
407
- ### In Progress
408
- - [ ] [Task Title] (Feature: [Feature Name])
409
-
410
- ### Completed This Session
411
- - [x] [Task Title] (YYYY-MM-DD)
412
-
413
- ### Blocked
414
- - [ ] [Task Title] - **Blocker:** [reason]
415
-
416
- ---
417
-
418
- ## Backlog
419
- - [ ] [Task Title] (Feature: [Feature Name], Priority: [Priority])
420
-
421
- ---
422
-
423
- ## Known Issues
424
- | Priority | Issue | Status |
425
- |----------|-------|--------|
426
- | HIGH | [Bug Title] | [Phase] |
427
-
428
- ---
429
-
430
- ## Technical Notes
431
- [Aggregated from Features' Technical Notes fields]
432
-
433
- ---
434
-
435
- ## Session Notes
436
- [Local notes not synced to Hailer]
437
- ```
438
-
439
- ---
440
-
441
- ## Naming Conventions
442
-
443
- ### Features
444
- Use arrow prefix for related features:
445
- - `Sales Orders` (main workflow)
446
- - `Sales Orders → Automations`
447
- - `Sales Orders → ERP Integration`
448
-
449
- ### Tasks
450
- Specific and actionable:
451
- - `Add customer reference field to orders`
452
- - `Work on orders`
453
-
454
- ### Bugs
455
- Include context:
456
- - `Order total wrong when discount applied`
457
- - `Calculation bug`
458
-
459
- ### PRDs
460
- Always prefix with "PRD:":
461
- - `PRD: User Authentication`
462
- - `PRD: Sales Order Automations`
463
-
464
- ---
465
-
466
- ## Hailer Project Structure
467
-
468
- ```
469
- workspace/ # Local config (check FIRST)
470
- apps/ # Frontend apps (if monorepo)
471
- integrations/ # Backend services (if monorepo)
472
- .claude/
473
- agents/ # Agent definitions
474
- hooks/ # Safety hooks
475
- skills/ # On-demand documentation
476
- commands/ # Slash commands
477
- settings.json # Permissions
478
- CLAUDE.md # Project instructions
479
- DEVELOPMENT.md # Project state (synced with Hailer)
480
- SESSION-HANDOFF.md # Previous session context
481
- ```
482
-
483
- ### Key Principles
484
- - **Local-first**: Check `workspace/` before making API calls
485
- - **Skills before actions**: Load relevant skill before SDK/MCP commands
486
- - **Hooks protect you**: Push commands require confirmation via hooks
487
- - **Check scripts**: Run `npm run` to see available commands
488
- - **Session continuity**: Read SESSION-HANDOFF.md when resuming work
@@ -1,61 +0,0 @@
1
- ---
2
- name: hailer-rest-api
3
- description: Direct HTTP endpoints for Hailer platform operations
4
- version: 1.1.0
5
- triggers:
6
- - REST API
7
- - HTTP endpoint
8
- - curl
9
- - direct API call
10
- - backend integration
11
- - fallback when SDK lacks method
12
- ---
13
-
14
- # Hailer REST API Reference
15
-
16
- Direct HTTP endpoints for Hailer platform operations.
17
-
18
- ## When to Use
19
-
20
- - **Integrations** (Igor): Backend services that don't use `@hailer/cli`
21
- - **Apps** (Giuseppe): Fallback when `@hailer/app-sdk` lacks a method
22
- - **Documentation** (Marcus): Reference when documenting API endpoints
23
-
24
- ## Files
25
-
26
- | File | Domain | Key Operations |
27
- |------|--------|----------------|
28
- | `hailer-activities.md` | Activities | CRUD, kanban, timeline, linked, import |
29
- | `hailer-workflows.md` | Workflows | CRUD, fields, phases, permissions, templates |
30
- | `hailer-insights.md` | Insights | SQL views, execution, public insights |
31
- | `hailer-admin.md` | Admin | Auth, workspaces, users, teams, groups, apps, files |
32
- | `hailer-messaging.md` | Messaging | Discussions, messages, reactions, video |
33
- | `hailer-calendar.md` | Calendar | Calendars, events, recurring, iCal |
34
- | `hailer-feed.md` | Feed/Wall | Posts, comments, likes, pins |
35
-
36
- ## Common Patterns
37
-
38
- **Base URLs:**
39
- - Production: `https://api.hailer.com/api`
40
- - Staging: `https://api.hailer.biz/api`
41
-
42
- **Authentication:**
43
- ```bash
44
- -H "hlrkey: YOUR_SESSION_KEY"
45
- ```
46
-
47
- **Request format:** JSON-RPC style POST with array params
48
- ```bash
49
- curl -X POST "https://api.hailer.com/api/v3/endpoint" \
50
- -H "Content-Type: application/json" \
51
- -H "hlrkey: SESSION_KEY" \
52
- -d '["param1", {"option": "value"}]'
53
- ```
54
-
55
- ## Legacy Naming
56
-
57
- | Current | Legacy | Notes |
58
- |---------|--------|-------|
59
- | workflowId | processId | Used interchangeably |
60
- | workspaceId | networkId, cid, companyId | All refer to workspace |
61
- | activityId | - | Sometimes called "row" |