@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/index.d.ts CHANGED
@@ -3049,9 +3049,8 @@ declare class ResourceRegistry {
3049
3049
  * List all resources for an organization
3050
3050
  * Returns ResourceDefinition metadata (not full definitions)
3051
3051
  *
3052
- * Environment filtering (automatic):
3053
- * - Development: Returns all resources (dev + prod)
3054
- * - Production: Returns only prod resources (filters out dev)
3052
+ * All resources are returned regardless of server environment.
3053
+ * Pass an explicit `environment` filter to get only 'dev' or 'prod' resources.
3055
3054
  */
3056
3055
  listResourcesForOrganization(organizationName: string, environment?: ResourceStatus$1): ResourceList;
3057
3056
  /**
package/dist/index.js CHANGED
@@ -142,18 +142,6 @@ var DOMAIN_MAP = {
142
142
  [DOMAINS.DIAGNOSTIC]: DIAGNOSTIC_DOMAIN
143
143
  };
144
144
 
145
- // ../core/src/execution/core/server/environment.ts
146
- function detectEnvironment() {
147
- const env = process.env.NODE_ENV || "development";
148
- if (env === "production") return "production";
149
- if (env === "staging") return "staging";
150
- return "development";
151
- }
152
- function canExecuteResource(resource, environment) {
153
- const env = environment || detectEnvironment();
154
- return env === "production" ? resource.status === "prod" : true;
155
- }
156
-
157
145
  // ../core/src/execution/engine/base/errors.ts
158
146
  var ExecutionError2 = class extends Error {
159
147
  /**
@@ -3225,9 +3213,8 @@ var ResourceRegistry = class {
3225
3213
  * List all resources for an organization
3226
3214
  * Returns ResourceDefinition metadata (not full definitions)
3227
3215
  *
3228
- * Environment filtering (automatic):
3229
- * - Development: Returns all resources (dev + prod)
3230
- * - Production: Returns only prod resources (filters out dev)
3216
+ * All resources are returned regardless of server environment.
3217
+ * Pass an explicit `environment` filter to get only 'dev' or 'prod' resources.
3231
3218
  */
3232
3219
  listResourcesForOrganization(organizationName, environment) {
3233
3220
  const orgResources = this.registry[organizationName];
@@ -3240,7 +3227,6 @@ var ResourceRegistry = class {
3240
3227
  environment
3241
3228
  };
3242
3229
  }
3243
- const currentEnv = detectEnvironment();
3244
3230
  const workflows = (orgResources.workflows || []).map((def) => ({
3245
3231
  resourceId: def.config.resourceId,
3246
3232
  name: def.config.name,
@@ -3249,12 +3235,7 @@ var ResourceRegistry = class {
3249
3235
  type: def.config.type,
3250
3236
  status: def.config.status,
3251
3237
  origin: this.remoteResources.has(`${organizationName}/${def.config.resourceId}`) ? "remote" : "local"
3252
- })).filter((resource) => {
3253
- if (environment) {
3254
- return resource.status === environment;
3255
- }
3256
- return canExecuteResource(resource, currentEnv);
3257
- });
3238
+ })).filter((resource) => !environment || resource.status === environment);
3258
3239
  const agents = (orgResources.agents || []).map((def) => ({
3259
3240
  resourceId: def.config.resourceId,
3260
3241
  name: def.config.name,
@@ -3264,18 +3245,13 @@ var ResourceRegistry = class {
3264
3245
  status: def.config.status,
3265
3246
  sessionCapable: def.config.sessionCapable ?? false,
3266
3247
  origin: this.remoteResources.has(`${organizationName}/${def.config.resourceId}`) ? "remote" : "local"
3267
- })).filter((resource) => {
3268
- if (environment) {
3269
- return resource.status === environment;
3270
- }
3271
- return canExecuteResource(resource, currentEnv);
3272
- });
3248
+ })).filter((resource) => !environment || resource.status === environment);
3273
3249
  return {
3274
3250
  workflows,
3275
3251
  agents,
3276
3252
  total: workflows.length + agents.length,
3277
3253
  organizationName,
3278
- environment: environment || (currentEnv === "production" ? "prod" : void 0)
3254
+ environment
3279
3255
  };
3280
3256
  }
3281
3257
  /**
package/dist/templates.js CHANGED
@@ -1,13 +1,13 @@
1
1
  // package.json
2
2
 
3
3
  // src/cli/commands/templates/core/workspace.ts
4
- var TEMPLATE_VERSION = 24;
4
+ var TEMPLATE_VERSION = 27;
5
5
  function configTemplate() {
6
6
  return `import type { ElevasConfig } from '@elevasis/sdk'
7
7
 
8
8
  export default {
9
9
  templateVersion: ${TEMPLATE_VERSION},
10
- // defaultStatus: 'dev', // Default status for new resources ('dev' | 'production')
10
+ // defaultStatus: 'dev', // Default status for new resources ('dev' | 'prod')
11
11
  // dev: { port: 5170 }, // Local API port (internal development only)
12
12
  } satisfies ElevasConfig
13
13
  `;
@@ -274,13 +274,18 @@ All \`reference/\` paths resolve to \`node_modules/@elevasis/sdk/reference/\`.
274
274
 
275
275
  ## Elevasis CLI
276
276
 
277
- **MANDATORY:** Use the \`elevasis-sdk\` CLI for all execution/platform operations -- never \`npx\`, \`curl\`, or any other tool.
277
+ **MANDATORY:** Use the \`elevasis-sdk\` CLI for all execution/platform operations -- never \`curl\` or any other tool.
278
278
 
279
- - \`elevasis-sdk exec <resource-id> --input '{...}'\` -- run a resource synchronously
280
- - \`elevasis-sdk exec <resource-id> --input '{...}' --async\` -- run async, returns execution ID
281
- - \`elevasis-sdk execution <resource-id> <execution-id>\` -- inspect execution detail
282
- - \`elevasis-sdk check\` -- validate resource definitions without deploying
283
- - \`elevasis-sdk deploy\` -- deploy to the platform
279
+ Use pnpm scripts for check and deploy (they resolve the local binary automatically):
280
+
281
+ - \`pnpm run check\` -- validate resource definitions without deploying
282
+ - \`pnpm run deploy\` -- deploy to the platform
283
+
284
+ Use \`pnpm exec elevasis-sdk\` for runtime commands (resolves the locally installed binary):
285
+
286
+ - \`pnpm exec elevasis-sdk exec <resource-id> --input '{...}'\` -- run a resource synchronously
287
+ - \`pnpm exec elevasis-sdk exec <resource-id> --input '{...}' --async\` -- run async, returns execution ID
288
+ - \`pnpm exec elevasis-sdk execution <resource-id> <execution-id>\` -- inspect execution detail
284
289
 
285
290
  Organization is derived from your API key -- no org prefix needed in the resource ID.
286
291
  For full CLI reference: \`reference/cli/index.mdx\`
@@ -432,32 +437,34 @@ Example (first time, no progress):
432
437
  Elevasis Tutorial
433
438
  ==================
434
439
 
435
- ORCHESTRATION CONCEPTS 0/7
436
- 1 Welcome & Orientation [ ]
437
- 2 Your First Custom Workflow [ ]
438
- 3 Understanding Data (Schemas) [ ]
439
- 4 Using Platform Tools [ ]
440
- 5 Multi-Step Workflows [ ]
441
- 6 Decision Points [ ]
442
- 7 Going to Production [ ]
443
-
444
- EXAMPLES & ADVANCED MODULES 0/9
445
- 8 Human-in-the-Loop [ ]
446
- 9 Task Scheduling [ ]
447
- 10 Notification System [ ]
448
- 11 Real-World Integrations [ ]
449
- 12 Error Handling Mastery [ ]
450
- 13 Advanced Workflows [ ]
451
- 14 Resource Composition [ ]
452
- 15 LLM Integration [ ]
453
- 16 AI Agents [ ]
454
-
455
- META-FRAMEWORK 0/5
456
- 17 The Agent Framework [ ]
457
- 18 The /meta Command [ ]
458
- 19 /work and /docs [ ]
459
- 20 Rules, Memory, and Customization [ ]
460
- 21 Template Lifecycle [ ]
440
+ INTRODUCTION 0/4
441
+ 1 Welcome & Orientation [ ]
442
+ 2 How This Workspace Works [ ]
443
+ 3 The /meta Command [ ]
444
+ 4 /work and /docs [ ]
445
+
446
+ CORE CONCEPTS 0/6
447
+ 5 Your First Custom Workflow [ ]
448
+ 6 Understanding Data (Schemas) [ ]
449
+ 7 Using Platform Tools [ ]
450
+ 8 Multi-Step Workflows [ ]
451
+ 9 Decision Points [ ]
452
+ 10 Going to Production [ ]
453
+
454
+ ADVANCED MODULES 0/9
455
+ 11 Human-in-the-Loop [ ]
456
+ 12 Task Scheduling [ ]
457
+ 13 Notification System [ ]
458
+ 14 Real-World Integrations [ ]
459
+ 15 Error Handling Mastery [ ]
460
+ 16 Advanced Workflows [ ]
461
+ 17 Resource Composition [ ]
462
+ 18 LLM Integration [ ]
463
+ 19 AI Agents [ ]
464
+
465
+ ADVANCED WORKSPACE 0/2
466
+ 20 Rules, Memory, and Customization [ ]
467
+ 21 Template Lifecycle [ ]
461
468
 
462
469
  Pick a number to start.
463
470
  \`\`\`
@@ -470,7 +477,7 @@ indicators from completed/current state. \`"status"\` -> show the same table.
470
477
  1. Read \`.claude/memory/tutorial-progress.md\`
471
478
  2. Show the full menu table (## Menu) with progress filled in
472
479
  3. User picks a number -> start or resume that lesson or module directly
473
- 4. After completion: mark done in progress file, show updated menu table
480
+ 4. After user confirms readiness: mark done in progress file, show updated menu table
474
481
  5. All 21 items complete -> congratulate, suggest exploring docs/ or /work
475
482
 
476
483
  ## Lesson Flow
@@ -480,12 +487,12 @@ Each lesson follows this flow:
480
487
  2. Explain the concept (read docs per skill level, adapt to user)
481
488
  3. Guide user to build or modify something (agent writes all code for automation: none)
482
489
  4. Verify it works (CLI primary for all levels; Command Center for visual review -- Command View, Execution Logs)
483
- 5. Celebrate success, record observations in \`.claude/memory/tutorial-progress.md\`
484
- 6. Ask: "Ready for the next lesson, or want to practice more?"
490
+ 5. Celebrate success and ask: "Any questions, or ready to continue?"
491
+ 6. Once the user confirms, record observations in \`.claude/memory/tutorial-progress.md\`
485
492
 
486
493
  ## Lessons
487
494
 
488
- **Lesson 1: Welcome & Orientation**
495
+ **Item 1: Welcome & Orientation**
489
496
 
490
497
  When automation is none:
491
498
  Skip the file tour. Start with what Elevasis does for their business -- use analogies
@@ -505,7 +512,108 @@ main pages: Command View (resource graph), Execution Logs.
505
512
  Point out the echo workflow node in Command View.
506
513
  Observation focus: cloud deployment model, UI navigation comfort.
507
514
 
508
- **Lesson 2: Your First Custom Workflow**
515
+ **Item 2: How This Workspace Works**
516
+
517
+ When automation is none:
518
+ "This workspace comes with a built-in assistant that knows your project, your tools,
519
+ and your goals. Let me show you how it's set up." Open CLAUDE.md and explain in
520
+ plain terms: it's the agent's instruction sheet. Point out the commands in the
521
+ Commands table. Show /meta, /tutorial, /work. Explain the creds skill as
522
+ "the assistant automatically helps when you mention API keys." Tour the memory folder
523
+ at a high level -- "this is where the agent stores what it learns about your project."
524
+ Verify: Ask the user a question about their business goal and show how the agent
525
+ references their profile in the answer.
526
+ Observation focus: agent-as-assistant concept, CLAUDE.md as instruction sheet.
527
+
528
+ When automation is low-code:
529
+ Read CLAUDE.md and walk through each section. Explain: what the agent reads on
530
+ session start, how the navigation table works, what the Skills section means.
531
+ Explain the four commands briefly. Show that the agent has memory: open
532
+ \`.claude/memory/profile/skills.md\` and show their own profile -- "every session,
533
+ the agent reads this and adapts." Explain the initialized flag.
534
+ Verify: Run /meta to see project status.
535
+ Observation focus: memory system concept, session initialization flow.
536
+
537
+ When automation is custom:
538
+ Read CLAUDE.md in full. Explain the session initialization sequence: CLAUDE.md ->
539
+ navigation table -> memory files -> context loading. Walk through: Commands section
540
+ (4 commands + creds skill), Rules section (auto-loaded based on file paths), Skills
541
+ section (auto-triggered by content patterns). Point out the initialized flag and
542
+ explain how /meta init set it.
543
+ Verify: Run /meta to see project status; observe which fields it reports.
544
+ Observation focus: initialization model, command-vs-rule-vs-skill distinction.
545
+
546
+ **Item 3: The /meta Command**
547
+
548
+ When automation is none:
549
+ "Think of /meta as your project dashboard -- it shows what's healthy and what needs
550
+ attention." Run /meta (no arguments) and narrate the output in plain language: what
551
+ each field means. Explain /meta fix as "the agent tidies up and applies updates."
552
+ Explain /meta deploy as "the agent publishes your changes in one step." Briefly note
553
+ /meta health shows what happened when something goes wrong.
554
+ Verify: Run /meta (no arguments). Narrate the output together.
555
+ Observation focus: project lifecycle concept, dashboard reading.
556
+
557
+ When automation is low-code:
558
+ Show all /meta operations with their purpose. Map to familiar concepts: /meta fix is
559
+ like "repair this Zap" in Zapier; /meta deploy is a one-command publish pipeline.
560
+ Walk through the /meta (no-args) output: template version (SDK template your workspace
561
+ uses), SDK version (installed package), profile summary, drift check.
562
+ Verify: Run /meta and interpret each field together.
563
+ Observation focus: deploy pipeline understanding, version tracking.
564
+
565
+ When automation is custom:
566
+ Read \`.claude/commands/meta.md\`. Walk through each operation: init (first-run setup
567
+ with assessment), (no-args) (status dashboard), fix (drift repair + SDK upgrade +
568
+ rules health), deploy (7-step pipeline: check, typecheck, docs, git, deploy,
569
+ project-map, verify), health (runtime diagnostics). Explain the merge strategy for
570
+ CLAUDE.md and commands. Note the template access model: templates read from
571
+ @elevasis/sdk/templates subpath.
572
+ Verify: Run /meta to see project status. Identify what a version mismatch looks like.
573
+ Observation focus: full lifecycle coverage, pipeline internals.
574
+
575
+ **Item 4: /work and /docs**
576
+
577
+ When automation is none:
578
+ "You can ask the assistant to track work across conversations. When you start something
579
+ complex, use /work create to save your place. Next session, /work resume picks up where
580
+ you left off." Walk through the concept without deep command details. Then introduce /docs:
581
+ "When a task is finished, /work complete moves it to docs/ permanently. After that, /docs
582
+ helps you find and read what's there -- like a notebook for your project." Run /docs (no
583
+ args) to show the docs/ overview together.
584
+ Verify: Create a task with \`/work create "practice task"\`, then run /work to see it listed.
585
+ Then run /docs to see the docs/ structure.
586
+ Observation focus: persistence concept, cross-session continuity, docs as permanent notes.
587
+
588
+ When automation is low-code:
589
+ Show /work operations: create (task doc with frontmatter + sections), save (updates
590
+ Progress + Resume Context), resume (loads context for next session), complete (moves
591
+ to permanent docs/).
592
+ Then introduce /docs: "/docs is for permanent knowledge -- things that don't expire. Use
593
+ /docs create to document a workflow or integration. Use /docs verify to check if your
594
+ docs match the current code." Explain the boundary: /work manages in-progress/, /docs
595
+ manages permanent docs/.
596
+ Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the
597
+ file. Then run /docs to browse docs/.
598
+ Observation focus: task tracking workflow, /work vs /docs separation.
599
+
600
+ When automation is custom:
601
+ Read \`.claude/commands/work.md\`. Full /work coverage:
602
+ /work create (kebab-case filename, frontmatter with status, Objective/Plan/Progress/
603
+ Resume Context sections), /work save (Progress + Resume Context update), /work resume
604
+ (multiple-task disambiguation), /work complete (moves to final location).
605
+ Then read \`.claude/commands/docs.md\`. Cover /docs operations:
606
+ /docs (default): browse permanent docs/, categorized with read-only auto-generated files
607
+ separate; /docs create: interview-driven, resource-aware doc creation from src/ code
608
+ analysis; /docs verify: cross-references resource IDs, schema fields, platform tools in
609
+ docs against src/ -- standalone analog of /meta fix step 5.
610
+ Explain the relationship: /work owns docs/in-progress/ (task lifecycle), /work complete
611
+ moves docs to permanent location, /docs browses and verifies what's there.
612
+ Verify: Create a task doc, save progress, run /work complete to move it. Then run /docs
613
+ to see it in the permanent docs/ listing.
614
+ Observation focus: task doc anatomy, /work-to-/docs handoff, docs verification as standalone tool.
615
+
616
+ **Item 5: Your First Custom Workflow**
509
617
 
510
618
  When automation is none:
511
619
  Frame the workflow as "a recipe." Use plain language: "settings" not "config",
@@ -522,7 +630,7 @@ Runner in the Command Center, find the echo workflow, fill out the form, and
522
630
  run it from the UI. Compare the result to the CLI output.
523
631
  Observation focus: deployment-to-execution loop, TypeScript syntax comfort.
524
632
 
525
- **Lesson 3: Understanding Data (Schemas)**
633
+ **Item 6: Understanding Data (Schemas)**
526
634
 
527
635
  When automation is none:
528
636
  Frame as "What information does your automation need?" Describe types in plain English:
@@ -545,7 +653,7 @@ run with \`elevasis-sdk exec --input '{...}'\` to verify the schema and inspect
545
653
  the execution output.
546
654
  Observation focus: schema-to-input mapping, optional fields, types.
547
655
 
548
- **Lesson 4: Using Platform Tools**
656
+ **Item 7: Using Platform Tools**
549
657
 
550
658
  When automation is none:
551
659
  Frame as "Connecting your automation to a service you already use." Pick ONE
@@ -567,7 +675,7 @@ If using the approval tool, note that pending requests surface in Command Queue.
567
675
  See reference/platform-tools/adapters.mdx for full API.
568
676
  Observation focus: credential setup (CLI + UI), async/await.
569
677
 
570
- **Lesson 5: Multi-Step Workflows**
678
+ **Item 8: Multi-Step Workflows**
571
679
 
572
680
  When automation is none:
573
681
  Frame as "Step 1 passes its result to Step 2, like a relay race." Command View is
@@ -583,7 +691,7 @@ relationship edges between resources. Explain how declared relationships map
583
691
  to the visual graph.
584
692
  Observation focus: data flow reasoning, relationship visualization.
585
693
 
586
- **Lesson 6: Decision Points**
694
+ **Item 9: Decision Points**
587
695
 
588
696
  When automation is none:
589
697
  Frame as "If the customer is VIP, do this -- otherwise, do that." No StepType.CONDITIONAL
@@ -599,7 +707,7 @@ Execution Logs in the Command Center, filter by the resource, and show how
599
707
  each path appears in the log detail (step trace, input/output).
600
708
  Observation focus: branching logic reasoning, execution log interpretation.
601
709
 
602
- **Lesson 7: Going to Production**
710
+ **Item 10: Going to Production**
603
711
 
604
712
  When automation is none:
605
713
  Frame as "draft vs live" not "dev vs production." Error handling: "when something
@@ -618,7 +726,7 @@ Observation focus: readiness for independent operation (CLI + UI).
618
726
 
619
727
  ## Module Menu
620
728
 
621
- Module order (items 8-16 in the main menu): hitl, schedules, notifications,
729
+ Module order (items 11-19 in the main menu): hitl, schedules, notifications,
622
730
  integrations, error-handling, workflows, composition, llm, agents.
623
731
 
624
732
  After completing a module, show the updated full menu table (## Menu).
@@ -703,114 +811,14 @@ Compare agent vs workflow for a task.
703
811
  Key concepts: agent definition, tool registration, LLM tool calling, execution trace.
704
812
  Verify: Run agent with \`elevasis-sdk exec\`, review tool call trace in Execution Logs.
705
813
 
706
- ## Meta-Framework Track
814
+ ## Advanced Workspace Track
707
815
 
708
- The Meta-Framework track teaches you how the Claude Code workspace works -- the commands,
709
- rules, memory system, and customization model. It is independent of the core path and
710
- can be taken in any order.
816
+ The Advanced Workspace track teaches power-user workspace customization and maintenance --
817
+ rules, memory, and the template lifecycle. Independent of the core path; can be taken at any time.
711
818
 
712
- **MF1: The Agent Framework -- How This Workspace Works**
819
+ Each item follows the same flow as core lessons: announce, explain per skill level, verify, record observations.
713
820
 
714
- When automation is none:
715
- "This workspace comes with a built-in assistant that knows your project, your tools,
716
- and your goals. Let me show you how it's set up." Open CLAUDE.md and explain in
717
- plain terms: it's the agent's instruction sheet. Point out the commands in the
718
- Commands table. Show /meta, /tutorial, /work. Explain the creds skill as
719
- "the assistant automatically helps when you mention API keys." Tour the memory folder
720
- at a high level -- "this is where the agent stores what it learns about your project."
721
- Verify: Ask the user a question about their business goal and show how the agent
722
- references their profile in the answer.
723
- Observation focus: agent-as-assistant concept, CLAUDE.md as instruction sheet.
724
-
725
- When automation is low-code:
726
- Read CLAUDE.md and walk through each section. Explain: what the agent reads on
727
- session start, how the navigation table works, what the Skills section means.
728
- Explain the four commands briefly. Show that the agent has memory: open
729
- \`.claude/memory/profile/skills.md\` and show their own profile -- "every session,
730
- the agent reads this and adapts." Explain the initialized flag.
731
- Verify: Run /meta to see project status.
732
- Observation focus: memory system concept, session initialization flow.
733
-
734
- When automation is custom:
735
- Read CLAUDE.md in full. Explain the session initialization sequence: CLAUDE.md ->
736
- navigation table -> memory files -> context loading. Walk through: Commands section
737
- (4 commands + creds skill), Rules section (auto-loaded based on file paths), Skills
738
- section (auto-triggered by content patterns). Point out the initialized flag and
739
- explain how /meta init set it.
740
- Verify: Run /meta to see project status; observe which fields it reports.
741
- Observation focus: initialization model, command-vs-rule-vs-skill distinction.
742
-
743
- **MF2: The /meta Command -- Project Lifecycle**
744
-
745
- When automation is none:
746
- "Think of /meta as your project dashboard -- it shows what's healthy and what needs
747
- attention." Run /meta (no arguments) and narrate the output in plain language: what
748
- each field means. Explain /meta fix as "the agent tidies up and applies updates."
749
- Explain /meta deploy as "the agent publishes your changes in one step." Briefly note
750
- /meta health shows what happened when something goes wrong.
751
- Verify: Run /meta (no arguments). Narrate the output together.
752
- Observation focus: project lifecycle concept, dashboard reading.
753
-
754
- When automation is low-code:
755
- Show all /meta operations with their purpose. Map to familiar concepts: /meta fix is
756
- like "repair this Zap" in Zapier; /meta deploy is a one-command publish pipeline.
757
- Walk through the /meta (no-args) output: template version (SDK template your workspace
758
- uses), SDK version (installed package), profile summary, drift check.
759
- Verify: Run /meta and interpret each field together.
760
- Observation focus: deploy pipeline understanding, version tracking.
761
-
762
- When automation is custom:
763
- Read \`.claude/commands/meta.md\`. Walk through each operation: init (first-run setup
764
- with assessment), (no-args) (status dashboard), fix (drift repair + SDK upgrade +
765
- rules health), deploy (7-step pipeline: check, typecheck, docs, git, deploy,
766
- project-map, verify), health (runtime diagnostics). Explain the merge strategy for
767
- CLAUDE.md and commands. Note the template access model: templates read from
768
- @elevasis/sdk/templates subpath.
769
- Verify: Run /meta to see project status. Identify what a version mismatch looks like.
770
- Observation focus: full lifecycle coverage, pipeline internals.
771
-
772
- **MF3: /work and /docs -- Task and Documentation Lifecycle**
773
-
774
- When automation is none:
775
- "You can ask the assistant to track work across conversations. When you start something
776
- complex, use /work create to save your place. Next session, /work resume picks up where
777
- you left off." Walk through the concept without deep command details. Then introduce /docs:
778
- "When a task is finished, /work complete moves it to docs/ permanently. After that, /docs
779
- helps you find and read what's there -- like a notebook for your project." Run /docs (no
780
- args) to show the docs/ overview together.
781
- Verify: Create a task with \`/work create "practice task"\`, then run /work to see it listed.
782
- Then run /docs to see the docs/ structure.
783
- Observation focus: persistence concept, cross-session continuity, docs as permanent notes.
784
-
785
- When automation is low-code:
786
- Show /work operations: create (task doc with frontmatter + sections), save (updates
787
- Progress + Resume Context), resume (loads context for next session), complete (moves
788
- to permanent docs/).
789
- Then introduce /docs: "/docs is for permanent knowledge -- things that don't expire. Use
790
- /docs create to document a workflow or integration. Use /docs verify to check if your
791
- docs match the current code." Explain the boundary: /work manages in-progress/, /docs
792
- manages permanent docs/.
793
- Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the
794
- file. Then run /docs to browse docs/.
795
- Observation focus: task tracking workflow, /work vs /docs separation.
796
-
797
- When automation is custom:
798
- Read \`.claude/commands/work.md\`. Full /work coverage:
799
- /work create (kebab-case filename, frontmatter with status, Objective/Plan/Progress/
800
- Resume Context sections), /work save (Progress + Resume Context update), /work resume
801
- (multiple-task disambiguation), /work complete (moves to final location).
802
- Then read \`.claude/commands/docs.md\`. Cover /docs operations:
803
- /docs (default): browse permanent docs/, categorized with read-only auto-generated files
804
- separate; /docs create: interview-driven, resource-aware doc creation from src/ code
805
- analysis; /docs verify: cross-references resource IDs, schema fields, platform tools in
806
- docs against src/ -- standalone analog of /meta fix step 5.
807
- Explain the relationship: /work owns docs/in-progress/ (task lifecycle), /work complete
808
- moves docs to permanent location, /docs browses and verifies what's there.
809
- Verify: Create a task doc, save progress, run /work complete to move it. Then run /docs
810
- to see it in the permanent docs/ listing.
811
- Observation focus: task doc anatomy, /work-to-/docs handoff, docs verification as standalone tool.
812
-
813
- **MF4: Rules, Memory, and Customization**
821
+ **Item 20: Rules, Memory, and Customization**
814
822
 
815
823
  When automation is none:
816
824
  "The assistant has a set of reminders specific to your project. Over time, when it
@@ -841,7 +849,7 @@ workspace-patterns.md. Walk through how to add a new rule.
841
849
  Verify: Read \`.claude/rules/workspace-patterns.md\`. Add a sample rule entry together.
842
850
  Observation focus: MANAGED vs INIT_ONLY lifecycle, rule authoring, memory layout.
843
851
 
844
- **MF5: Advanced -- Template Lifecycle and Extending**
852
+ **Item 21: Template Lifecycle**
845
853
 
846
854
  When automation is none:
847
855
  "When Elevasis SDK releases updates, the assistant can apply them to your workspace
@@ -892,7 +900,7 @@ for intermediate/advanced users.
892
900
 
893
901
  **General rules (all levels)**
894
902
  - If user is fast, acknowledge and offer to skip ahead within a lesson
895
- - After each lesson, update \`.claude/memory/tutorial-progress.md\`
903
+ - After the user confirms readiness at the end of a lesson, update \`.claude/memory/tutorial-progress.md\`
896
904
  - If user demonstrates a level change, promote to skills.md Growth Log
897
905
  - After completing a module, show the updated full menu table
898
906
  - Adapt module depth to skill level as with lessons
@@ -911,7 +919,7 @@ Last Session: {today's date}
911
919
 
912
920
  ## Completed Lessons
913
921
 
914
- | Lesson | Title | Completed | Duration |
922
+ | Item | Title | Completed | Duration |
915
923
  | --- | --- | --- | --- |
916
924
 
917
925
  ## Completed Modules
@@ -919,11 +927,6 @@ Last Session: {today's date}
919
927
  | Module | Title | Completed | Duration |
920
928
  | --- | --- | --- | --- |
921
929
 
922
- ## Completed MF Lessons
923
-
924
- | Lesson | Title | Completed | Notes |
925
- | --- | --- | --- | --- |
926
-
927
930
  ## Capability Observations
928
931
 
929
932
  | Source | Observation |
@@ -935,13 +938,14 @@ Last Session: {today's date}
935
938
  \`\`\`
936
939
 
937
940
  Update rules:
938
- - \`Current\`: free-form, e.g. "L4: Using Platform Tools" or "M:integrations" or "MF2"
941
+ - \`Current\`: free-form, e.g. "4: Using Platform Tools" or "M:integrations" or "20: Rules, Memory, and Customization"
939
942
  - \`Last Session\`: update to today's date on each \`/tutorial\` invocation
940
- - Completed tables: add a row when a lesson/module/MF lesson finishes
941
- - Capability Observations: prefix source with L# for lessons, M:<id> for modules, MF# for MF lessons
943
+ - Completed Lessons: add a row when any numbered item (1-10, 20-21) finishes
944
+ - Completed Modules: add a row when any module (items 11-19) finishes
945
+ - Capability Observations: prefix source with item number for lessons (#), M:<id> for modules
942
946
  - Assessment Notes: bullet points of general skill observations
943
947
 
944
- Backward-compatible: missing Completed Modules or Completed MF Lessons sections treated as empty.
948
+ 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.
945
949
  `;
946
950
  }
947
951
  function claudeMetaCommandTemplate() {
@@ -1052,8 +1056,7 @@ by the \`<!-- initialized: false -->\` flag in CLAUDE.md, or run manually.
1052
1056
  ### \`/meta\` (no arguments) -- Project Status
1053
1057
 
1054
1058
  Display a project health summary:
1055
- 1. Current template version vs latest available
1056
- 2. SDK package version from package.json
1059
+ 1. Template version (from elevasis.config.ts) and installed SDK version (from package.json). Suggest \`elevasis-sdk update\` to check for updates
1057
1060
  3. Profile summary (from memory/profile/skills.md)
1058
1061
  4. Quick drift check: count of missing managed files, missing gitignore entries
1059
1062
  5. Last deployment status (from memory/deployment-state.md if it exists)