@elevasis/sdk 0.5.3 → 0.5.5

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 CHANGED
@@ -43695,13 +43695,15 @@ var esbuild = __toESM(require("esbuild"), 1);
43695
43695
  // src/cli/config.ts
43696
43696
  var DEV_API_URL = "http://localhost:5170";
43697
43697
  var PROD_API_URL = "https://api.elevasis.io";
43698
- function resolveApiUrl(cliOverride) {
43698
+ function resolveApiUrl(cliOverride, prod) {
43699
43699
  if (cliOverride) return cliOverride;
43700
+ if (prod) return PROD_API_URL;
43700
43701
  if (process.env.ELEVASIS_API_URL) return process.env.ELEVASIS_API_URL;
43701
43702
  if (process.env.NODE_ENV === "development") return DEV_API_URL;
43702
43703
  return PROD_API_URL;
43703
43704
  }
43704
- function resolveEnvironment() {
43705
+ function resolveEnvironment(prod) {
43706
+ if (prod) return "production";
43705
43707
  return process.env.NODE_ENV === "development" ? "development" : "production";
43706
43708
  }
43707
43709
 
@@ -43785,7 +43787,7 @@ async function apiDelete(endpoint, apiUrl = resolveApiUrl()) {
43785
43787
  // package.json
43786
43788
  var package_default = {
43787
43789
  name: "@elevasis/sdk",
43788
- version: "0.5.3",
43790
+ version: "0.5.5",
43789
43791
  description: "SDK for building Elevasis organization resources",
43790
43792
  "comment:bin": "IMPORTANT: This package shares the 'elevasis' binary name with @repo/cli. They never conflict because @elevasis/sdk must NEVER be added as a dependency of any workspace package (apps/*, packages/*, organizations/*). Workspace projects use @repo/cli for the 'elevasis' binary. External developers (outside the workspace) get this SDK's binary via npm install.",
43791
43793
  type: "module",
@@ -44304,10 +44306,10 @@ async function generateProjectMap(org) {
44304
44306
  await (0, import_promises.writeFile)((0, import_path.resolve)("docs/project-map.mdx"), lines.join("\n"), "utf-8");
44305
44307
  }
44306
44308
  function registerDeployCommand(program3) {
44307
- program3.command("deploy").description("Validate, bundle, upload, and deploy project resources\n Example: elevasis deploy --api-url http://localhost:5170").option("--api-url <url>", "API URL").option("--entry <path>", "Path to entry file (default: ./src/index.ts)").action(wrapAction("deploy", async (options2) => {
44309
+ program3.command("deploy").description("Validate, bundle, upload, and deploy project resources\n Example: elevasis deploy --api-url http://localhost:5170").option("--api-url <url>", "API URL").option("--entry <path>", "Path to entry file (default: ./src/index.ts)").option("--prod", "Deploy to production (overrides NODE_ENV=development)").action(wrapAction("deploy", async (options2) => {
44308
44310
  const startTime = Date.now();
44309
- const apiUrl = resolveApiUrl(options2.apiUrl);
44310
- const env2 = resolveEnvironment();
44311
+ const apiUrl = resolveApiUrl(options2.apiUrl, options2.prod);
44312
+ const env2 = resolveEnvironment(options2.prod);
44311
44313
  const entryPath = options2.entry ?? "./src/index.ts";
44312
44314
  const authSpinner = ora("Authenticating...").start();
44313
44315
  let orgName;
@@ -45074,7 +45076,7 @@ var import_path3 = require("path");
45074
45076
  var import_promises2 = require("fs/promises");
45075
45077
 
45076
45078
  // src/cli/commands/templates/core/workspace.ts
45077
- var TEMPLATE_VERSION = 21;
45079
+ var TEMPLATE_VERSION = 22;
45078
45080
  function configTemplate() {
45079
45081
  return `import type { ElevasConfig } from '@elevasis/sdk'
45080
45082
 
@@ -45492,6 +45494,7 @@ For detailed per-dimension adaptation rules, read
45492
45494
  | Command | Purpose |
45493
45495
  | --- | --- |
45494
45496
  | \`/meta\` | Project lifecycle: init, status, fix, deploy, health |
45497
+ | \`/docs\` | Browse, create, and verify permanent documentation |
45495
45498
  | \`/work\` | Task tracking: create, save, resume, complete |
45496
45499
  | \`/tutorial\` | Progressive learning path (7 core lessons + 9 modules) |
45497
45500
 
@@ -45575,67 +45578,57 @@ Read \`.claude/memory/tutorial-progress.md\` to check current lesson progress.
45575
45578
  When \`/tutorial\` is invoked:
45576
45579
 
45577
45580
  1. Read \`.claude/memory/tutorial-progress.md\` (if it exists)
45578
- 2. Display the appropriate menu:
45579
-
45580
- **No progress (first time):**
45581
-
45582
- \`\`\`
45583
- Welcome to the Elevasis Tutorial!
45584
- ==================================
45585
-
45586
- What would you like to learn?
45587
-
45588
- 1. Orchestration Concepts (Core Path)
45589
- Build workflows step-by-step: data schemas, platform tools,
45590
- multi-step flows, decision points, and production deployment.
45591
- 7 lessons -- estimated 2-3 hours total.
45581
+ 2. Display the full menu table. Fill in progress indicators from the progress file.
45582
+ 3. User picks a number -> start or resume that item directly. No track gating.
45592
45583
 
45593
- 2. Examples & Advanced Modules
45594
- Hands-on deep-dives: human-in-the-loop, scheduling,
45595
- notifications, integrations, LLM, agents, and more.
45596
- 9 standalone modules -- pick any order.
45584
+ Progress indicators: \`[ ]\` not started, \`[>]\` in progress, \`[x] YYYY-MM-DD\` complete.
45597
45585
 
45598
- 3. Meta-Framework
45599
- Learn the Claude Code context system: /meta, /work,
45600
- rules, memory, and how to customize your workspace.
45601
- 5 lessons -- estimated 1-2 hours total.
45586
+ Example (first time, no progress):
45602
45587
 
45603
- Pick a number to start, or say "status" to see your progress.
45604
45588
  \`\`\`
45605
-
45606
- **With existing progress:**
45607
-
45608
- Show active tracks at the top, then offer resume options alongside new choices. Example:
45609
-
45610
- \`\`\`
45611
- Progress: Core Path (Lesson 4/7) | Meta-Framework (MF2/5)
45612
-
45613
- 1. Resume Orchestration Concepts (Lesson 4)
45614
- 2. Orchestration Concepts (Core Path -- start over)
45615
- 3. Examples & Advanced Modules
45616
- 4. Resume Meta-Framework (MF2)
45617
- 5. Meta-Framework (start over)
45618
- 6. Show full status
45619
-
45620
- Pick a number, or describe what you'd like to learn.
45589
+ Elevasis Tutorial
45590
+ ==================
45591
+
45592
+ ORCHESTRATION CONCEPTS 0/7
45593
+ 1 Welcome & Orientation [ ]
45594
+ 2 Your First Custom Workflow [ ]
45595
+ 3 Understanding Data (Schemas) [ ]
45596
+ 4 Using Platform Tools [ ]
45597
+ 5 Multi-Step Workflows [ ]
45598
+ 6 Decision Points [ ]
45599
+ 7 Going to Production [ ]
45600
+
45601
+ EXAMPLES & ADVANCED MODULES 0/9
45602
+ 8 Human-in-the-Loop [ ]
45603
+ 9 Task Scheduling [ ]
45604
+ 10 Notification System [ ]
45605
+ 11 Real-World Integrations [ ]
45606
+ 12 Error Handling Mastery [ ]
45607
+ 13 Advanced Workflows [ ]
45608
+ 14 Resource Composition [ ]
45609
+ 15 LLM Integration [ ]
45610
+ 16 AI Agents [ ]
45611
+
45612
+ META-FRAMEWORK 0/5
45613
+ 17 The Agent Framework [ ]
45614
+ 18 The /meta Command [ ]
45615
+ 19 /work and /docs [ ]
45616
+ 20 Rules, Memory, and Customization [ ]
45617
+ 21 Template Lifecycle [ ]
45618
+
45619
+ Pick a number to start.
45621
45620
  \`\`\`
45622
45621
 
45623
- After user picks:
45624
- - Orchestration Concepts: Resume or start core lesson flow
45625
- - Examples & Advanced Modules: Show module menu (see ## Module Menu)
45626
- - Meta-Framework: Resume or start MF1 (see ## Meta-Framework Track)
45627
- - "status": Display Phase, current position, completion counts
45622
+ Always show this full table when \`/tutorial\` is invoked. Populate progress
45623
+ indicators from completed/current state. \`"status"\` -> show the same table.
45628
45624
 
45629
45625
  ## Progress Logic
45630
45626
 
45631
45627
  1. Read \`.claude/memory/tutorial-progress.md\`
45632
- 2. Show the menu (## Menu section) with progress summary if progress exists
45633
- 3. After user picks a track:
45634
- - **Orchestration Concepts**: If Completed Lessons < 7 -> start/resume at Current Lesson; if 7 complete -> note completion, offer module menu or repeat
45635
- - **Examples & Advanced Modules**: Show module menu (## Module Menu section)
45636
- - **Meta-Framework**: If Current MF Lesson is set -> resume at that lesson; otherwise start MF1
45637
- 4. Track completion: mark the track done in progress file when all lessons/modules complete
45638
- 5. If all three tracks complete -> set Phase to \`complete\`, congratulate, suggest exploring docs/ or /work
45628
+ 2. Show the full menu table (## Menu) with progress filled in
45629
+ 3. User picks a number -> start or resume that lesson or module directly
45630
+ 4. After completion: mark done in progress file, show updated menu table
45631
+ 5. All 21 items complete -> congratulate, suggest exploring docs/ or /work
45639
45632
 
45640
45633
  ## Lesson Flow
45641
45634
 
@@ -45643,7 +45636,7 @@ Each lesson follows this flow:
45643
45636
  1. Announce lesson title and what they'll learn (1-2 sentences)
45644
45637
  2. Explain the concept (read docs per skill level, adapt to user)
45645
45638
  3. Guide user to build or modify something (agent writes all code for automation: none)
45646
- 4. Verify it works (Execution Runner is primary for none; CLI + UI are equal for others)
45639
+ 4. Verify it works (CLI primary for all levels; Command Center for visual review -- Command View, Execution Logs)
45647
45640
  5. Celebrate success, record observations in \`.claude/memory/tutorial-progress.md\`
45648
45641
  6. Ask: "Ready for the next lesson, or want to practice more?"
45649
45642
 
@@ -45657,7 +45650,7 @@ from \`reference/developer/interaction-guidance.mdx\` (recipe, assembly line, ki
45657
45650
  appliance). Explain deployment plainly: "You write the recipe here, then deploy it so
45658
45651
  it's live." Deploy the starter echo workflow (\`elevasis check\` + \`elevasis deploy\`),
45659
45652
  THEN tour the Command Center so the user sees populated pages, not empty ones. Tour:
45660
- Command View (echo node), Execution Runner (run echo from form), Execution Logs (result).
45653
+ Command View (echo node), Execution Logs (result).
45661
45654
  Observation focus: automation value understanding, Command Center comfort.
45662
45655
 
45663
45656
  When automation is low-code or custom:
@@ -45665,7 +45658,7 @@ Tour project files: src/index.ts (registry), src/example/echo.ts (starter
45665
45658
  workflow), src/operations/platform-status.ts (platform API example),
45666
45659
  elevasis.config.ts, .env, docs/. Explain the execution model.
45667
45660
  Verify: run \`elevasis resources\`. Then open the Command Center and tour the
45668
- main pages: Command View (resource graph), Execution Runner, Execution Logs.
45661
+ main pages: Command View (resource graph), Execution Logs.
45669
45662
  Point out the echo workflow node in Command View.
45670
45663
  Observation focus: cloud deployment model, UI navigation comfort.
45671
45664
 
@@ -45674,9 +45667,9 @@ Observation focus: cloud deployment model, UI navigation comfort.
45674
45667
  When automation is none:
45675
45668
  Frame the workflow as "a recipe." Use plain language: "settings" not "config",
45676
45669
  "what data it needs" not "contract", "instructions" not "steps", "where it starts"
45677
- not "entryPoint." Agent writes all code changes. Execution Runner form is PRIMARY
45678
- verification -- show user how to fill the form and run it. CLI is secondary:
45679
- "here's the power user way." Observation focus: recipe-to-result connection, form comfort.
45670
+ not "entryPoint." Agent writes all code changes. Agent runs \`elevasis exec\` to verify
45671
+ and narrates the result in plain terms.
45672
+ Observation focus: recipe-to-result connection.
45680
45673
 
45681
45674
  When automation is low-code or custom:
45682
45675
  Modify the echo workflow. Walk through each part: config, contract, steps,
@@ -45689,25 +45682,25 @@ Observation focus: deployment-to-execution loop, TypeScript syntax comfort.
45689
45682
  **Lesson 3: Understanding Data (Schemas)**
45690
45683
 
45691
45684
  When automation is none:
45692
- Frame as "What information does your automation need?" Each piece becomes a form
45693
- field. Describe types in plain English: text, number, yes/no, a choice from a list.
45694
- NO Zod, no z.string(), no z.infer(), no code shown. Agent reads identity.md goals
45695
- and writes the workflow schema. User fills the form in Execution Runner to verify.
45696
- Observation focus: data-to-form connection, required vs optional understanding.
45685
+ Frame as "What information does your automation need?" Describe types in plain English:
45686
+ text, number, yes/no, a choice from a list. NO Zod, no z.string(), no z.infer(), no
45687
+ code shown. Agent reads identity.md goals and writes the workflow schema. Agent runs
45688
+ \`elevasis exec\` with sample input and narrates the result.
45689
+ Observation focus: data-to-input connection, required vs optional understanding.
45697
45690
 
45698
45691
  When automation is low-code:
45699
45692
  "Field mapping like Zapier, but with validation." Show Zod types briefly. Demonstrate
45700
- how \`.describe()\` sets the form field label. Build schema based on identity.md goals.
45701
- After deploy, open Execution Runner and point out each field.
45702
- Observation focus: schema-to-form connection, optional fields, types.
45693
+ how \`.describe()\` documents each field. Build schema based on identity.md goals.
45694
+ After deploy, run with \`elevasis exec --input '{...}'\` to verify each field.
45695
+ Observation focus: schema-to-input mapping, optional fields, types.
45703
45696
 
45704
45697
  When automation is custom:
45705
45698
  Explain schemas in plain English (concepts page). Show common Zod types.
45706
45699
  Explain \`z.infer\`. Build a new workflow with real-world input schema based
45707
45700
  on the user's goals (read .claude/memory/profile/identity.md). After deploy,
45708
- open the Execution Runner and show how each Zod field becomes a form control.
45709
- Point out how \`.describe()\` sets the field label.
45710
- Observation focus: schema-to-form connection, optional fields, types.
45701
+ run with \`elevasis exec --input '{...}'\` to verify the schema and inspect
45702
+ the execution output.
45703
+ Observation focus: schema-to-input mapping, optional fields, types.
45711
45704
 
45712
45705
  **Lesson 4: Using Platform Tools**
45713
45706
 
@@ -45736,8 +45729,8 @@ Observation focus: credential setup (CLI + UI), async/await.
45736
45729
  When automation is none:
45737
45730
  Frame as "Step 1 passes its result to Step 2, like a relay race." Command View is
45738
45731
  PRIMARY teaching tool -- show the visual graph before explaining code. Agent builds
45739
- the 2-step workflow. User verifies in Command View (see the two nodes + arrow) and
45740
- Execution Runner (see output flow). Code is secondary.
45732
+ the 2-step workflow. Agent runs \`elevasis exec\` to verify and shows output flow.
45733
+ User opens Command View to see the two nodes + arrow. Code is secondary.
45741
45734
  Observation focus: relay-race concept, visual graph comprehension.
45742
45735
 
45743
45736
  When automation is low-code or custom:
@@ -45752,7 +45745,7 @@ Observation focus: data flow reasoning, relationship visualization.
45752
45745
  When automation is none:
45753
45746
  Frame as "If the customer is VIP, do this -- otherwise, do that." No StepType.CONDITIONAL
45754
45747
  jargon -- focus on the concept, not the implementation. Agent adds the condition.
45755
- User tests both paths via Execution Runner, then opens Execution Logs to see which
45748
+ Agent runs \`elevasis exec\` for both paths. Open Execution Logs to see which
45756
45749
  path ran. Guide log navigation step-by-step.
45757
45750
  Observation focus: branching concept understanding, log navigation.
45758
45751
 
@@ -45782,18 +45775,10 @@ Observation focus: readiness for independent operation (CLI + UI).
45782
45775
 
45783
45776
  ## Module Menu
45784
45777
 
45785
- Fixed module order: hitl, schedules, notifications, integrations, workflows,
45786
- composition, llm, agents, error-handling.
45787
-
45788
- Show the next 2-3 uncompleted modules from the list. Format:
45789
-
45790
- "Core path complete! Here are your next modules:"
45791
- 1. <Title> -- <one-line description>
45792
- 2. <Title> -- <one-line description>
45793
- 3. <Title> -- <one-line description>
45794
- "Pick a number to start, or say 'show more' to see additional modules."
45778
+ Module order (items 8-16 in the main menu): hitl, schedules, notifications,
45779
+ integrations, error-handling, workflows, composition, llm, agents.
45795
45780
 
45796
- If all 9 modules are complete -> set Phase to \`complete\`, congratulate.
45781
+ After completing a module, show the updated full menu table (## Menu).
45797
45782
 
45798
45783
  ## Module Flow
45799
45784
 
@@ -45803,7 +45788,7 @@ Each module follows this flow:
45803
45788
  3. Guide user to build a resource exercising the module's concepts
45804
45789
  4. Verify it works (CLI + Command Center where applicable)
45805
45790
  5. Record observations in \`.claude/memory/tutorial-progress.md\`
45806
- 6. Return to module menu (show next uncompleted modules)
45791
+ 6. Show updated full menu table (## Menu)
45807
45792
 
45808
45793
  ## Modules
45809
45794
 
@@ -45836,6 +45821,15 @@ Key concepts: adapter pattern, credential scoping, error handling for external c
45836
45821
  Verify: Run workflow with real credential, confirm external service call, test error
45837
45822
  handling with invalid credential.
45838
45823
 
45824
+ **Module: error-handling -- Error Handling Mastery**
45825
+ Read: \`reference/resources/patterns.mdx\` (error handling),
45826
+ \`reference/troubleshooting/common-errors.mdx\`.
45827
+ Build: Create a workflow demonstrating all three error types. Add try/catch,
45828
+ \`context.logger\`, and error recovery.
45829
+ Key concepts: ExecutionError, PlatformToolError, ToolingError, recovery patterns.
45830
+ Verify: Trigger each error type, confirm messages in Execution Logs with correct
45831
+ categorization.
45832
+
45839
45833
  **Module: workflows -- Advanced Workflows**
45840
45834
  Read: \`reference/resources/patterns.mdx\` (execution store, logging, organizing).
45841
45835
  Build: Refactor an existing workflow to use \`context.store\` for cross-step data,
@@ -45866,15 +45860,6 @@ Compare agent vs workflow for a task.
45866
45860
  Key concepts: agent definition, tool registration, LLM tool calling, execution trace.
45867
45861
  Verify: Run agent with \`elevasis exec\`, review tool call trace in Execution Logs.
45868
45862
 
45869
- **Module: error-handling -- Error Handling Mastery**
45870
- Read: \`reference/resources/patterns.mdx\` (error handling),
45871
- \`reference/troubleshooting/common-errors.mdx\`.
45872
- Build: Create a workflow demonstrating all three error types. Add try/catch,
45873
- \`context.logger\`, and error recovery.
45874
- Key concepts: ExecutionError, PlatformToolError, ToolingError, recovery patterns.
45875
- Verify: Trigger each error type, confirm messages in Execution Logs with correct
45876
- categorization.
45877
-
45878
45863
  ## Meta-Framework Track
45879
45864
 
45880
45865
  The Meta-Framework track teaches you how the Claude Code workspace works -- the commands,
@@ -45941,32 +45926,46 @@ CLAUDE.md and commands. Note the template access model: templates read from
45941
45926
  Verify: Run /meta to see project status. Identify what a version mismatch looks like.
45942
45927
  Observation focus: full lifecycle coverage, pipeline internals.
45943
45928
 
45944
- **MF3: /work -- Task Lifecycle**
45929
+ **MF3: /work and /docs -- Task and Documentation Lifecycle**
45945
45930
 
45946
45931
  When automation is none:
45947
45932
  "You can ask the assistant to track work across conversations. When you start something
45948
45933
  complex, use /work create to save your place. Next session, /work resume picks up where
45949
- you left off." Walk through the concept without deep command details. Show docs/ -- explain
45950
- it's where project notes live.
45934
+ you left off." Walk through the concept without deep command details. Then introduce /docs:
45935
+ "When a task is finished, /work complete moves it to docs/ permanently. After that, /docs
45936
+ helps you find and read what's there -- like a notebook for your project." Run /docs (no
45937
+ args) to show the docs/ overview together.
45951
45938
  Verify: Create a task with \`/work create "practice task"\`, then run /work to see it listed.
45952
- Observation focus: persistence concept, cross-session continuity.
45939
+ Then run /docs to see the docs/ structure.
45940
+ Observation focus: persistence concept, cross-session continuity, docs as permanent notes.
45953
45941
 
45954
45942
  When automation is low-code:
45955
45943
  Show /work operations: create (task doc with frontmatter + sections), save (updates
45956
- Progress + Resume Context), resume (loads context for next session).
45957
- Explain how task docs persist: they're workspace files, not memory -- they survive
45958
- session compaction.
45959
- Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the file.
45960
- Observation focus: task tracking workflow, doc creation pattern.
45944
+ Progress + Resume Context), resume (loads context for next session), complete (moves
45945
+ to permanent docs/).
45946
+ Then introduce /docs: "/docs is for permanent knowledge -- things that don't expire. Use
45947
+ /docs create to document a workflow or integration. Use /docs verify to check if your
45948
+ docs match the current code." Explain the boundary: /work manages in-progress/, /docs
45949
+ manages permanent docs/.
45950
+ Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the
45951
+ file. Then run /docs to browse docs/.
45952
+ Observation focus: task tracking workflow, /work vs /docs separation.
45961
45953
 
45962
45954
  When automation is custom:
45963
- Read \`.claude/commands/work.md\`. Full coverage:
45955
+ Read \`.claude/commands/work.md\`. Full /work coverage:
45964
45956
  /work create (kebab-case filename, frontmatter with status, Objective/Plan/Progress/
45965
45957
  Resume Context sections), /work save (Progress + Resume Context update), /work resume
45966
45958
  (multiple-task disambiguation), /work complete (moves to final location).
45967
- Explain how Resume Context serves as the session handoff artifact.
45968
- Verify: Create a task doc, save progress, inspect the generated file structure.
45969
- Observation focus: task doc anatomy, resume context as handoff pattern.
45959
+ Then read \`.claude/commands/docs.md\`. Cover /docs operations:
45960
+ /docs (default): browse permanent docs/, categorized with read-only auto-generated files
45961
+ separate; /docs create: interview-driven, resource-aware doc creation from src/ code
45962
+ analysis; /docs verify: cross-references resource IDs, schema fields, platform tools in
45963
+ docs against src/ -- standalone analog of /meta fix step 5.
45964
+ Explain the relationship: /work owns docs/in-progress/ (task lifecycle), /work complete
45965
+ moves docs to permanent location, /docs browses and verifies what's there.
45966
+ Verify: Create a task doc, save progress, run /work complete to move it. Then run /docs
45967
+ to see it in the permanent docs/ listing.
45968
+ Observation focus: task doc anatomy, /work-to-/docs handoff, docs verification as standalone tool.
45970
45969
 
45971
45970
  **MF4: Rules, Memory, and Customization**
45972
45971
 
@@ -46036,13 +46035,13 @@ Observation focus: full template lifecycle, conflict resolution pattern.
46036
46035
 
46037
46036
  **automation: none**
46038
46037
  Use the non-technical variant for each lesson. Agent writes all code -- user
46039
- never types code. User verifies visually (Execution Runner, Command View, Logs).
46040
- Avoid all jargon; use analogies. Execution Runner is the primary verification tool.
46038
+ never types code. Agent runs \`elevasis exec\` for verification and narrates results.
46039
+ Avoid all jargon; use analogies. CLI is the primary verification tool.
46041
46040
  Always deploy before directing the user to the Command Center.
46042
46041
 
46043
46042
  **automation: low-code**
46044
46043
  Map concepts to Zapier/Make equivalents. Show code with plain-English explanations.
46045
- Execution Runner and CLI are equal verification tools. Show Zod types with labels.
46044
+ CLI is the primary verification tool. Show Zod types with labels.
46046
46045
 
46047
46046
  **automation: custom**
46048
46047
  Full technical content. Code-first. CLI and UI are equal. Condense explanations
@@ -46052,26 +46051,22 @@ for intermediate/advanced users.
46052
46051
  - If user is fast, acknowledge and offer to skip ahead within a lesson
46053
46052
  - After each lesson, update \`.claude/memory/tutorial-progress.md\`
46054
46053
  - If user demonstrates a level change, promote to skills.md Growth Log
46055
- - After completing a module, return to the module menu
46054
+ - After completing a module, show the updated full menu table
46056
46055
  - Adapt module depth to skill level as with lessons
46057
46056
 
46058
46057
  ## Progress Format
46059
46058
 
46060
46059
  Store in \`.claude/memory/tutorial-progress.md\`:
46061
- - Phase (core | modules | meta-framework | complete)
46062
- - Current Lesson number (during core phase)
46063
- - Current Module (module id during modules phase)
46064
- - Current MF Lesson (MF1-MF5, during meta-framework phase)
46060
+ - Current (free-form, e.g. "L4: Using Platform Tools" or "M:integrations" or "MF2")
46065
46061
  - Started and Last Session dates
46066
46062
  - Completed Lessons table (lesson, title, completed, duration)
46067
46063
  - Completed Modules table (module, title, completed, duration)
46068
46064
  - Completed MF Lessons table (lesson, title, completed, notes)
46069
- - Capability Observations table (lesson/module, observation) -- prefix L# for lessons, M:<id> for modules, MF# for meta-framework lessons
46065
+ - Capability Observations table (source, observation) -- prefix L# for lessons, M:<id> for modules, MF# for MF lessons
46070
46066
  - Assessment Notes (bullet points)
46071
46067
 
46072
- Backward-compatible: missing Phase is inferred from lesson count;
46073
- missing Completed Modules is treated as empty;
46074
- missing Completed MF Lessons is treated as empty.
46068
+ Backward-compatible: missing Completed Modules treated as empty;
46069
+ missing Completed MF Lessons treated as empty.
46075
46070
  `;
46076
46071
  }
46077
46072
  function claudeMetaCommandTemplate() {
@@ -46192,6 +46187,7 @@ Detect and repair all drift. Optionally upgrades the SDK first.
46192
46187
  c. Flag mismatches between documented schemas and actual resource definitions
46193
46188
  d. Check for undocumented resources (resources in src/ without docs coverage)
46194
46189
  e. Report discrepancies with suggested fixes
46190
+ Note: \`/docs verify\` is available for standalone interactive verification outside this pipeline.
46195
46191
  6. **Settings consistency:** Verify expected fields
46196
46192
  7. **Rules health:** Scan \`memory/errors/\` -- flag any entry that has recurred
46197
46193
  3+ times and is not yet in \`.claude/rules/workspace-patterns.md\`.
@@ -46406,6 +46402,173 @@ Mark task complete, clean up, and move to permanent docs:
46406
46402
  When the agent observes that all plan steps for a task are marked COMPLETE and the user seems to be moving on, proactively suggest: "All steps for '{task}' are complete. Run \`/work complete\` to finalize it."
46407
46403
  `;
46408
46404
  }
46405
+ function claudeDocsCommandTemplate() {
46406
+ return `# /docs command
46407
+
46408
+ You are a documentation assistant for this Elevasis workspace. \`/docs\` manages the
46409
+ permanent \`docs/\` tree -- browsing, creating reference content, and verifying accuracy
46410
+ against code.
46411
+
46412
+ **Scope:** Everything in \`docs/\` EXCEPT:
46413
+ - \`docs/in-progress/\` -- \`/work\`'s territory
46414
+ - \`docs/project-map.mdx\` and \`docs/resource-map.mdx\` -- auto-generated, read-only
46415
+
46416
+ ## Context
46417
+
46418
+ Read \`.claude/memory/profile/skills.md\` first. The \`automation\` skill level controls
46419
+ how results are presented.
46420
+
46421
+ ## Operations
46422
+
46423
+ ### \`/docs\` (no arguments) -- Browse
46424
+
46425
+ Scan \`docs/\` recursively. Display:
46426
+
46427
+ \`\`\`
46428
+ Your Docs
46429
+ =========
46430
+
46431
+ Auto-generated (read-only):
46432
+ project-map.mdx Updated 2026-03-03
46433
+ resource-map.mdx Updated 2026-03-03
46434
+
46435
+ Reference (3):
46436
+ 1. index.mdx Workspace overview
46437
+ 2. priorities.mdx Current priorities
46438
+ 3. crm-integration/ CRM integration guide (2 files)
46439
+
46440
+ Pick a number to read and discuss, or say:
46441
+ "create" to write a new doc
46442
+ "verify" to check docs against current code
46443
+ \`\`\`
46444
+
46445
+ Steps:
46446
+ 1. Scan \`docs/\` recursively for \`.mdx\` files, excluding \`in-progress/\`
46447
+ 2. Separate auto-generated files (\`project-map.mdx\`, \`resource-map.mdx\`) into a
46448
+ read-only group -- show modification date, no number
46449
+ 3. Number all user-maintained docs. For directories, show \`index.mdx\` as primary
46450
+ with file count
46451
+ 4. Sort: \`index.mdx\` first, \`priorities.mdx\` second, then alphabetical
46452
+ 5. When user picks a number: read the file and present a summary. Ask what they
46453
+ want -- discuss, update, or go back
46454
+ 6. If only auto-generated files and \`index.mdx\` exist, suggest: "Your docs/ is
46455
+ mostly empty. Run \`/docs create\` to add reference documentation."
46456
+
46457
+ **automation: none** -- Frame as "your project's knowledge base." Plain language:
46458
+ "These are your project's permanent notes. Pick one to read or discuss."
46459
+
46460
+ **automation: low-code** -- Standard presentation. Map to "like a wiki for your automations."
46461
+
46462
+ **automation: custom** -- Compact. Show file sizes and last-modified dates.
46463
+
46464
+ ---
46465
+
46466
+ ### \`create [description]\` -- Reference Doc Creation
46467
+
46468
+ Interview-driven creation for permanent documentation. Task docs go through \`/work create\`.
46469
+
46470
+ 1. If no description given, ask: "What do you want to document?"
46471
+ 2. Determine doc type (infer or ask):
46472
+ - **Resource guide** -- documents a specific workflow or agent
46473
+ - **Integration guide** -- how a specific external tool is used
46474
+ - **Architecture notes** -- design decisions, system diagrams
46475
+ - **Process doc** -- operational procedures, runbooks
46476
+ - **General reference** -- glossaries, onboarding, anything else
46477
+ 3. If the doc is about a specific resource: scan \`src/\` for matching resource IDs.
46478
+ If found, pre-populate with resource config, schemas, step names, and platform
46479
+ tools used. The user does not need to describe what the resource does.
46480
+ 4. Determine placement:
46481
+ - Scan \`docs/\` for existing directories related to the topic
46482
+ - If related to an existing directory, propose adding to it
46483
+ - If the topic may grow into multiple files, create \`docs/<slug>/index.mdx\`
46484
+ - If small and standalone, create \`docs/<slug>.mdx\`
46485
+ 5. Create with proper frontmatter:
46486
+ \`\`\`yaml
46487
+ ---
46488
+ title: Guide Title
46489
+ description: What this covers
46490
+ ---
46491
+ \`\`\`
46492
+ Sections by doc type:
46493
+ - **Resource guide:** Overview, Input/Output, How It Works, Platform Tools Used, Configuration
46494
+ - **Integration guide:** Overview, Setup (credentials), Data Model, Usage Patterns, Troubleshooting
46495
+ - **Architecture notes:** Context, Decision, Consequences, Alternatives Considered
46496
+ - **Process doc:** Purpose, Prerequisites, Steps, Recovery
46497
+ - **General reference:** determined by content
46498
+ 6. Report what was created and suggest next steps.
46499
+
46500
+ **automation: none** -- Agent writes the full doc from code analysis. User reviews and
46501
+ approves. "I've written a guide for your CRM integration based on the code. Take a look
46502
+ and tell me if anything is missing."
46503
+
46504
+ **automation: low-code** -- Agent drafts, highlights sections the user should customize.
46505
+ Shows what was auto-detected vs what needs human input.
46506
+
46507
+ **automation: custom** -- Agent scaffolds structure and fills in code-derived content.
46508
+ Leaves technical prose to the user. Concise.
46509
+
46510
+ ---
46511
+
46512
+ ### \`verify [file?]\` -- Interactive Documentation Verification
46513
+
46514
+ Standalone interactive version of \`/meta fix\` step 5. Checks docs against current code.
46515
+
46516
+ **Without argument -- verify all:**
46517
+
46518
+ 1. Scan \`docs/\` for user-maintained \`.mdx\` files (skip \`in-progress/\`,
46519
+ \`project-map.mdx\`, \`resource-map.mdx\`)
46520
+ 2. For each file: cross-reference resource IDs, schema fields, and platform tools
46521
+ mentioned against \`src/\`
46522
+ 3. Check for undocumented resources: resources in \`src/\` without docs coverage
46523
+ 4. Present results interactively:
46524
+
46525
+ \`\`\`
46526
+ Docs Verification
46527
+ =================
46528
+
46529
+ crm-integration/index.mdx:
46530
+ - Line 23: references resourceId "attio-sync" but src/ has "attio-sync-v2"
46531
+ - Line 45: schema field "companyName" no longer exists in input schema
46532
+
46533
+ onboarding-guide.mdx:
46534
+ - No issues found
46535
+
46536
+ Undocumented resources (2):
46537
+ - email-sender (src/communications/email-sender.ts)
46538
+ - lead-scorer (src/scoring/lead-scorer.ts)
46539
+
46540
+ Fix crm-integration issues now? (yes/no/skip)
46541
+ \`\`\`
46542
+
46543
+ 5. When user says yes: read source code, apply fixes to doc, show the diff
46544
+ 6. For undocumented resources: offer to create a doc for each one (invokes \`create\` flow)
46545
+
46546
+ **With argument -- verify one file:**
46547
+
46548
+ Same but scoped to a single file. Resolves by substring match against \`docs/\` file names.
46549
+
46550
+ \`\`\`
46551
+ /docs verify crm-integration
46552
+ \`\`\`
46553
+
46554
+ **automation: none** -- Plain language: "Your CRM guide mentions a field called
46555
+ 'companyName' but that field was renamed to 'company'. Want me to fix it?"
46556
+
46557
+ **automation: low-code** -- Standard presentation with suggested fixes.
46558
+
46559
+ **automation: custom** -- Compact diff-style. Auto-fix obvious issues, ask only for
46560
+ ambiguous ones.
46561
+
46562
+ ---
46563
+
46564
+ ## What /docs Does NOT Do
46565
+
46566
+ - Touch \`docs/in-progress/\` -- \`/work\`'s territory
46567
+ - Handle task lifecycle (planned / in-progress / complete)
46568
+ - Edit \`project-map.mdx\` or \`resource-map.mdx\` -- auto-generated, read-only
46569
+ - Replace \`/meta fix\` step 5 -- it supplements it with interactivity
46570
+ `;
46571
+ }
46409
46572
  function claudeCredsSkillTemplate() {
46410
46573
  return `---
46411
46574
  name: creds
@@ -46871,6 +47034,7 @@ function getManagedTemplates(ctx = {}) {
46871
47034
  ".claude/commands/tutorial.md": claudeTutorialCommandTemplate,
46872
47035
  ".claude/commands/meta.md": claudeMetaCommandTemplate,
46873
47036
  ".claude/commands/work.md": claudeWorkCommandTemplate,
47037
+ ".claude/commands/docs.md": claudeDocsCommandTemplate,
46874
47038
  ".claude/skills/creds/SKILL.md": claudeCredsSkillTemplate,
46875
47039
  ".claude/rules/sdk-patterns.md": claudeSdkPatternsRuleTemplate,
46876
47040
  ".claude/rules/docs-authoring.md": claudeDocsAuthoringRuleTemplate,
@@ -47077,6 +47241,7 @@ var MANAGED_FILES = [
47077
47241
  ".claude/commands/tutorial.md",
47078
47242
  ".claude/commands/meta.md",
47079
47243
  ".claude/commands/work.md",
47244
+ ".claude/commands/docs.md",
47080
47245
  ".claude/skills/creds/SKILL.md",
47081
47246
  ".claude/rules/sdk-patterns.md",
47082
47247
  ".claude/rules/docs-authoring.md",
@@ -47142,6 +47307,7 @@ function registerInitCommand(program3) {
47142
47307
  ".claude/commands/tutorial.md": claudeTutorialCommandTemplate(),
47143
47308
  ".claude/commands/meta.md": claudeMetaCommandTemplate(),
47144
47309
  ".claude/commands/work.md": claudeWorkCommandTemplate(),
47310
+ ".claude/commands/docs.md": claudeDocsCommandTemplate(),
47145
47311
  ".claude/skills/creds/SKILL.md": claudeCredsSkillTemplate(),
47146
47312
  ".claude/rules/sdk-patterns.md": claudeSdkPatternsRuleTemplate(),
47147
47313
  ".claude/rules/workspace-patterns.md": claudeWorkspaceRulesTemplate(),
package/dist/index.d.ts CHANGED
@@ -3426,6 +3426,7 @@ interface UpdateContactParams {
3426
3426
  }
3427
3427
  type UpsertContactParams = CreateContactParams;
3428
3428
  interface ContactFilters {
3429
+ listId?: string;
3429
3430
  qualification?: 'qualified' | 'disqualified' | 'pending';
3430
3431
  openingLineIsNull?: boolean;
3431
3432
  }