@elevasis/sdk 0.5.11 → 0.5.12

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
@@ -40164,18 +40164,6 @@ var DOMAIN_MAP = {
40164
40164
  [DOMAINS.DIAGNOSTIC]: DIAGNOSTIC_DOMAIN
40165
40165
  };
40166
40166
 
40167
- // ../core/src/execution/core/server/environment.ts
40168
- function detectEnvironment() {
40169
- const env2 = process.env.NODE_ENV || "development";
40170
- if (env2 === "production") return "production";
40171
- if (env2 === "staging") return "staging";
40172
- return "development";
40173
- }
40174
- function canExecuteResource(resource, environment) {
40175
- const env2 = environment || detectEnvironment();
40176
- return env2 === "production" ? resource.status === "prod" : true;
40177
- }
40178
-
40179
40167
  // ../core/src/execution/engine/base/errors.ts
40180
40168
  var ExecutionError = class extends Error {
40181
40169
  /**
@@ -43293,9 +43281,8 @@ var ResourceRegistry = class {
43293
43281
  * List all resources for an organization
43294
43282
  * Returns ResourceDefinition metadata (not full definitions)
43295
43283
  *
43296
- * Environment filtering (automatic):
43297
- * - Development: Returns all resources (dev + prod)
43298
- * - Production: Returns only prod resources (filters out dev)
43284
+ * All resources are returned regardless of server environment.
43285
+ * Pass an explicit `environment` filter to get only 'dev' or 'prod' resources.
43299
43286
  */
43300
43287
  listResourcesForOrganization(organizationName, environment) {
43301
43288
  const orgResources = this.registry[organizationName];
@@ -43308,7 +43295,6 @@ var ResourceRegistry = class {
43308
43295
  environment
43309
43296
  };
43310
43297
  }
43311
- const currentEnv = detectEnvironment();
43312
43298
  const workflows = (orgResources.workflows || []).map((def) => ({
43313
43299
  resourceId: def.config.resourceId,
43314
43300
  name: def.config.name,
@@ -43317,12 +43303,7 @@ var ResourceRegistry = class {
43317
43303
  type: def.config.type,
43318
43304
  status: def.config.status,
43319
43305
  origin: this.remoteResources.has(`${organizationName}/${def.config.resourceId}`) ? "remote" : "local"
43320
- })).filter((resource) => {
43321
- if (environment) {
43322
- return resource.status === environment;
43323
- }
43324
- return canExecuteResource(resource, currentEnv);
43325
- });
43306
+ })).filter((resource) => !environment || resource.status === environment);
43326
43307
  const agents = (orgResources.agents || []).map((def) => ({
43327
43308
  resourceId: def.config.resourceId,
43328
43309
  name: def.config.name,
@@ -43332,18 +43313,13 @@ var ResourceRegistry = class {
43332
43313
  status: def.config.status,
43333
43314
  sessionCapable: def.config.sessionCapable ?? false,
43334
43315
  origin: this.remoteResources.has(`${organizationName}/${def.config.resourceId}`) ? "remote" : "local"
43335
- })).filter((resource) => {
43336
- if (environment) {
43337
- return resource.status === environment;
43338
- }
43339
- return canExecuteResource(resource, currentEnv);
43340
- });
43316
+ })).filter((resource) => !environment || resource.status === environment);
43341
43317
  return {
43342
43318
  workflows,
43343
43319
  agents,
43344
43320
  total: workflows.length + agents.length,
43345
43321
  organizationName,
43346
- environment: environment || (currentEnv === "production" ? "prod" : void 0)
43322
+ environment
43347
43323
  };
43348
43324
  }
43349
43325
  /**
@@ -43811,7 +43787,7 @@ async function apiDelete(endpoint, apiUrl = resolveApiUrl()) {
43811
43787
  // package.json
43812
43788
  var package_default = {
43813
43789
  name: "@elevasis/sdk",
43814
- version: "0.5.11",
43790
+ version: "0.5.12",
43815
43791
  description: "SDK for building Elevasis organization resources",
43816
43792
  type: "module",
43817
43793
  bin: {
@@ -45103,13 +45079,13 @@ var import_path3 = require("path");
45103
45079
  var import_promises2 = require("fs/promises");
45104
45080
 
45105
45081
  // src/cli/commands/templates/core/workspace.ts
45106
- var TEMPLATE_VERSION = 24;
45082
+ var TEMPLATE_VERSION = 27;
45107
45083
  function configTemplate() {
45108
45084
  return `import type { ElevasConfig } from '@elevasis/sdk'
45109
45085
 
45110
45086
  export default {
45111
45087
  templateVersion: ${TEMPLATE_VERSION},
45112
- // defaultStatus: 'dev', // Default status for new resources ('dev' | 'production')
45088
+ // defaultStatus: 'dev', // Default status for new resources ('dev' | 'prod')
45113
45089
  // dev: { port: 5170 }, // Local API port (internal development only)
45114
45090
  } satisfies ElevasConfig
45115
45091
  `;
@@ -45158,10 +45134,6 @@ function envTemplate() {
45158
45134
  return `ELEVASIS_PLATFORM_KEY=
45159
45135
  `;
45160
45136
  }
45161
- function envExampleTemplate() {
45162
- return `ELEVASIS_PLATFORM_KEY=sk_your_key_here
45163
- `;
45164
- }
45165
45137
  function npmrcTemplate() {
45166
45138
  return `auto-install-peers = true
45167
45139
  `;
@@ -45199,7 +45171,7 @@ An [Elevasis](https://elevasis.io) workspace built with the \`@elevasis/sdk\`.
45199
45171
  pnpm install
45200
45172
  \`\`\`
45201
45173
 
45202
- Copy \`.env.example\` to \`.env\` and add your API key:
45174
+ Add your API key to \`.env\`:
45203
45175
 
45204
45176
  \`\`\`
45205
45177
  ELEVASIS_PLATFORM_KEY=sk_...
@@ -45208,12 +45180,12 @@ ELEVASIS_PLATFORM_KEY=sk_...
45208
45180
  ## Development
45209
45181
 
45210
45182
  \`\`\`bash
45211
- elevasis-sdk check # Validate resource definitions
45212
- elevasis-sdk deploy # Bundle and deploy to platform
45213
- elevasis-sdk exec <resourceId> --input '...' # Execute a resource
45214
- elevasis-sdk resources # List deployed resources
45215
- elevasis-sdk describe <resourceId> # Show resource definition + schemas
45216
- elevasis-sdk executions <resourceId> # View execution history
45183
+ pnpm run check # Validate resource definitions
45184
+ pnpm run deploy # Bundle and deploy to platform
45185
+ pnpm exec elevasis-sdk exec <resourceId> --input '...' # Execute a resource
45186
+ pnpm exec elevasis-sdk resources # List deployed resources
45187
+ pnpm exec elevasis-sdk describe <resourceId> # Show resource definition + schemas
45188
+ pnpm exec elevasis-sdk executions <resourceId> # View execution history
45217
45189
  \`\`\`
45218
45190
 
45219
45191
  ## Project Structure
@@ -45234,7 +45206,7 @@ A multi-step workflow that queries platform status and compiles a natural langua
45234
45206
  summary using an LLM. Demonstrates platform API usage with the \`llm\` typed adapter and \`platform.call()\`.
45235
45207
 
45236
45208
  \`\`\`bash
45237
- elevasis-sdk exec platform-status --input '{"timeRange": "24h"}'
45209
+ pnpm exec elevasis-sdk exec platform-status --input '{"timeRange": "24h"}'
45238
45210
  \`\`\`
45239
45211
 
45240
45212
  **Input:** \`{ "timeRange": "1h" | "24h" | "7d" }\`
@@ -45246,7 +45218,7 @@ A simple workflow that echoes the input message back. Use it as a starter patter
45246
45218
  for new workflows:
45247
45219
 
45248
45220
  \`\`\`bash
45249
- elevasis-sdk exec echo --input '{"message": "hello"}'
45221
+ pnpm exec elevasis-sdk exec echo --input '{"message": "hello"}'
45250
45222
  \`\`\`
45251
45223
 
45252
45224
  **Input:** \`{ "message": string }\`
@@ -45499,13 +45471,18 @@ All \`reference/\` paths resolve to \`node_modules/@elevasis/sdk/reference/\`.
45499
45471
 
45500
45472
  ## Elevasis CLI
45501
45473
 
45502
- **MANDATORY:** Use the \`elevasis-sdk\` CLI for all execution/platform operations -- never \`npx\`, \`curl\`, or any other tool.
45474
+ **MANDATORY:** Use the \`elevasis-sdk\` CLI for all execution/platform operations -- never \`curl\` or any other tool.
45475
+
45476
+ Use pnpm scripts for check and deploy (they resolve the local binary automatically):
45477
+
45478
+ - \`pnpm run check\` -- validate resource definitions without deploying
45479
+ - \`pnpm run deploy\` -- deploy to the platform
45503
45480
 
45504
- - \`elevasis-sdk exec <resource-id> --input '{...}'\` -- run a resource synchronously
45505
- - \`elevasis-sdk exec <resource-id> --input '{...}' --async\` -- run async, returns execution ID
45506
- - \`elevasis-sdk execution <resource-id> <execution-id>\` -- inspect execution detail
45507
- - \`elevasis-sdk check\` -- validate resource definitions without deploying
45508
- - \`elevasis-sdk deploy\` -- deploy to the platform
45481
+ Use \`pnpm exec elevasis-sdk\` for runtime commands (resolves the locally installed binary):
45482
+
45483
+ - \`pnpm exec elevasis-sdk exec <resource-id> --input '{...}'\` -- run a resource synchronously
45484
+ - \`pnpm exec elevasis-sdk exec <resource-id> --input '{...}' --async\` -- run async, returns execution ID
45485
+ - \`pnpm exec elevasis-sdk execution <resource-id> <execution-id>\` -- inspect execution detail
45509
45486
 
45510
45487
  Organization is derived from your API key -- no org prefix needed in the resource ID.
45511
45488
  For full CLI reference: \`reference/cli/index.mdx\`
@@ -45657,32 +45634,34 @@ Example (first time, no progress):
45657
45634
  Elevasis Tutorial
45658
45635
  ==================
45659
45636
 
45660
- ORCHESTRATION CONCEPTS 0/7
45661
- 1 Welcome & Orientation [ ]
45662
- 2 Your First Custom Workflow [ ]
45663
- 3 Understanding Data (Schemas) [ ]
45664
- 4 Using Platform Tools [ ]
45665
- 5 Multi-Step Workflows [ ]
45666
- 6 Decision Points [ ]
45667
- 7 Going to Production [ ]
45668
-
45669
- EXAMPLES & ADVANCED MODULES 0/9
45670
- 8 Human-in-the-Loop [ ]
45671
- 9 Task Scheduling [ ]
45672
- 10 Notification System [ ]
45673
- 11 Real-World Integrations [ ]
45674
- 12 Error Handling Mastery [ ]
45675
- 13 Advanced Workflows [ ]
45676
- 14 Resource Composition [ ]
45677
- 15 LLM Integration [ ]
45678
- 16 AI Agents [ ]
45679
-
45680
- META-FRAMEWORK 0/5
45681
- 17 The Agent Framework [ ]
45682
- 18 The /meta Command [ ]
45683
- 19 /work and /docs [ ]
45684
- 20 Rules, Memory, and Customization [ ]
45685
- 21 Template Lifecycle [ ]
45637
+ INTRODUCTION 0/4
45638
+ 1 Welcome & Orientation [ ]
45639
+ 2 How This Workspace Works [ ]
45640
+ 3 The /meta Command [ ]
45641
+ 4 /work and /docs [ ]
45642
+
45643
+ CORE CONCEPTS 0/6
45644
+ 5 Your First Custom Workflow [ ]
45645
+ 6 Understanding Data (Schemas) [ ]
45646
+ 7 Using Platform Tools [ ]
45647
+ 8 Multi-Step Workflows [ ]
45648
+ 9 Decision Points [ ]
45649
+ 10 Going to Production [ ]
45650
+
45651
+ ADVANCED MODULES 0/9
45652
+ 11 Human-in-the-Loop [ ]
45653
+ 12 Task Scheduling [ ]
45654
+ 13 Notification System [ ]
45655
+ 14 Real-World Integrations [ ]
45656
+ 15 Error Handling Mastery [ ]
45657
+ 16 Advanced Workflows [ ]
45658
+ 17 Resource Composition [ ]
45659
+ 18 LLM Integration [ ]
45660
+ 19 AI Agents [ ]
45661
+
45662
+ ADVANCED WORKSPACE 0/2
45663
+ 20 Rules, Memory, and Customization [ ]
45664
+ 21 Template Lifecycle [ ]
45686
45665
 
45687
45666
  Pick a number to start.
45688
45667
  \`\`\`
@@ -45695,7 +45674,7 @@ indicators from completed/current state. \`"status"\` -> show the same table.
45695
45674
  1. Read \`.claude/memory/tutorial-progress.md\`
45696
45675
  2. Show the full menu table (## Menu) with progress filled in
45697
45676
  3. User picks a number -> start or resume that lesson or module directly
45698
- 4. After completion: mark done in progress file, show updated menu table
45677
+ 4. After user confirms readiness: mark done in progress file, show updated menu table
45699
45678
  5. All 21 items complete -> congratulate, suggest exploring docs/ or /work
45700
45679
 
45701
45680
  ## Lesson Flow
@@ -45705,12 +45684,12 @@ Each lesson follows this flow:
45705
45684
  2. Explain the concept (read docs per skill level, adapt to user)
45706
45685
  3. Guide user to build or modify something (agent writes all code for automation: none)
45707
45686
  4. Verify it works (CLI primary for all levels; Command Center for visual review -- Command View, Execution Logs)
45708
- 5. Celebrate success, record observations in \`.claude/memory/tutorial-progress.md\`
45709
- 6. Ask: "Ready for the next lesson, or want to practice more?"
45687
+ 5. Celebrate success and ask: "Any questions, or ready to continue?"
45688
+ 6. Once the user confirms, record observations in \`.claude/memory/tutorial-progress.md\`
45710
45689
 
45711
45690
  ## Lessons
45712
45691
 
45713
- **Lesson 1: Welcome & Orientation**
45692
+ **Item 1: Welcome & Orientation**
45714
45693
 
45715
45694
  When automation is none:
45716
45695
  Skip the file tour. Start with what Elevasis does for their business -- use analogies
@@ -45730,7 +45709,108 @@ main pages: Command View (resource graph), Execution Logs.
45730
45709
  Point out the echo workflow node in Command View.
45731
45710
  Observation focus: cloud deployment model, UI navigation comfort.
45732
45711
 
45733
- **Lesson 2: Your First Custom Workflow**
45712
+ **Item 2: How This Workspace Works**
45713
+
45714
+ When automation is none:
45715
+ "This workspace comes with a built-in assistant that knows your project, your tools,
45716
+ and your goals. Let me show you how it's set up." Open CLAUDE.md and explain in
45717
+ plain terms: it's the agent's instruction sheet. Point out the commands in the
45718
+ Commands table. Show /meta, /tutorial, /work. Explain the creds skill as
45719
+ "the assistant automatically helps when you mention API keys." Tour the memory folder
45720
+ at a high level -- "this is where the agent stores what it learns about your project."
45721
+ Verify: Ask the user a question about their business goal and show how the agent
45722
+ references their profile in the answer.
45723
+ Observation focus: agent-as-assistant concept, CLAUDE.md as instruction sheet.
45724
+
45725
+ When automation is low-code:
45726
+ Read CLAUDE.md and walk through each section. Explain: what the agent reads on
45727
+ session start, how the navigation table works, what the Skills section means.
45728
+ Explain the four commands briefly. Show that the agent has memory: open
45729
+ \`.claude/memory/profile/skills.md\` and show their own profile -- "every session,
45730
+ the agent reads this and adapts." Explain the initialized flag.
45731
+ Verify: Run /meta to see project status.
45732
+ Observation focus: memory system concept, session initialization flow.
45733
+
45734
+ When automation is custom:
45735
+ Read CLAUDE.md in full. Explain the session initialization sequence: CLAUDE.md ->
45736
+ navigation table -> memory files -> context loading. Walk through: Commands section
45737
+ (4 commands + creds skill), Rules section (auto-loaded based on file paths), Skills
45738
+ section (auto-triggered by content patterns). Point out the initialized flag and
45739
+ explain how /meta init set it.
45740
+ Verify: Run /meta to see project status; observe which fields it reports.
45741
+ Observation focus: initialization model, command-vs-rule-vs-skill distinction.
45742
+
45743
+ **Item 3: The /meta Command**
45744
+
45745
+ When automation is none:
45746
+ "Think of /meta as your project dashboard -- it shows what's healthy and what needs
45747
+ attention." Run /meta (no arguments) and narrate the output in plain language: what
45748
+ each field means. Explain /meta fix as "the agent tidies up and applies updates."
45749
+ Explain /meta deploy as "the agent publishes your changes in one step." Briefly note
45750
+ /meta health shows what happened when something goes wrong.
45751
+ Verify: Run /meta (no arguments). Narrate the output together.
45752
+ Observation focus: project lifecycle concept, dashboard reading.
45753
+
45754
+ When automation is low-code:
45755
+ Show all /meta operations with their purpose. Map to familiar concepts: /meta fix is
45756
+ like "repair this Zap" in Zapier; /meta deploy is a one-command publish pipeline.
45757
+ Walk through the /meta (no-args) output: template version (SDK template your workspace
45758
+ uses), SDK version (installed package), profile summary, drift check.
45759
+ Verify: Run /meta and interpret each field together.
45760
+ Observation focus: deploy pipeline understanding, version tracking.
45761
+
45762
+ When automation is custom:
45763
+ Read \`.claude/commands/meta.md\`. Walk through each operation: init (first-run setup
45764
+ with assessment), (no-args) (status dashboard), fix (drift repair + SDK upgrade +
45765
+ rules health), deploy (7-step pipeline: check, typecheck, docs, git, deploy,
45766
+ project-map, verify), health (runtime diagnostics). Explain the merge strategy for
45767
+ CLAUDE.md and commands. Note the template access model: templates read from
45768
+ @elevasis/sdk/templates subpath.
45769
+ Verify: Run /meta to see project status. Identify what a version mismatch looks like.
45770
+ Observation focus: full lifecycle coverage, pipeline internals.
45771
+
45772
+ **Item 4: /work and /docs**
45773
+
45774
+ When automation is none:
45775
+ "You can ask the assistant to track work across conversations. When you start something
45776
+ complex, use /work create to save your place. Next session, /work resume picks up where
45777
+ you left off." Walk through the concept without deep command details. Then introduce /docs:
45778
+ "When a task is finished, /work complete moves it to docs/ permanently. After that, /docs
45779
+ helps you find and read what's there -- like a notebook for your project." Run /docs (no
45780
+ args) to show the docs/ overview together.
45781
+ Verify: Create a task with \`/work create "practice task"\`, then run /work to see it listed.
45782
+ Then run /docs to see the docs/ structure.
45783
+ Observation focus: persistence concept, cross-session continuity, docs as permanent notes.
45784
+
45785
+ When automation is low-code:
45786
+ Show /work operations: create (task doc with frontmatter + sections), save (updates
45787
+ Progress + Resume Context), resume (loads context for next session), complete (moves
45788
+ to permanent docs/).
45789
+ Then introduce /docs: "/docs is for permanent knowledge -- things that don't expire. Use
45790
+ /docs create to document a workflow or integration. Use /docs verify to check if your
45791
+ docs match the current code." Explain the boundary: /work manages in-progress/, /docs
45792
+ manages permanent docs/.
45793
+ Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the
45794
+ file. Then run /docs to browse docs/.
45795
+ Observation focus: task tracking workflow, /work vs /docs separation.
45796
+
45797
+ When automation is custom:
45798
+ Read \`.claude/commands/work.md\`. Full /work coverage:
45799
+ /work create (kebab-case filename, frontmatter with status, Objective/Plan/Progress/
45800
+ Resume Context sections), /work save (Progress + Resume Context update), /work resume
45801
+ (multiple-task disambiguation), /work complete (moves to final location).
45802
+ Then read \`.claude/commands/docs.md\`. Cover /docs operations:
45803
+ /docs (default): browse permanent docs/, categorized with read-only auto-generated files
45804
+ separate; /docs create: interview-driven, resource-aware doc creation from src/ code
45805
+ analysis; /docs verify: cross-references resource IDs, schema fields, platform tools in
45806
+ docs against src/ -- standalone analog of /meta fix step 5.
45807
+ Explain the relationship: /work owns docs/in-progress/ (task lifecycle), /work complete
45808
+ moves docs to permanent location, /docs browses and verifies what's there.
45809
+ Verify: Create a task doc, save progress, run /work complete to move it. Then run /docs
45810
+ to see it in the permanent docs/ listing.
45811
+ Observation focus: task doc anatomy, /work-to-/docs handoff, docs verification as standalone tool.
45812
+
45813
+ **Item 5: Your First Custom Workflow**
45734
45814
 
45735
45815
  When automation is none:
45736
45816
  Frame the workflow as "a recipe." Use plain language: "settings" not "config",
@@ -45747,7 +45827,7 @@ Runner in the Command Center, find the echo workflow, fill out the form, and
45747
45827
  run it from the UI. Compare the result to the CLI output.
45748
45828
  Observation focus: deployment-to-execution loop, TypeScript syntax comfort.
45749
45829
 
45750
- **Lesson 3: Understanding Data (Schemas)**
45830
+ **Item 6: Understanding Data (Schemas)**
45751
45831
 
45752
45832
  When automation is none:
45753
45833
  Frame as "What information does your automation need?" Describe types in plain English:
@@ -45770,7 +45850,7 @@ run with \`elevasis-sdk exec --input '{...}'\` to verify the schema and inspect
45770
45850
  the execution output.
45771
45851
  Observation focus: schema-to-input mapping, optional fields, types.
45772
45852
 
45773
- **Lesson 4: Using Platform Tools**
45853
+ **Item 7: Using Platform Tools**
45774
45854
 
45775
45855
  When automation is none:
45776
45856
  Frame as "Connecting your automation to a service you already use." Pick ONE
@@ -45792,7 +45872,7 @@ If using the approval tool, note that pending requests surface in Command Queue.
45792
45872
  See reference/platform-tools/adapters.mdx for full API.
45793
45873
  Observation focus: credential setup (CLI + UI), async/await.
45794
45874
 
45795
- **Lesson 5: Multi-Step Workflows**
45875
+ **Item 8: Multi-Step Workflows**
45796
45876
 
45797
45877
  When automation is none:
45798
45878
  Frame as "Step 1 passes its result to Step 2, like a relay race." Command View is
@@ -45808,7 +45888,7 @@ relationship edges between resources. Explain how declared relationships map
45808
45888
  to the visual graph.
45809
45889
  Observation focus: data flow reasoning, relationship visualization.
45810
45890
 
45811
- **Lesson 6: Decision Points**
45891
+ **Item 9: Decision Points**
45812
45892
 
45813
45893
  When automation is none:
45814
45894
  Frame as "If the customer is VIP, do this -- otherwise, do that." No StepType.CONDITIONAL
@@ -45824,7 +45904,7 @@ Execution Logs in the Command Center, filter by the resource, and show how
45824
45904
  each path appears in the log detail (step trace, input/output).
45825
45905
  Observation focus: branching logic reasoning, execution log interpretation.
45826
45906
 
45827
- **Lesson 7: Going to Production**
45907
+ **Item 10: Going to Production**
45828
45908
 
45829
45909
  When automation is none:
45830
45910
  Frame as "draft vs live" not "dev vs production." Error handling: "when something
@@ -45843,7 +45923,7 @@ Observation focus: readiness for independent operation (CLI + UI).
45843
45923
 
45844
45924
  ## Module Menu
45845
45925
 
45846
- Module order (items 8-16 in the main menu): hitl, schedules, notifications,
45926
+ Module order (items 11-19 in the main menu): hitl, schedules, notifications,
45847
45927
  integrations, error-handling, workflows, composition, llm, agents.
45848
45928
 
45849
45929
  After completing a module, show the updated full menu table (## Menu).
@@ -45928,114 +46008,14 @@ Compare agent vs workflow for a task.
45928
46008
  Key concepts: agent definition, tool registration, LLM tool calling, execution trace.
45929
46009
  Verify: Run agent with \`elevasis-sdk exec\`, review tool call trace in Execution Logs.
45930
46010
 
45931
- ## Meta-Framework Track
45932
-
45933
- The Meta-Framework track teaches you how the Claude Code workspace works -- the commands,
45934
- rules, memory system, and customization model. It is independent of the core path and
45935
- can be taken in any order.
45936
-
45937
- **MF1: The Agent Framework -- How This Workspace Works**
45938
-
45939
- When automation is none:
45940
- "This workspace comes with a built-in assistant that knows your project, your tools,
45941
- and your goals. Let me show you how it's set up." Open CLAUDE.md and explain in
45942
- plain terms: it's the agent's instruction sheet. Point out the commands in the
45943
- Commands table. Show /meta, /tutorial, /work. Explain the creds skill as
45944
- "the assistant automatically helps when you mention API keys." Tour the memory folder
45945
- at a high level -- "this is where the agent stores what it learns about your project."
45946
- Verify: Ask the user a question about their business goal and show how the agent
45947
- references their profile in the answer.
45948
- Observation focus: agent-as-assistant concept, CLAUDE.md as instruction sheet.
45949
-
45950
- When automation is low-code:
45951
- Read CLAUDE.md and walk through each section. Explain: what the agent reads on
45952
- session start, how the navigation table works, what the Skills section means.
45953
- Explain the four commands briefly. Show that the agent has memory: open
45954
- \`.claude/memory/profile/skills.md\` and show their own profile -- "every session,
45955
- the agent reads this and adapts." Explain the initialized flag.
45956
- Verify: Run /meta to see project status.
45957
- Observation focus: memory system concept, session initialization flow.
45958
-
45959
- When automation is custom:
45960
- Read CLAUDE.md in full. Explain the session initialization sequence: CLAUDE.md ->
45961
- navigation table -> memory files -> context loading. Walk through: Commands section
45962
- (4 commands + creds skill), Rules section (auto-loaded based on file paths), Skills
45963
- section (auto-triggered by content patterns). Point out the initialized flag and
45964
- explain how /meta init set it.
45965
- Verify: Run /meta to see project status; observe which fields it reports.
45966
- Observation focus: initialization model, command-vs-rule-vs-skill distinction.
45967
-
45968
- **MF2: The /meta Command -- Project Lifecycle**
45969
-
45970
- When automation is none:
45971
- "Think of /meta as your project dashboard -- it shows what's healthy and what needs
45972
- attention." Run /meta (no arguments) and narrate the output in plain language: what
45973
- each field means. Explain /meta fix as "the agent tidies up and applies updates."
45974
- Explain /meta deploy as "the agent publishes your changes in one step." Briefly note
45975
- /meta health shows what happened when something goes wrong.
45976
- Verify: Run /meta (no arguments). Narrate the output together.
45977
- Observation focus: project lifecycle concept, dashboard reading.
45978
-
45979
- When automation is low-code:
45980
- Show all /meta operations with their purpose. Map to familiar concepts: /meta fix is
45981
- like "repair this Zap" in Zapier; /meta deploy is a one-command publish pipeline.
45982
- Walk through the /meta (no-args) output: template version (SDK template your workspace
45983
- uses), SDK version (installed package), profile summary, drift check.
45984
- Verify: Run /meta and interpret each field together.
45985
- Observation focus: deploy pipeline understanding, version tracking.
45986
-
45987
- When automation is custom:
45988
- Read \`.claude/commands/meta.md\`. Walk through each operation: init (first-run setup
45989
- with assessment), (no-args) (status dashboard), fix (drift repair + SDK upgrade +
45990
- rules health), deploy (7-step pipeline: check, typecheck, docs, git, deploy,
45991
- project-map, verify), health (runtime diagnostics). Explain the merge strategy for
45992
- CLAUDE.md and commands. Note the template access model: templates read from
45993
- @elevasis/sdk/templates subpath.
45994
- Verify: Run /meta to see project status. Identify what a version mismatch looks like.
45995
- Observation focus: full lifecycle coverage, pipeline internals.
46011
+ ## Advanced Workspace Track
45996
46012
 
45997
- **MF3: /work and /docs -- Task and Documentation Lifecycle**
46013
+ The Advanced Workspace track teaches power-user workspace customization and maintenance --
46014
+ rules, memory, and the template lifecycle. Independent of the core path; can be taken at any time.
45998
46015
 
45999
- When automation is none:
46000
- "You can ask the assistant to track work across conversations. When you start something
46001
- complex, use /work create to save your place. Next session, /work resume picks up where
46002
- you left off." Walk through the concept without deep command details. Then introduce /docs:
46003
- "When a task is finished, /work complete moves it to docs/ permanently. After that, /docs
46004
- helps you find and read what's there -- like a notebook for your project." Run /docs (no
46005
- args) to show the docs/ overview together.
46006
- Verify: Create a task with \`/work create "practice task"\`, then run /work to see it listed.
46007
- Then run /docs to see the docs/ structure.
46008
- Observation focus: persistence concept, cross-session continuity, docs as permanent notes.
46016
+ Each item follows the same flow as core lessons: announce, explain per skill level, verify, record observations.
46009
46017
 
46010
- When automation is low-code:
46011
- Show /work operations: create (task doc with frontmatter + sections), save (updates
46012
- Progress + Resume Context), resume (loads context for next session), complete (moves
46013
- to permanent docs/).
46014
- Then introduce /docs: "/docs is for permanent knowledge -- things that don't expire. Use
46015
- /docs create to document a workflow or integration. Use /docs verify to check if your
46016
- docs match the current code." Explain the boundary: /work manages in-progress/, /docs
46017
- manages permanent docs/.
46018
- Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the
46019
- file. Then run /docs to browse docs/.
46020
- Observation focus: task tracking workflow, /work vs /docs separation.
46021
-
46022
- When automation is custom:
46023
- Read \`.claude/commands/work.md\`. Full /work coverage:
46024
- /work create (kebab-case filename, frontmatter with status, Objective/Plan/Progress/
46025
- Resume Context sections), /work save (Progress + Resume Context update), /work resume
46026
- (multiple-task disambiguation), /work complete (moves to final location).
46027
- Then read \`.claude/commands/docs.md\`. Cover /docs operations:
46028
- /docs (default): browse permanent docs/, categorized with read-only auto-generated files
46029
- separate; /docs create: interview-driven, resource-aware doc creation from src/ code
46030
- analysis; /docs verify: cross-references resource IDs, schema fields, platform tools in
46031
- docs against src/ -- standalone analog of /meta fix step 5.
46032
- Explain the relationship: /work owns docs/in-progress/ (task lifecycle), /work complete
46033
- moves docs to permanent location, /docs browses and verifies what's there.
46034
- Verify: Create a task doc, save progress, run /work complete to move it. Then run /docs
46035
- to see it in the permanent docs/ listing.
46036
- Observation focus: task doc anatomy, /work-to-/docs handoff, docs verification as standalone tool.
46037
-
46038
- **MF4: Rules, Memory, and Customization**
46018
+ **Item 20: Rules, Memory, and Customization**
46039
46019
 
46040
46020
  When automation is none:
46041
46021
  "The assistant has a set of reminders specific to your project. Over time, when it
@@ -46066,7 +46046,7 @@ workspace-patterns.md. Walk through how to add a new rule.
46066
46046
  Verify: Read \`.claude/rules/workspace-patterns.md\`. Add a sample rule entry together.
46067
46047
  Observation focus: MANAGED vs INIT_ONLY lifecycle, rule authoring, memory layout.
46068
46048
 
46069
- **MF5: Advanced -- Template Lifecycle and Extending**
46049
+ **Item 21: Template Lifecycle**
46070
46050
 
46071
46051
  When automation is none:
46072
46052
  "When Elevasis SDK releases updates, the assistant can apply them to your workspace
@@ -46117,7 +46097,7 @@ for intermediate/advanced users.
46117
46097
 
46118
46098
  **General rules (all levels)**
46119
46099
  - If user is fast, acknowledge and offer to skip ahead within a lesson
46120
- - After each lesson, update \`.claude/memory/tutorial-progress.md\`
46100
+ - After the user confirms readiness at the end of a lesson, update \`.claude/memory/tutorial-progress.md\`
46121
46101
  - If user demonstrates a level change, promote to skills.md Growth Log
46122
46102
  - After completing a module, show the updated full menu table
46123
46103
  - Adapt module depth to skill level as with lessons
@@ -46136,7 +46116,7 @@ Last Session: {today's date}
46136
46116
 
46137
46117
  ## Completed Lessons
46138
46118
 
46139
- | Lesson | Title | Completed | Duration |
46119
+ | Item | Title | Completed | Duration |
46140
46120
  | --- | --- | --- | --- |
46141
46121
 
46142
46122
  ## Completed Modules
@@ -46144,11 +46124,6 @@ Last Session: {today's date}
46144
46124
  | Module | Title | Completed | Duration |
46145
46125
  | --- | --- | --- | --- |
46146
46126
 
46147
- ## Completed MF Lessons
46148
-
46149
- | Lesson | Title | Completed | Notes |
46150
- | --- | --- | --- | --- |
46151
-
46152
46127
  ## Capability Observations
46153
46128
 
46154
46129
  | Source | Observation |
@@ -46160,13 +46135,14 @@ Last Session: {today's date}
46160
46135
  \`\`\`
46161
46136
 
46162
46137
  Update rules:
46163
- - \`Current\`: free-form, e.g. "L4: Using Platform Tools" or "M:integrations" or "MF2"
46138
+ - \`Current\`: free-form, e.g. "4: Using Platform Tools" or "M:integrations" or "20: Rules, Memory, and Customization"
46164
46139
  - \`Last Session\`: update to today's date on each \`/tutorial\` invocation
46165
- - Completed tables: add a row when a lesson/module/MF lesson finishes
46166
- - Capability Observations: prefix source with L# for lessons, M:<id> for modules, MF# for MF lessons
46140
+ - Completed Lessons: add a row when any numbered item (1-10, 20-21) finishes
46141
+ - Completed Modules: add a row when any module (items 11-19) finishes
46142
+ - Capability Observations: prefix source with item number for lessons (#), M:<id> for modules
46167
46143
  - Assessment Notes: bullet points of general skill observations
46168
46144
 
46169
- Backward-compatible: missing Completed Modules or Completed MF Lessons sections treated as empty.
46145
+ Backward-compatible: missing Completed Modules treated as empty. Old files with Completed MF Lessons: map entries to items 2-4 and 20-21 by lesson title match.
46170
46146
  `;
46171
46147
  }
46172
46148
  function claudeMetaCommandTemplate() {
@@ -46277,8 +46253,7 @@ by the \`<!-- initialized: false -->\` flag in CLAUDE.md, or run manually.
46277
46253
  ### \`/meta\` (no arguments) -- Project Status
46278
46254
 
46279
46255
  Display a project health summary:
46280
- 1. Current template version vs latest available
46281
- 2. SDK package version from package.json
46256
+ 1. Template version (from elevasis.config.ts) and installed SDK version (from package.json). Suggest \`elevasis-sdk update\` to check for updates
46282
46257
  3. Profile summary (from memory/profile/skills.md)
46283
46258
  4. Quick drift check: count of missing managed files, missing gitignore entries
46284
46259
  5. Last deployment status (from memory/deployment-state.md if it exists)
@@ -47179,8 +47154,7 @@ function getUIFiles(orgSlug) {
47179
47154
  "ui/src/App.tsx": uiAppTsxTemplate(),
47180
47155
  "ui/src/AuthRedirect.tsx": uiAuthRedirectTemplate(),
47181
47156
  "ui/src/vite-env.d.ts": uiViteEnvDtsTemplate(),
47182
- "ui/.env": uiEnvTemplate(),
47183
- "ui/.env.example": uiEnvExampleTemplate()
47157
+ "ui/.env": uiEnvTemplate()
47184
47158
  };
47185
47159
  }
47186
47160
  function uiPackageJsonTemplate(orgSlug) {
@@ -47319,10 +47293,6 @@ function uiEnvTemplate() {
47319
47293
  return `VITE_WORKOS_CLIENT_ID=
47320
47294
  `;
47321
47295
  }
47322
- function uiEnvExampleTemplate() {
47323
- return `VITE_WORKOS_CLIENT_ID=your_workos_client_id
47324
- `;
47325
- }
47326
47296
 
47327
47297
  // src/cli/commands/templates/ui/index.ts
47328
47298
  var UI_INIT_FILES = [
@@ -47334,8 +47304,7 @@ var UI_INIT_FILES = [
47334
47304
  "ui/src/App.tsx",
47335
47305
  "ui/src/AuthRedirect.tsx",
47336
47306
  "ui/src/vite-env.d.ts",
47337
- "ui/.env",
47338
- "ui/.env.example"
47307
+ "ui/.env"
47339
47308
  ];
47340
47309
 
47341
47310
  // src/cli/commands/init.ts
@@ -47344,7 +47313,6 @@ var INIT_ONLY_FILES = [
47344
47313
  "pnpm-workspace.yaml",
47345
47314
  "tsconfig.json",
47346
47315
  ".env",
47347
- ".env.example",
47348
47316
  ".npmrc",
47349
47317
  "src/index.ts",
47350
47318
  "src/operations/platform-status.ts",
@@ -47416,7 +47384,6 @@ function registerInitCommand(program3) {
47416
47384
  "pnpm-workspace.yaml": pnpmWorkspaceTemplate(),
47417
47385
  "tsconfig.json": tsconfigTemplate(),
47418
47386
  ".env": envTemplate(),
47419
- ".env.example": envExampleTemplate(),
47420
47387
  ".npmrc": npmrcTemplate(),
47421
47388
  ".gitignore": gitignoreTemplate({ hasUI: options2.ui }),
47422
47389
  "src/index.ts": starterTemplate(),
@@ -47456,7 +47423,7 @@ function registerInitCommand(program3) {
47456
47423
  console.log(source_default.gray(` cd ${directory}`));
47457
47424
  }
47458
47425
  console.log(source_default.gray(" pnpm install"));
47459
- console.log(source_default.gray(" # Copy .env.example to .env and add your API key"));
47426
+ console.log(source_default.gray(" # Add your API key to .env"));
47460
47427
  console.log(source_default.gray(" elevasis-sdk check"));
47461
47428
  console.log(source_default.gray(" elevasis-sdk deploy"));
47462
47429
  if (options2.ui) {