@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 +185 -218
- package/dist/index.d.ts +2 -3
- package/dist/index.js +5 -29
- package/dist/templates.js +167 -164
- package/dist/worker/index.js +79 -22
- package/package.json +1 -1
- package/reference/framework/project-structure.mdx +3 -13
- package/reference/getting-started/index.mdx +2 -3
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
|
-
*
|
|
43297
|
-
*
|
|
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
|
|
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.
|
|
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 =
|
|
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' | '
|
|
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
|
-
|
|
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
|
-
|
|
45212
|
-
|
|
45213
|
-
elevasis-sdk exec <resourceId> --input '...'
|
|
45214
|
-
elevasis-sdk resources
|
|
45215
|
-
elevasis-sdk describe <resourceId>
|
|
45216
|
-
elevasis-sdk executions <resourceId>
|
|
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 \`
|
|
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
|
-
|
|
45505
|
-
|
|
45506
|
-
- \`elevasis-sdk
|
|
45507
|
-
- \`elevasis-sdk
|
|
45508
|
-
- \`elevasis-sdk
|
|
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
|
-
|
|
45661
|
-
1 Welcome & Orientation
|
|
45662
|
-
2
|
|
45663
|
-
3
|
|
45664
|
-
4
|
|
45665
|
-
|
|
45666
|
-
|
|
45667
|
-
|
|
45668
|
-
|
|
45669
|
-
|
|
45670
|
-
8
|
|
45671
|
-
9
|
|
45672
|
-
10
|
|
45673
|
-
|
|
45674
|
-
|
|
45675
|
-
|
|
45676
|
-
|
|
45677
|
-
|
|
45678
|
-
|
|
45679
|
-
|
|
45680
|
-
|
|
45681
|
-
17
|
|
45682
|
-
18
|
|
45683
|
-
19
|
|
45684
|
-
|
|
45685
|
-
|
|
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
|
|
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,
|
|
45709
|
-
6.
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
|
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
|
-
|
|
|
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. "
|
|
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
|
|
46166
|
-
-
|
|
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
|
|
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.
|
|
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(" #
|
|
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) {
|