@elevasis/sdk 1.15.1 → 1.17.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 (60) hide show
  1. package/dist/cli.cjs +2325 -124
  2. package/dist/index.d.ts +410 -473
  3. package/dist/index.js +96 -44
  4. package/dist/node/index.d.ts +69 -0
  5. package/dist/node/index.js +273 -0
  6. package/dist/test-utils/index.d.ts +473 -466
  7. package/dist/types/worker/platform.d.ts +2 -9
  8. package/package.json +12 -3
  9. package/reference/_navigation.md +23 -1
  10. package/reference/_reference-manifest.json +98 -0
  11. package/reference/claude-config/rules/agent-start-here.md +13 -0
  12. package/reference/claude-config/rules/organization-model.md +40 -40
  13. package/reference/claude-config/rules/organization-os.md +16 -16
  14. package/reference/claude-config/rules/vibe.md +13 -13
  15. package/reference/claude-config/skills/knowledge/SKILL.md +253 -0
  16. package/reference/claude-config/skills/{configure → knowledge}/operations/codify-level-a.md +100 -100
  17. package/reference/claude-config/skills/{configure → knowledge}/operations/codify-level-b.md +158 -158
  18. package/reference/claude-config/skills/knowledge/operations/customers.md +109 -0
  19. package/reference/claude-config/skills/knowledge/operations/features.md +113 -0
  20. package/reference/claude-config/skills/knowledge/operations/goals.md +118 -0
  21. package/reference/claude-config/skills/knowledge/operations/identity.md +93 -0
  22. package/reference/claude-config/skills/knowledge/operations/labels.md +89 -0
  23. package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -0
  24. package/reference/claude-config/skills/knowledge/operations/roles.md +99 -0
  25. package/reference/claude-config/skills/knowledge/operations/techStack.md +102 -0
  26. package/reference/claude-config/skills/run-ui/SKILL.md +73 -0
  27. package/reference/claude-config/skills/setup/SKILL.md +270 -270
  28. package/reference/claude-config/skills/tutorial/SKILL.md +249 -0
  29. package/reference/claude-config/skills/tutorial/progress-template.md +74 -0
  30. package/reference/claude-config/skills/tutorial/technical.md +1309 -0
  31. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -0
  32. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -0
  33. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -0
  34. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -0
  35. package/reference/deployment/index.mdx +5 -5
  36. package/reference/examples/organization-model.ts +40 -0
  37. package/reference/framework/index.mdx +1 -1
  38. package/reference/framework/tutorial-system.mdx +86 -173
  39. package/reference/packages/core/src/knowledge/README.md +32 -0
  40. package/reference/packages/ui/src/knowledge/README.md +31 -0
  41. package/reference/packages/ui/src/theme/presets/README.md +19 -0
  42. package/reference/scaffold/core/organization-model.mdx +1 -1
  43. package/reference/scaffold/recipes/add-a-feature.md +1 -1
  44. package/reference/scaffold/recipes/customize-crm-actions.md +433 -433
  45. package/reference/scaffold/recipes/customize-organization-model.md +3 -3
  46. package/reference/scaffold/recipes/extend-lead-gen.md +90 -55
  47. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +1 -1
  48. package/reference/scaffold/recipes/index.md +6 -0
  49. package/reference/scaffold/reference/contracts.md +1265 -1154
  50. package/reference/scaffold/reference/feature-registry.md +2 -1
  51. package/reference/scaffold/ui/composition-extensibility.mdx +17 -0
  52. package/reference/claude-config/skills/configure/SKILL.md +0 -98
  53. package/reference/claude-config/skills/configure/operations/customers.md +0 -150
  54. package/reference/claude-config/skills/configure/operations/features.md +0 -162
  55. package/reference/claude-config/skills/configure/operations/goals.md +0 -147
  56. package/reference/claude-config/skills/configure/operations/identity.md +0 -133
  57. package/reference/claude-config/skills/configure/operations/labels.md +0 -128
  58. package/reference/claude-config/skills/configure/operations/offerings.md +0 -159
  59. package/reference/claude-config/skills/configure/operations/roles.md +0 -153
  60. package/reference/claude-config/skills/configure/operations/techStack.md +0 -139
@@ -0,0 +1,249 @@
1
+ ---
2
+ name: tutorial
3
+ description: |
4
+ Persona-aware onboarding tutorial that forks into a vibe-coder track (zero technical
5
+ vocabulary, agent does all the work) or a technical track (full SDK depth, code-first).
6
+ On first invocation, asks one gate question to determine the user's track and persists the
7
+ choice to .claude/memory/profile.md. Subsequent invocations skip the question and display
8
+ the track menu with current progress markers. Supports /tutorial switch (flip track) and
9
+ /tutorial status (display-only).
10
+ argument-hint: "[switch | status]"
11
+ context: fork
12
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
13
+ ---
14
+
15
+ # Tutorial
16
+
17
+ Persona-aware onboarding. Forks at first invocation into a **vibe-coder track** (non-technical,
18
+ agent handles everything silently) or a **technical track** (developer-focused, full SDK depth).
19
+
20
+ **Usage:** `/tutorial` | `/tutorial switch` | `/tutorial status`
21
+
22
+ ---
23
+
24
+ ## Architecture Note
25
+
26
+ `profile.md` is read at session start alongside `.claude/rules/agent-start-here.md`. The rules
27
+ layer uses the track choice to adjust tone, vocabulary, and tool-call visibility project-wide.
28
+ This router does not enforce that tone -- it only writes profile.md and loads the right track
29
+ file. The project-wide tone effect is handled by the rules layer reading profile.md on each
30
+ session start.
31
+
32
+ ---
33
+
34
+ ## Step 1: Parse the Argument
35
+
36
+ Check whether the invocation included an argument:
37
+
38
+ - `/tutorial switch` -- go to [Switch Track](#switch-track)
39
+ - `/tutorial status` -- go to [Status Display](#status-display) (no prompt afterward)
40
+ - `/tutorial` (no argument) -- continue to Step 2
41
+
42
+ ---
43
+
44
+ ## Step 2: Check for Existing Profile
45
+
46
+ Read `.claude/memory/profile.md`.
47
+
48
+ - **File does not exist (first invocation):** go to [First Invocation](#first-invocation)
49
+ - **File exists:** go to [Returning Invocation](#returning-invocation)
50
+
51
+ ---
52
+
53
+ ## First Invocation
54
+
55
+ ### Ask the Gate Question
56
+
57
+ Print verbatim:
58
+
59
+ > "Are you here to **build automations by describing what you want** (and I handle the technical
60
+ > side), or are you a **developer** who'll edit code directly?"
61
+
62
+ Wait for the user's answer. Accept natural-language replies -- map to one of two tracks:
63
+
64
+ | User says (examples) | Track |
65
+ | ---------------------------------------------------------------- | ------------ |
66
+ | "describe what I want", "non-technical", "you handle it", "vibe" | `vibe-coder` |
67
+ | "developer", "edit code", "technical", "build myself", "code" | `technical` |
68
+
69
+ If the answer is ambiguous, ask once: "Just to confirm -- do you want me to handle the technical
70
+ side, or will you be editing code directly?"
71
+
72
+ ### Persist the Profile
73
+
74
+ Write `.claude/memory/profile.md` using the template below. Select the tone-implications block
75
+ that matches the chosen track.
76
+
77
+ **For vibe-coder track:**
78
+
79
+ ```markdown
80
+ # Project Profile
81
+
82
+ **Track:** vibe-coder
83
+ **Selected at:** YYYY-MM-DD
84
+ **Switch tracks:** Run `/tutorial switch` to change.
85
+
86
+ ## Tone Implications
87
+
88
+ In this project, always:
89
+ - Say "automation" instead of workflow / agent / resource
90
+ - Say "the information your automation needs" instead of schema / Zod / type
91
+ - Say "make it live" or "publish" instead of deploy
92
+ - Say "your business profile" instead of organization model / config
93
+ - Say "account connection" instead of credential
94
+ - Say "your dashboard" or "your map" instead of Operations / Command Center / Command View
95
+ - Say "your approval queue" instead of HITL / approval gate
96
+ - Never mention repo / monorepo / git
97
+ - Never mention TypeScript / pnpm / CLI
98
+ - Say "the tool the automation uses" instead of adapter / platform tool
99
+ - Say "updating your profile together" instead of /knowledge ceremony
100
+ - Run slash commands silently on the user's behalf -- never expose command names or code
101
+ ```
102
+
103
+ **For technical track:**
104
+
105
+ ```markdown
106
+ # Project Profile
107
+
108
+ **Track:** technical
109
+ **Selected at:** YYYY-MM-DD
110
+ **Switch tracks:** Run `/tutorial switch` to change.
111
+
112
+ ## Tone Implications
113
+
114
+ Code-first communication. Use current command names and SDK terminology without hand-holding.
115
+ No vocabulary substitutions. Slash commands may be surfaced directly. Full technical depth.
116
+ ```
117
+
118
+ ### Initialize Progress File
119
+
120
+ Read `.claude/memory/tutorial-progress.md`.
121
+
122
+ - If the file does not exist, read `.claude/skills/tutorial/progress-template.md` and write its
123
+ contents verbatim to `.claude/memory/tutorial-progress.md`. If `progress-template.md` is also
124
+ missing (sibling agent has not yet created it), write a minimal stub:
125
+
126
+ ```markdown
127
+ # Tutorial Progress
128
+
129
+ **Vibe-coder track**
130
+
131
+ - [ ] 1 Welcome
132
+ - [ ] 2 How to talk to me
133
+ - [ ] 3 Your business profile
134
+ - [ ] 4 Your first automation
135
+ - [ ] 5 Your dashboard
136
+ - [ ] 6 Your approval queue
137
+ - [ ] 7 Changing things later
138
+ - [ ] 8 When things go wrong
139
+
140
+ **Technical track**
141
+
142
+ - [ ] 1 What is this workspace
143
+ - [ ] 2 The skill layer
144
+ - [ ] 3 The vibe layer
145
+ - [ ] 4 Echo workflow tour
146
+ - [ ] 5 Custom workflow with schemas
147
+ - [ ] 6 Platform tools and credentials
148
+ - [ ] 7 Multi-step and conditionals
149
+ - [ ] 8 Going to production
150
+ - [ ] 9 /knowledge ceremony
151
+ - [ ] 10 Features and labels
152
+ - [ ] 11 Entity extensions
153
+ - [ ] 12 HITL
154
+ - [ ] 13 Schedules
155
+ - [ ] 14 Notifications + integrations
156
+ - [ ] 15 Error handling
157
+ - [ ] 16 LLM and agents
158
+ - [ ] 17 Composition
159
+ - [ ] 18 Rules, memory, scaffold registry
160
+ - [ ] 19 Template lifecycle and /git-sync
161
+ ```
162
+
163
+ - If the file already exists, leave it unchanged.
164
+
165
+ ### Load Track and Show Menu
166
+
167
+ Read the matching track file:
168
+
169
+ - `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
170
+ - `technical` track: `.claude/skills/tutorial/technical.md`
171
+
172
+ Read `.claude/memory/tutorial-progress.md` and apply progress markers to the menu (see
173
+ [Progress Markers](#progress-markers)). Display the menu. Prompt: "Pick a number to start."
174
+
175
+ ---
176
+
177
+ ## Returning Invocation
178
+
179
+ Read `.claude/memory/profile.md` and extract the **Track** field.
180
+
181
+ Read `.claude/memory/tutorial-progress.md`.
182
+
183
+ Load the matching track file:
184
+
185
+ - `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
186
+ - `technical` track: `.claude/skills/tutorial/technical.md`
187
+
188
+ Apply progress markers to the menu (see [Progress Markers](#progress-markers)). Display the
189
+ menu. Prompt: "Pick a number to continue, or type a number to jump to any lesson."
190
+
191
+ Wait for the user to pick a number, then follow that lesson's instructions from the track file.
192
+
193
+ ---
194
+
195
+ ## Progress Markers
196
+
197
+ When rendering any menu, annotate each item using the markers from `tutorial-progress.md`:
198
+
199
+ | Marker in progress file | Menu display |
200
+ | ----------------------- | ------------ |
201
+ | `[ ]` | `[ ]` |
202
+ | `[>]` | `[>]` |
203
+ | `[x] YYYY-MM-DD` | `[x]` |
204
+
205
+ Read the progress file, match items by lesson number and track section, and substitute the
206
+ marker inline. Items with no matching entry display `[ ]`.
207
+
208
+ ---
209
+
210
+ ## Switch Track
211
+
212
+ Print:
213
+
214
+ > "You're currently on the **{current-track}** track. Switching will show you the
215
+ > **{other-track}** menu. Your progress for each track is saved separately and will not be lost.
216
+ > Switch?"
217
+
218
+ Wait for confirmation. On yes:
219
+
220
+ 1. Read `.claude/memory/profile.md`.
221
+ 2. Update the **Track** field to the other track name.
222
+ 3. Update the **Selected at** date to today.
223
+ 4. Replace the Tone Implications block with the block for the new track (see [First Invocation](#first-invocation) for both blocks).
224
+ 5. Write the updated profile.md.
225
+ 6. Load the new track file and display the menu with current progress markers.
226
+ 7. Prompt: "Pick a number to start, or press Enter to begin at lesson 1."
227
+
228
+ On no: print "No change made." and stop.
229
+
230
+ Do not modify `tutorial-progress.md` -- it tracks per-track progress independently.
231
+
232
+ ---
233
+
234
+ ## Status Display
235
+
236
+ Same as [Returning Invocation](#returning-invocation) but do not show a number-prompt afterward.
237
+ If no profile exists yet, print:
238
+
239
+ > "No track selected yet. Run `/tutorial` to get started."
240
+
241
+ ---
242
+
243
+ ## Error States
244
+
245
+ - **Track file missing** (`vibe-coder.md` or `technical.md` not found): print "Track content
246
+ file is not yet available. It may still be generating -- try again in a moment." Do not
247
+ attempt to generate the content; it belongs to the sibling track files.
248
+ - **progress-template.md missing**: write the minimal stub documented in [First Invocation](#first-invocation). Do not fail.
249
+ - **profile.md malformed**: treat as missing and run the gate question again.
@@ -0,0 +1,74 @@
1
+ # Tutorial Progress
2
+
3
+ This file lives at `.claude/memory/tutorial-progress.md` once `/tutorial` runs for the first time.
4
+ It tracks per-track progress separately so users can switch tracks without losing state.
5
+
6
+ **Started:** {YYYY-MM-DD}
7
+ **Last session:** {YYYY-MM-DD}
8
+
9
+ ---
10
+
11
+ ## Vibe-Coder Track
12
+
13
+ ```
14
+ Your Tutorial
15
+ ==============
16
+ 1 Welcome -- what this place does for you [ ]
17
+ 2 How to talk to me [ ]
18
+ 3 Your business profile [ ]
19
+ 4 Your first automation [ ]
20
+ 5 Your dashboard -- where everything lives [ ]
21
+ 6 Your approval queue -- signing off on things [ ]
22
+ 7 Changing things later [ ]
23
+ 8 When things go wrong [ ]
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Technical Track
29
+
30
+ ```
31
+ SECTION A -- The workspace (3 items)
32
+ 1 What is this workspace [ ]
33
+ 2 The skill layer -- slash commands you'll use [ ]
34
+ 3 The vibe layer -- ambient intent classification [ ]
35
+
36
+ SECTION B -- Build your first thing (5 items)
37
+ 4 Echo workflow tour [ ]
38
+ 5 Custom workflow with schemas [ ]
39
+ 6 Platform tools and credentials [ ]
40
+ 7 Multi-step and conditionals [ ]
41
+ 8 Going to production [ ]
42
+
43
+ SECTION C -- The Organization Model (3 items)
44
+ 9 /knowledge ceremony -- identity, customers, [ ]
45
+ offerings via the layered flow
46
+ 10 Features and labels [ ]
47
+ 11 Entity extensions -- BaseProject, BaseDeal [ ]
48
+
49
+ SECTION D -- Modules (load on demand) (6 items)
50
+ 12 HITL [ ]
51
+ 13 Schedules [ ]
52
+ 14 Notifications + integrations [ ]
53
+ 15 Error handling [ ]
54
+ 16 LLM and agents [ ]
55
+ 17 Composition (execution.trigger) [ ]
56
+
57
+ SECTION E -- Power user (2 items)
58
+ 18 Rules, memory, scaffold registry [ ]
59
+ 19 Template lifecycle and /git-sync [ ]
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Completed Lessons
65
+
66
+ | Track | Item | Title | Completed | Duration |
67
+ | ---------- | ---- | ----- | --------- | -------- |
68
+ | _none yet_ | | | | |
69
+
70
+ ---
71
+
72
+ ## Capability Observations
73
+
74
+ (The teaching agent jots brief notes here, e.g. "user navigated Command Center confidently" or "user wanted code shown in lesson 4 -- flagged as candidate for /tutorial switch")