@elevasis/sdk 1.44.3 → 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.
- package/dist/cli.cjs +991 -650
- package/dist/index.d.ts +1045 -509
- package/dist/index.js +738 -688
- package/dist/node/index.d.ts +105 -97
- package/dist/test-utils/index.d.ts +42 -28
- package/dist/test-utils/index.js +514 -783
- package/dist/worker/index.d.ts +12112 -0
- package/dist/worker/index.js +121 -182
- package/package.json +6 -9
- package/reference/_navigation.md +151 -21
- package/reference/_reference-manifest.json +186 -4
- package/reference/claude-config.md +8 -0
- package/reference/core/index.mdx +3 -3
- package/reference/examples/organization-model.ts +117 -111
- package/reference/index.mdx +4 -4
- package/reference/rules/active-change-index.md +40 -54
- package/reference/rules/agent-runtime.md +81 -0
- package/reference/rules/agent-start-here.md +71 -163
- package/reference/rules/deployment.md +33 -10
- package/reference/rules/error-handling.md +26 -0
- package/reference/rules/execution.md +13 -0
- package/reference/rules/frontend.md +10 -3
- package/reference/rules/observability.md +9 -1
- package/reference/rules/operations.md +26 -17
- package/reference/rules/organization-model.md +74 -88
- package/reference/rules/organization-os.md +71 -88
- package/reference/rules/package-taxonomy.md +11 -2
- package/reference/rules/platform.md +13 -7
- package/reference/rules/shared-types.md +15 -0
- package/reference/rules/task-tracking.md +30 -5
- package/reference/rules/ui.md +145 -3
- package/reference/rules/vibe-intents.md +271 -0
- package/reference/rules/vibe.md +17 -243
- package/reference/scaffold/core/organization-graph.mdx +111 -97
- package/reference/scaffold/core/organization-model.mdx +234 -214
- package/reference/scaffold/operations/propagation-pipeline.md +1 -1
- package/reference/scaffold/operations/scaffold-maintenance.md +19 -18
- package/reference/scaffold/operations/workflow-recipes.md +71 -19
- package/reference/scaffold/recipes/add-a-feature.md +156 -146
- package/reference/scaffold/recipes/add-a-resource.md +123 -117
- package/reference/scaffold/recipes/customize-crm-actions.md +25 -10
- package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
- package/reference/scaffold/recipes/customize-organization-model.md +161 -149
- package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
- package/reference/scaffold/recipes/extend-crm.md +16 -11
- package/reference/scaffold/recipes/extend-lead-gen.md +25 -7
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
- package/reference/scaffold/recipes/index.md +2 -2
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
- package/reference/scaffold/reference/contracts.md +12 -1
- package/reference/scaffold/reference/glossary.md +3 -3
- package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
- package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
- package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
- package/reference/scaffold/ui/feature-shell.mdx +279 -62
- package/reference/scaffold/ui/recipes.md +229 -197
- package/reference/sdk/cli-management.mdx +77 -29
- package/reference/sdk/concepts.mdx +2 -0
- package/reference/sdk/define-builders.mdx +76 -0
- package/reference/sdk/deployment/command-center.mdx +6 -2
- package/reference/sdk/deployment/execution-reference.mdx +64 -186
- package/reference/sdk/deployment/index.mdx +2 -0
- package/reference/sdk/exports.mdx +4 -4
- package/reference/sdk/framework/agent.mdx +49 -119
- package/reference/sdk/framework/index.mdx +46 -65
- package/reference/sdk/framework/project-structure.mdx +150 -205
- package/reference/sdk/framework/tutorial-system.mdx +2 -2
- package/reference/sdk/human-in-the-loop.mdx +152 -0
- package/reference/sdk/index.mdx +6 -7
- package/reference/sdk/platform-tools/index.mdx +12 -0
- package/reference/sdk/platform-tools/type-safety.mdx +4 -0
- package/reference/sdk/project-deployment-spec.mdx +131 -0
- package/reference/sdk/resources/index.mdx +21 -7
- package/reference/sdk/resources/patterns.mdx +54 -24
- package/reference/sdk/resources/types.mdx +7 -4
- package/reference/sdk/templates/data-enrichment.mdx +7 -3
- package/reference/sdk/templates/email-sender.mdx +139 -135
- package/reference/sdk/templates/lead-scorer.mdx +5 -1
- package/reference/sdk/templates/pdf-generator.mdx +155 -151
- package/reference/sdk/templates/recurring-job.mdx +195 -189
- package/reference/sdk/templates/text-classifier.mdx +4 -0
- package/reference/sdk/templates/web-scraper.mdx +139 -135
- package/reference/spine/spine-primer.md +135 -96
- package/reference/ui/index.mdx +14 -7
- package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
- package/dist/types/worker/adapters/apify.d.ts +0 -14
- package/dist/types/worker/adapters/approval.d.ts +0 -23
- package/dist/types/worker/adapters/attio.d.ts +0 -22
- package/dist/types/worker/adapters/clickup.d.ts +0 -22
- package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
- package/dist/types/worker/adapters/crm.d.ts +0 -20
- package/dist/types/worker/adapters/dropbox.d.ts +0 -14
- package/dist/types/worker/adapters/email.d.ts +0 -25
- package/dist/types/worker/adapters/execution.d.ts +0 -22
- package/dist/types/worker/adapters/gmail.d.ts +0 -14
- package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
- package/dist/types/worker/adapters/index.d.ts +0 -33
- package/dist/types/worker/adapters/instantly.d.ts +0 -14
- package/dist/types/worker/adapters/lead.d.ts +0 -28
- package/dist/types/worker/adapters/list.d.ts +0 -9
- package/dist/types/worker/adapters/llm.d.ts +0 -45
- package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
- package/dist/types/worker/adapters/notification.d.ts +0 -28
- package/dist/types/worker/adapters/pdf.d.ts +0 -22
- package/dist/types/worker/adapters/projects.d.ts +0 -20
- package/dist/types/worker/adapters/resend.d.ts +0 -14
- package/dist/types/worker/adapters/scheduler.d.ts +0 -25
- package/dist/types/worker/adapters/signature-api.d.ts +0 -14
- package/dist/types/worker/adapters/storage.d.ts +0 -33
- package/dist/types/worker/adapters/stripe.d.ts +0 -14
- package/dist/types/worker/adapters/tomba.d.ts +0 -14
- package/dist/types/worker/index.d.ts +0 -60
- package/dist/types/worker/platform.d.ts +0 -90
- package/dist/types/worker/utils.d.ts +0 -9
- package/reference/claude-config/Overview.md +0 -230
- package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
- package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
- package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
- package/reference/claude-config/registries/graph-skills.json +0 -4
- package/reference/claude-config/registries/knowledge-flags.json +0 -154
- package/reference/claude-config/registries/skill-coverage.json +0 -20
- package/reference/claude-config/rules/active-change-index.md +0 -22
- package/reference/claude-config/rules/agent-start-here.md +0 -22
- package/reference/claude-config/rules/deployment.md +0 -22
- package/reference/claude-config/rules/error-handling.md +0 -22
- package/reference/claude-config/rules/execution.md +0 -22
- package/reference/claude-config/rules/frontend.md +0 -22
- package/reference/claude-config/rules/observability.md +0 -22
- package/reference/claude-config/rules/operations.md +0 -22
- package/reference/claude-config/rules/organization-model.md +0 -22
- package/reference/claude-config/rules/organization-os.md +0 -22
- package/reference/claude-config/rules/package-taxonomy.md +0 -22
- package/reference/claude-config/rules/platform.md +0 -22
- package/reference/claude-config/rules/shared-types.md +0 -22
- package/reference/claude-config/rules/task-tracking.md +0 -22
- package/reference/claude-config/rules/topbar-actions.md +0 -70
- package/reference/claude-config/rules/ui.md +0 -22
- package/reference/claude-config/rules/vibe.md +0 -22
- package/reference/claude-config/scripts/statusline-command.js +0 -18
- package/reference/claude-config/settings.json +0 -30
- package/reference/claude-config/skills/client/SKILL.md +0 -201
- package/reference/claude-config/skills/deploy/SKILL.md +0 -159
- package/reference/claude-config/skills/dsp/SKILL.md +0 -66
- package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
- package/reference/claude-config/skills/explore/SKILL.md +0 -78
- package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
- package/reference/claude-config/skills/om/SKILL.md +0 -475
- package/reference/claude-config/skills/om/operations/build.md +0 -237
- package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
- package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
- package/reference/claude-config/skills/om/operations/customers.md +0 -114
- package/reference/claude-config/skills/om/operations/features.md +0 -88
- package/reference/claude-config/skills/om/operations/goals.md +0 -123
- package/reference/claude-config/skills/om/operations/identity.md +0 -97
- package/reference/claude-config/skills/om/operations/labels.md +0 -110
- package/reference/claude-config/skills/om/operations/offerings.md +0 -114
- package/reference/claude-config/skills/om/operations/roles.md +0 -104
- package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
- package/reference/claude-config/skills/om/operations/techStack.md +0 -38
- package/reference/claude-config/skills/project/SKILL.md +0 -1114
- package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
- package/reference/claude-config/skills/save/SKILL.md +0 -183
- package/reference/claude-config/skills/setup/SKILL.md +0 -290
- package/reference/claude-config/skills/status/SKILL.md +0 -59
- package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
- package/reference/claude-config/skills/sync/SKILL.md +0 -47
- package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
- package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
- package/reference/claude-config/skills/tutorial/technical.md +0 -1303
- package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
- package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
- package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
- package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
- package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
- package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
- package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
- package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
- package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
- package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
- package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
- package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
- package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
- package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
- package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
- package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
- package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
- package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
- package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
- package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
- package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
- package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
- package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
- package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
- package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
- package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
- package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
- package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
- package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
- package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
- package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
- package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
- package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
- package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
- package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
- package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
- package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
- package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
- package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
- package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
- package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
- package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
- package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
- package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
- package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
- package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
- package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
- package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
- package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
- package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
- package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
- package/reference/claude-config/sync-notes/2026-08-03-agent-prose-escape-normalization.md +0 -88
- package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
- package/reference/claude-config/sync-notes/README.md +0 -43
- package/reference/sdk/framework/interaction-guidance.mdx +0 -182
- package/reference/sdk/framework/memory.mdx +0 -326
- package/reference/sdk/framework/resource-documentation.mdx +0 -90
- 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
|
-
```
|