@elevasis/sdk 1.44.2 → 1.45.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 (245) hide show
  1. package/dist/cli.cjs +1001 -652
  2. package/dist/index.d.ts +1045 -509
  3. package/dist/index.js +748 -690
  4. package/dist/node/index.d.ts +105 -97
  5. package/dist/test-utils/index.d.ts +42 -28
  6. package/dist/test-utils/index.js +549 -732
  7. package/dist/worker/index.d.ts +12112 -0
  8. package/dist/worker/index.js +211 -186
  9. package/package.json +6 -9
  10. package/reference/_navigation.md +151 -21
  11. package/reference/_reference-manifest.json +186 -4
  12. package/reference/claude-config.md +8 -0
  13. package/reference/core/index.mdx +3 -3
  14. package/reference/examples/organization-model.ts +117 -111
  15. package/reference/index.mdx +4 -4
  16. package/reference/rules/active-change-index.md +40 -54
  17. package/reference/rules/agent-runtime.md +81 -0
  18. package/reference/rules/agent-start-here.md +71 -163
  19. package/reference/rules/deployment.md +33 -10
  20. package/reference/rules/error-handling.md +26 -0
  21. package/reference/rules/execution.md +13 -0
  22. package/reference/rules/frontend.md +10 -3
  23. package/reference/rules/observability.md +9 -1
  24. package/reference/rules/operations.md +26 -17
  25. package/reference/rules/organization-model.md +74 -88
  26. package/reference/rules/organization-os.md +71 -88
  27. package/reference/rules/package-taxonomy.md +11 -2
  28. package/reference/rules/platform.md +13 -7
  29. package/reference/rules/shared-types.md +15 -0
  30. package/reference/rules/task-tracking.md +30 -5
  31. package/reference/rules/ui.md +145 -3
  32. package/reference/rules/vibe-intents.md +271 -0
  33. package/reference/rules/vibe.md +17 -243
  34. package/reference/scaffold/core/organization-graph.mdx +111 -97
  35. package/reference/scaffold/core/organization-model.mdx +234 -214
  36. package/reference/scaffold/operations/propagation-pipeline.md +1 -1
  37. package/reference/scaffold/operations/scaffold-maintenance.md +19 -18
  38. package/reference/scaffold/operations/workflow-recipes.md +71 -19
  39. package/reference/scaffold/recipes/add-a-feature.md +156 -146
  40. package/reference/scaffold/recipes/add-a-resource.md +123 -117
  41. package/reference/scaffold/recipes/customize-crm-actions.md +25 -10
  42. package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
  43. package/reference/scaffold/recipes/customize-organization-model.md +161 -149
  44. package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
  45. package/reference/scaffold/recipes/extend-crm.md +16 -11
  46. package/reference/scaffold/recipes/extend-lead-gen.md +25 -7
  47. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
  48. package/reference/scaffold/recipes/index.md +2 -2
  49. package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
  50. package/reference/scaffold/reference/contracts.md +12 -1
  51. package/reference/scaffold/reference/glossary.md +3 -3
  52. package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
  53. package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
  54. package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
  55. package/reference/scaffold/ui/feature-shell.mdx +279 -62
  56. package/reference/scaffold/ui/recipes.md +229 -197
  57. package/reference/sdk/cli-management.mdx +77 -29
  58. package/reference/sdk/concepts.mdx +2 -0
  59. package/reference/sdk/define-builders.mdx +76 -0
  60. package/reference/sdk/deployment/command-center.mdx +6 -2
  61. package/reference/sdk/deployment/execution-reference.mdx +64 -186
  62. package/reference/sdk/deployment/index.mdx +2 -0
  63. package/reference/sdk/exports.mdx +4 -4
  64. package/reference/sdk/framework/agent.mdx +49 -119
  65. package/reference/sdk/framework/index.mdx +46 -65
  66. package/reference/sdk/framework/project-structure.mdx +150 -205
  67. package/reference/sdk/framework/tutorial-system.mdx +2 -2
  68. package/reference/sdk/human-in-the-loop.mdx +152 -0
  69. package/reference/sdk/index.mdx +6 -7
  70. package/reference/sdk/platform-tools/index.mdx +12 -0
  71. package/reference/sdk/platform-tools/type-safety.mdx +4 -0
  72. package/reference/sdk/project-deployment-spec.mdx +131 -0
  73. package/reference/sdk/resources/index.mdx +23 -7
  74. package/reference/sdk/resources/patterns.mdx +54 -24
  75. package/reference/sdk/resources/types.mdx +7 -4
  76. package/reference/sdk/templates/data-enrichment.mdx +7 -3
  77. package/reference/sdk/templates/email-sender.mdx +139 -135
  78. package/reference/sdk/templates/lead-scorer.mdx +5 -1
  79. package/reference/sdk/templates/pdf-generator.mdx +155 -151
  80. package/reference/sdk/templates/recurring-job.mdx +195 -189
  81. package/reference/sdk/templates/text-classifier.mdx +4 -0
  82. package/reference/sdk/templates/web-scraper.mdx +139 -135
  83. package/reference/spine/spine-primer.md +135 -96
  84. package/reference/ui/index.mdx +14 -7
  85. package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
  86. package/dist/types/worker/adapters/apify.d.ts +0 -14
  87. package/dist/types/worker/adapters/approval.d.ts +0 -23
  88. package/dist/types/worker/adapters/attio.d.ts +0 -22
  89. package/dist/types/worker/adapters/clickup.d.ts +0 -22
  90. package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
  91. package/dist/types/worker/adapters/crm.d.ts +0 -20
  92. package/dist/types/worker/adapters/dropbox.d.ts +0 -14
  93. package/dist/types/worker/adapters/email.d.ts +0 -25
  94. package/dist/types/worker/adapters/execution.d.ts +0 -22
  95. package/dist/types/worker/adapters/gmail.d.ts +0 -14
  96. package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
  97. package/dist/types/worker/adapters/index.d.ts +0 -33
  98. package/dist/types/worker/adapters/instantly.d.ts +0 -14
  99. package/dist/types/worker/adapters/lead.d.ts +0 -28
  100. package/dist/types/worker/adapters/list.d.ts +0 -9
  101. package/dist/types/worker/adapters/llm.d.ts +0 -45
  102. package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
  103. package/dist/types/worker/adapters/notification.d.ts +0 -28
  104. package/dist/types/worker/adapters/pdf.d.ts +0 -22
  105. package/dist/types/worker/adapters/projects.d.ts +0 -20
  106. package/dist/types/worker/adapters/resend.d.ts +0 -14
  107. package/dist/types/worker/adapters/scheduler.d.ts +0 -25
  108. package/dist/types/worker/adapters/signature-api.d.ts +0 -14
  109. package/dist/types/worker/adapters/storage.d.ts +0 -33
  110. package/dist/types/worker/adapters/stripe.d.ts +0 -14
  111. package/dist/types/worker/adapters/tomba.d.ts +0 -14
  112. package/dist/types/worker/index.d.ts +0 -60
  113. package/dist/types/worker/platform.d.ts +0 -90
  114. package/dist/types/worker/utils.d.ts +0 -9
  115. package/reference/claude-config/Overview.md +0 -230
  116. package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
  117. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
  118. package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
  119. package/reference/claude-config/registries/graph-skills.json +0 -4
  120. package/reference/claude-config/registries/knowledge-flags.json +0 -154
  121. package/reference/claude-config/registries/skill-coverage.json +0 -20
  122. package/reference/claude-config/rules/active-change-index.md +0 -22
  123. package/reference/claude-config/rules/agent-start-here.md +0 -22
  124. package/reference/claude-config/rules/deployment.md +0 -22
  125. package/reference/claude-config/rules/error-handling.md +0 -22
  126. package/reference/claude-config/rules/execution.md +0 -22
  127. package/reference/claude-config/rules/frontend.md +0 -22
  128. package/reference/claude-config/rules/observability.md +0 -22
  129. package/reference/claude-config/rules/operations.md +0 -22
  130. package/reference/claude-config/rules/organization-model.md +0 -22
  131. package/reference/claude-config/rules/organization-os.md +0 -22
  132. package/reference/claude-config/rules/package-taxonomy.md +0 -22
  133. package/reference/claude-config/rules/platform.md +0 -22
  134. package/reference/claude-config/rules/shared-types.md +0 -22
  135. package/reference/claude-config/rules/task-tracking.md +0 -22
  136. package/reference/claude-config/rules/topbar-actions.md +0 -70
  137. package/reference/claude-config/rules/ui.md +0 -22
  138. package/reference/claude-config/rules/vibe.md +0 -22
  139. package/reference/claude-config/scripts/statusline-command.js +0 -18
  140. package/reference/claude-config/settings.json +0 -30
  141. package/reference/claude-config/skills/client/SKILL.md +0 -201
  142. package/reference/claude-config/skills/deploy/SKILL.md +0 -159
  143. package/reference/claude-config/skills/dsp/SKILL.md +0 -66
  144. package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
  145. package/reference/claude-config/skills/explore/SKILL.md +0 -78
  146. package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
  147. package/reference/claude-config/skills/om/SKILL.md +0 -475
  148. package/reference/claude-config/skills/om/operations/build.md +0 -237
  149. package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
  150. package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
  151. package/reference/claude-config/skills/om/operations/customers.md +0 -114
  152. package/reference/claude-config/skills/om/operations/features.md +0 -88
  153. package/reference/claude-config/skills/om/operations/goals.md +0 -123
  154. package/reference/claude-config/skills/om/operations/identity.md +0 -97
  155. package/reference/claude-config/skills/om/operations/labels.md +0 -110
  156. package/reference/claude-config/skills/om/operations/offerings.md +0 -114
  157. package/reference/claude-config/skills/om/operations/roles.md +0 -104
  158. package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
  159. package/reference/claude-config/skills/om/operations/techStack.md +0 -38
  160. package/reference/claude-config/skills/project/SKILL.md +0 -1114
  161. package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
  162. package/reference/claude-config/skills/save/SKILL.md +0 -183
  163. package/reference/claude-config/skills/setup/SKILL.md +0 -290
  164. package/reference/claude-config/skills/status/SKILL.md +0 -59
  165. package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
  166. package/reference/claude-config/skills/sync/SKILL.md +0 -47
  167. package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
  168. package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
  169. package/reference/claude-config/skills/tutorial/technical.md +0 -1303
  170. package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
  171. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
  172. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
  173. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
  174. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
  175. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
  176. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
  177. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
  178. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
  179. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
  180. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
  181. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
  182. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
  183. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
  184. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
  185. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
  186. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
  187. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
  188. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
  189. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
  190. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
  191. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
  192. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
  193. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
  194. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
  195. package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
  196. package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
  197. package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
  198. package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
  199. package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
  200. package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
  201. package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
  202. package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
  203. package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
  204. package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
  205. package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
  206. package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
  207. package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
  208. package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
  209. package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
  210. package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
  211. package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
  212. package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
  213. package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
  214. package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
  215. package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
  216. package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
  217. package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
  218. package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
  219. package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
  220. package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
  221. package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
  222. package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
  223. package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
  224. package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
  225. package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
  226. package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
  227. package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
  228. package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
  229. package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
  230. package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
  231. package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
  232. package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
  233. package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
  234. package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
  235. package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
  236. package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
  237. package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
  238. package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
  239. package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
  240. package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
  241. package/reference/claude-config/sync-notes/README.md +0 -43
  242. package/reference/sdk/framework/interaction-guidance.mdx +0 -182
  243. package/reference/sdk/framework/memory.mdx +0 -326
  244. package/reference/sdk/framework/resource-documentation.mdx +0 -90
  245. package/reference/sdk/roadmap.mdx +0 -164
@@ -1,22 +0,0 @@
1
- ---
2
- description: Compatibility pointer for the canonical Vibe rule bundled with @elevasis/sdk
3
- ---
4
-
5
- # Vibe
6
-
7
- Canonical rule source:
8
-
9
- `operations/node_modules/@elevasis/sdk/reference/rules/vibe.md`
10
-
11
- When working in the monorepo template snapshot before dependencies are installed,
12
- use the repo-local generated fallback:
13
-
14
- `packages/sdk/reference/rules/vibe.md`
15
-
16
- If the generated fallback is stale or missing, use the source:
17
-
18
- `packages/sdk/docs/agent-rules/vibe.md`
19
-
20
- Read the bundled rule first when available. This local file is intentionally kept
21
- as a thin compatibility pointer for existing local rule references in skills,
22
- sync notes, and older prompts.
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env node
2
- let input = ''
3
- process.stdin.on('data', (chunk) => (input += chunk))
4
- process.stdin.on('end', () => {
5
- const data = JSON.parse(input)
6
- const model = data.model?.display_name || '?'
7
- const pct = Math.floor(data.context_window?.used_percentage || 0)
8
-
9
- const DIM = '\x1b[90m',
10
- RESET = '\x1b[0m'
11
-
12
- const ctxSize = data.context_window?.context_window_size || 0
13
- const usedTokens = Math.round((ctxSize * pct) / 100)
14
- const rounded = Math.round(usedTokens / 100) * 100
15
- const tokenStr = rounded >= 1000 ? (rounded / 1000).toFixed(1).replace(/\.0$/, '') + 'k' : String(rounded)
16
-
17
- console.log(`${DIM}[${RESET}${model}${DIM}]${RESET} ${tokenStr} Tokens`)
18
- })
@@ -1,30 +0,0 @@
1
- {
2
- "statusLine": {
3
- "type": "command",
4
- "command": "node .claude/scripts/statusline-command.js"
5
- },
6
- "hooks": {
7
- "PostToolUse": [
8
- {
9
- "matcher": "Write|Edit|MultiEdit",
10
- "hooks": [
11
- {
12
- "type": "command",
13
- "command": "node .claude/hooks/post-edit-validate.mjs"
14
- }
15
- ]
16
- }
17
- ],
18
- "PostToolUseFailure": [
19
- {
20
- "matcher": "Bash",
21
- "hooks": [
22
- {
23
- "type": "command",
24
- "command": "node .claude/hooks/tool-failure-recovery.mjs"
25
- }
26
- ]
27
- }
28
- ]
29
- }
30
- }
@@ -1,201 +0,0 @@
1
- ---
2
- name: client
3
- description: "Client portfolio management -- list, resolve, inspect, and maintain client records and their lineage to companies, contacts, and source deals -- via the elevasis-sdk client:* CLI."
4
- argument-hint: "[list | status | get | resolve | create | update | delete] [args]"
5
- allowed-tools: Bash, Read, Write, Edit, Glob, Grep
6
- ---
7
-
8
- # Client Management
9
-
10
- `/client` is the entrypoint for all client-portfolio work in the template. It covers:
11
-
12
- - **Portfolio status** -- bare `/client` or `/client status` gives a portfolio-level overview of all clients.
13
- - **Lookup and resolution** -- `/client <query>` or `/client resolve <query>` resolves a name or search term to a canonical client ID.
14
- - **Detail and lineage** -- `/client get <id>` returns full client detail including linked companies, contacts, and source deals.
15
- - **CRUD surface** -- create, update, and delete client records via `elevasis-sdk client:*`.
16
-
17
- **Usage:**
18
-
19
- - `/client` / `/client status` -- Portfolio overview (see "Status Mode" below). Wraps `client:status`.
20
- - `/client list [--search q] [--status s] [--limit n] [--offset n]` -- Paginated client list. Wraps `client:list`.
21
- - `/client <query>` / `/client resolve <query>` -- Fuzzy-resolve a client by name, UUID, or search string. Wraps `client:resolve`.
22
- - `/client get <id>` -- Full client detail: name, status, source, linked company, contact, deals. Wraps `client:get`.
23
- - `/client create --name "..." [options]` -- Create a new client (confirm ceremony). Wraps `client:create`.
24
- - `/client update <id> [options]` -- Update client fields (confirm ceremony). Wraps `client:update`.
25
- - `/client delete <id>` -- Delete a client (destructive -- explicit confirmation required). Wraps `client:delete`.
26
-
27
- ---
28
-
29
- ## Ambient Vibe Integration
30
-
31
- `/client` is the landing point for client-scoped vibe intents. Agents arriving from the ambient layer behave identically to a direct invocation.
32
-
33
- | Vibe intent | What vibe detected | What to do here |
34
- | -------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
35
- | **Describe** | "tell me about Acme", "what's the status of this client" | Resolve the client name via `client:resolve`, then run `client:get <id>` and narrate detail + lineage |
36
- | **Query** | "which clients are active", "list clients", "client status" | Run `client:list [--status s] [--search q]` or `client:status` and present the results |
37
- | **Navigate** | "focus on Acme", "switch to Acme", "back to Acme" | Resolve via `client:resolve <query>`, update scope to that client, narrate the new context |
38
- | **Capture** | "add a new client", "create a client for Beta LLC" | Draft fields from the user's message, confirm with user (Capture ceremony), then `client:create` |
39
- | **Transition** | "update Acme's status", "mark Acme as active" | Confirm the change with user (Transition ceremony), then `client:update <id> --status <new>` |
40
-
41
- `client:create`, `client:update`, and `client:delete` MUST route through the standard Capture/Transition confirm step before executing. The destructive `client:delete` requires explicit user confirmation (show what will be deleted and ask "Are you sure?" before proceeding).
42
-
43
- ---
44
-
45
- ## Prerequisites
46
-
47
- **Run from the project root** (the directory containing `.elevasis`). Before issuing any other commands, run:
48
-
49
- ```bash
50
- pnpm elevasis-sdk doctor
51
- ```
52
-
53
- If `doctor` fails, stop immediately and surface the error -- do not retry other commands. Fix the reported issue first (missing `.env`, bad API key, wrong directory), then re-run `doctor` before proceeding.
54
-
55
- ---
56
-
57
- ## Invocation Contract
58
-
59
- All `elevasis-sdk` commands in this skill use the wrapper script form:
60
-
61
- ```bash
62
- pnpm elevasis-sdk <subcommand> [flags]
63
- ```
64
-
65
- Available from the **project root** -- the directory that contains the `.elevasis` marker file. The long form `pnpm -C operations exec elevasis-sdk <subcommand>` is equivalent.
66
-
67
- ---
68
-
69
- ## Status Mode (bare `/client` or `/client status`)
70
-
71
- When invoked without a subcommand or with `status`, enter **client portfolio mode**: present a high-level overview and offer next actions.
72
-
73
- ```bash
74
- pnpm elevasis-sdk client:status --pretty
75
- ```
76
-
77
- Present the result as a compact summary: total clients, breakdown by status, and a suggestion of what to do next (e.g. "3 active clients. Inspect one with `/client get <id>` or list all with `/client list`").
78
-
79
- ---
80
-
81
- ## Operations
82
-
83
- ### `list [options]` -- Client List
84
-
85
- ```bash
86
- pnpm elevasis-sdk client:list --pretty
87
-
88
- # Filter by status
89
- pnpm elevasis-sdk client:list --status active --pretty
90
-
91
- # Search by name
92
- pnpm elevasis-sdk client:list --search "Acme" --pretty
93
-
94
- # Paginate
95
- pnpm elevasis-sdk client:list --limit 20 --offset 0 --pretty
96
- ```
97
-
98
- **Options:** `--status <status>`, `--search <query>`, `--limit <n>`, `--offset <n>`, `--api-url <url>`, `--pretty`
99
-
100
- Present as a compact table: name, status, source.
101
-
102
- ### `resolve <query>` -- Name-to-ID Resolution
103
-
104
- Resolves a name, UUID, or search string to a canonical client record. This is the primary tool for name-to-ID translation before any `get`, `update`, or `delete` call.
105
-
106
- ```bash
107
- pnpm elevasis-sdk client:resolve "Acme" --pretty
108
- ```
109
-
110
- If multiple candidates match, the CLI returns candidates -- pick the right one and confirm with the user before proceeding. If zero match, surface the error and suggest `client:list --search "<query>"` to browse.
111
-
112
- ### `get <id>` -- Client Detail and Lineage
113
-
114
- ```bash
115
- pnpm elevasis-sdk client:get <id> --pretty
116
- ```
117
-
118
- Returns full client detail: name, status, source, source deal, linked primary company, primary contact, and metadata. Narrate the lineage in plain language (e.g. "Acme Corp -- active client, sourced from deal john@acme.com, linked to Acme Corp (acq_companies)").
119
-
120
- ### `create` -- Create Client (Confirm Ceremony)
121
-
122
- **Always confirm before creating.** Collect required and optional fields, draft a summary, and ask the user to confirm before executing.
123
-
124
- **Required:** `--name <name>`
125
-
126
- **Optional:** `--status <status>`, `--source <source>`, `--source-deal-id <uuid>`, `--primary-company-id <uuid>`, `--primary-contact-id <uuid>`, `--metadata <json>`
127
-
128
- ```bash
129
- pnpm elevasis-sdk client:create \
130
- --name "Acme Corp" \
131
- --status active \
132
- --source deal \
133
- --source-deal-id <deal-uuid> \
134
- --pretty
135
- ```
136
-
137
- After creation, show the new client ID and suggest `/client get <id>` to verify.
138
-
139
- ### `update <id>` -- Update Client (Confirm Ceremony)
140
-
141
- **Always confirm before updating.** Show the current state via `client:get <id>`, draft the proposed changes, and ask the user to confirm before executing.
142
-
143
- **Options:** `--name <name>`, `--status <status>`, `--source <source>`, `--source-deal-id <uuid>`, `--clear-source-deal`, `--primary-company-id <uuid>`, `--clear-primary-company`, `--primary-contact-id <uuid>`, `--clear-primary-contact`, `--metadata <json>`
144
-
145
- ```bash
146
- pnpm elevasis-sdk client:update <id> --status active --pretty
147
- ```
148
-
149
- To clear a linked field, use the corresponding `--clear-*` flag (e.g. `--clear-source-deal`, `--clear-primary-company`, `--clear-primary-contact`). Do NOT pass an empty string -- it is rejected. Use the clear flag instead.
150
-
151
- ### `delete <id>` -- Delete Client (Destructive -- Explicit Confirmation Required)
152
-
153
- **ALWAYS confirm before deleting.** Show the client record first (via `client:get <id>`), then ask the user explicitly: "Delete client `<name>` (`<id>`)? This cannot be undone." Only proceed after an affirmative confirmation.
154
-
155
- ```bash
156
- pnpm elevasis-sdk client:delete <id> --pretty
157
- ```
158
-
159
- ---
160
-
161
- ## Client Inference
162
-
163
- When the user refers to a client by name rather than ID, resolve using these steps (in priority order):
164
-
165
- 1. **Exact UUID** -- if the argument looks like a UUID, use it directly with `client:get`
166
- 2. **`client:resolve`** -- run `client:resolve "<name>"` to fuzzy-match by name; use the returned ID
167
- 3. **`client:list --search`** -- if `resolve` returns no match, search with `client:list --search "<name>"` and present candidates
168
- 4. **Context from conversation** -- if a specific client was resolved earlier in this session, prefer it
169
- 5. **Ambiguous** -- if multiple match or none match, show candidates and ask
170
-
171
- ---
172
-
173
- ## Natural Language Mode
174
-
175
- When args do not match any command pattern, infer intent from natural language:
176
-
177
- | User says | Inferred operation |
178
- | ------------------------------------------------- | ----------------------------------------------------------- |
179
- | "show me Acme" | `resolve "Acme"` then `get <id>` |
180
- | "who are our active clients" | `list --status active --pretty` |
181
- | "client overview" / "how many clients do we have" | `status --pretty` |
182
- | "add a new client: Beta LLC" | `create --name "Beta LLC"` (confirm ceremony) |
183
- | "update Acme to active" | `resolve "Acme"` then `update <id> --status active` |
184
- | "delete the Gamma client" | `resolve "Gamma"` then `delete <id>` (explicit confirm) |
185
- | "link Acme to deal <uuid>" | `resolve "Acme"` then `update <id> --source-deal-id <uuid>` |
186
- | "remove Acme's source deal" | `resolve "Acme"` then `update <id> --clear-source-deal` |
187
-
188
- ---
189
-
190
- ## Safety Rules
191
-
192
- 1. **Always confirm create/update/delete** -- show proposed changes and ask the user before executing any write operation
193
- 2. **Explicit confirmation for delete** -- `client:delete` is irreversible; require an affirmative "yes" before running
194
- 3. **Organization scoping** -- all API calls are automatically org-scoped via `ELEVASIS_PLATFORM_KEY`; no `--org` flag is required
195
- 4. **Read before write** -- when updating, show current state via `client:get` before applying changes
196
- 5. **Use `--clear-*` flags to unlink** -- never pass empty strings to clear linked fields; use `--clear-source-deal`, `--clear-primary-company`, or `--clear-primary-contact`
197
- 6. **Template project assumption** -- the template is a single-organization project; all `/client` operations are scoped by `ELEVASIS_PLATFORM_KEY`; there is no cross-org capability
198
-
199
- ---
200
-
201
- **Last Updated:** 2026-06-03
@@ -1,159 +0,0 @@
1
- ---
2
- name: deploy
3
- description: Test, build, fix issues, then commit and push
4
- ---
5
-
6
- # Deploy
7
-
8
- Test, build, fix issues, then commit and push.
9
-
10
- **Usage:** `/deploy [--skip] [--minor | --major] [commit message]`
11
-
12
- ## Flags
13
-
14
- - `--skip` -- Skip tests, type checking, and build (Steps 2-4). Go straight from pre-flight to commit and push.
15
- - `--minor` -- Bump the minor version instead of patch (e.g. 1.0.0 -> 1.1.0).
16
- - `--major` -- Bump the major version instead of patch (e.g. 1.0.0 -> 2.0.0).
17
-
18
- ## Process
19
-
20
- ### Step 1: Pre-flight Check
21
-
22
- Run in parallel:
23
-
24
- ```bash
25
- git status
26
- git diff --stat
27
- ```
28
-
29
- If there are no changes, report "Nothing to deploy" and stop.
30
-
31
- ### Step 1b: Version Bump
32
-
33
- Read the current version from `package.json`, then bump it:
34
-
35
- - Default: bump **patch** (e.g. 1.0.0 -> 1.0.1)
36
- - `--minor`: bump **minor** (e.g. 1.0.0 -> 1.1.0)
37
- - `--major`: bump **major** (e.g. 1.0.0 -> 2.0.0)
38
-
39
- Use the Edit tool to update the `"version"` field in `package.json` directly. Do not use `npm version` or any CLI command.
40
-
41
- ### Step 2: Run Tests
42
-
43
- ```bash
44
- pnpm test
45
- ```
46
-
47
- If tests fail:
48
-
49
- 1. Read the failing test output
50
- 2. Attempt to fix the issue
51
- 3. Re-run tests
52
- 4. If still failing after 2 attempts, stop and report the failures
53
-
54
- ### Step 3: Type Check
55
-
56
- Root has no `lint` script -- `lint` only exists in `ui/package.json` (`tsc --noEmit`). `operations/package.json` has an equivalent `check-types` script; `core/package.json` has neither `lint` nor `check-types` (only `test`). Run:
57
-
58
- ```bash
59
- pnpm -C ui lint
60
- pnpm -C operations check-types
61
- ```
62
-
63
- If type errors exist:
64
-
65
- 1. Read the errors
66
- 2. Attempt to fix
67
- 3. Re-run
68
- 4. If still failing after 2 attempts, stop and report
69
-
70
- ### Step 4: Build
71
-
72
- ```bash
73
- pnpm build
74
- ```
75
-
76
- If build fails:
77
-
78
- 1. Read the error output
79
- 2. Attempt to fix
80
- 3. Re-run
81
- 4. If still failing after 2 attempts, stop and report
82
-
83
- ### Step 5: Commit
84
-
85
- 1. Stage all changed files: `git add -A`
86
- 2. Create commit with the provided message (or auto-generate from changes)
87
- 3. Format: conventional commits (feat:, fix:, chore:, docs:, etc.)
88
-
89
- ```bash
90
- git add -A
91
- git commit -m "<message>"
92
- ```
93
-
94
- ### Step 6: Push
95
-
96
- ```bash
97
- git push
98
- ```
99
-
100
- If push fails (e.g., remote has new commits):
101
-
102
- 1. `git pull --rebase`
103
- 2. Re-run tests to verify no conflicts broke anything
104
- 3. `git push`
105
-
106
- ### Step 7: Report
107
-
108
- ```
109
- Deploy Complete
110
- ===============
111
- Version: <old> -> <new>
112
- Tests: passed
113
- Types: clean
114
- Build: success
115
- Commit: <hash> - <message>
116
- Push: pushed to <branch>
117
- ```
118
-
119
- ### Step 8: Project Task Status Transition
120
-
121
- After a successful push, mark any linked project task as `submitted`. This is a best-effort fanout -- it must never fail the deploy.
122
-
123
- 1. **Resolve the task ID.** Look for a `prj_tasks` UUID tied to the current work, in this order:
124
- - A task UUID explicitly captured in the current conversation (e.g. from a previous `/save`, `/project work`, or `project:task:*` invocation).
125
- - The most recent in-progress task on the most-recently-touched project, via:
126
-
127
- ```bash
128
- pnpm elevasis-sdk project:list --status active --pretty
129
- pnpm elevasis-sdk project:list --status blocked --pretty
130
- pnpm elevasis-sdk project:task:list --project <project-id> --status in_progress --pretty
131
- ```
132
-
133
- - If the session produced an ambiguous or empty result, PROMPT the user once: "Mark a project task as submitted? (task UUID, or 'skip')". Default is skip.
134
-
135
- 2. **Fire the transition** (only when a single confident task ID is resolved):
136
-
137
- ```bash
138
- pnpm elevasis-sdk project:task:update <task-id> --status submitted
139
- ```
140
-
141
- 3. **Failure handling.** If the CLI call errors, no task ID can be resolved, or the user declines, emit a single warning line and continue:
142
-
143
- ```
144
- Warning: skipped project:task status transition (<reason>). Deploy itself succeeded.
145
- ```
146
-
147
- Never retry, never block the deploy report, never exit non-zero on this step.
148
-
149
- ## Error Recovery
150
-
151
- If any step fails and cannot be auto-fixed:
152
-
153
- ```
154
- Deploy Failed at Step N: [step name]
155
- =====================================
156
- Error: [description]
157
- Attempted fixes: [what was tried]
158
- Manual action needed: [what the user should do]
159
- ```
@@ -1,66 +0,0 @@
1
- ---
2
- name: dsp
3
- description: Dispatch subagents in parallel for implementation tasks
4
- ---
5
-
6
- # DSP -- Dispatch Subagents in Parallel
7
-
8
- Parallel agent dispatch for implementation tasks. Orchestrate, then delegate to subagents.
9
-
10
- **Usage:** `/dsp <instructions>`
11
-
12
- ## Rules
13
-
14
- 1. **Always dispatch, never self-execute** -- the purpose is to offload work to subagents
15
- 2. **Parallel within waves** -- all agents in a wave dispatched in a SINGLE message
16
- 3. **Orient first** -- read `.claude/rules/agent-start-here.md` before planning to understand project structure and task routing
17
-
18
- ## Process
19
-
20
- ### Step 1: Understand Context
21
-
22
- 1. Read `.claude/rules/agent-start-here.md` for project structure, task-class routing, and boundary resolution
23
- 2. Read relevant architecture/feature docs based on the task domain
24
- 3. If the task touches code, explore the relevant `src/` directories
25
-
26
- ### Step 2: Analyze Complexity
27
-
28
- **Single-Wave** -- all tasks independent, dispatch everything at once
29
- **Multi-Wave** -- tasks have dependencies, execute waves sequentially
30
-
31
- ### Step 3: Plan
32
-
33
- For each unit of work, identify:
34
-
35
- - What files/areas are affected
36
- - What context the subagent needs
37
- - Whether it depends on another task's output
38
-
39
- Print the plan:
40
-
41
- ```
42
- DSP Plan: N waves, M tasks
43
- Wave 1: [description] -- N tasks
44
- Wave 2: [description] -- N tasks (if multi-wave)
45
- Dispatching Wave 1...
46
- ```
47
-
48
- ### Step 4: Dispatch
49
-
50
- Use the Agent tool with `subagent_type="general-purpose"` and `model="sonnet"`.
51
-
52
- Each agent prompt must include:
53
-
54
- - The specific task to accomplish
55
- - Relevant file paths and context
56
- - Instruction to use backslash paths for file operations on Windows
57
-
58
- ### Step 5: Aggregate Results
59
-
60
- ```
61
- DSP Results: [description]
62
-
63
- Tasks completed: X/Y
64
- Files modified: [list]
65
- Next steps: [if any]
66
- ```