@elevasis/sdk 0.5.3 → 0.5.4

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/templates.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
 
3
3
  // src/cli/commands/templates/core/workspace.ts
4
- var TEMPLATE_VERSION = 21;
4
+ var TEMPLATE_VERSION = 22;
5
5
  function configTemplate() {
6
6
  return `import type { ElevasConfig } from '@elevasis/sdk'
7
7
 
@@ -296,6 +296,7 @@ For detailed per-dimension adaptation rules, read
296
296
  | Command | Purpose |
297
297
  | --- | --- |
298
298
  | \`/meta\` | Project lifecycle: init, status, fix, deploy, health |
299
+ | \`/docs\` | Browse, create, and verify permanent documentation |
299
300
  | \`/work\` | Task tracking: create, save, resume, complete |
300
301
  | \`/tutorial\` | Progressive learning path (7 core lessons + 9 modules) |
301
302
 
@@ -379,67 +380,57 @@ Read \`.claude/memory/tutorial-progress.md\` to check current lesson progress.
379
380
  When \`/tutorial\` is invoked:
380
381
 
381
382
  1. Read \`.claude/memory/tutorial-progress.md\` (if it exists)
382
- 2. Display the appropriate menu:
383
+ 2. Display the full menu table. Fill in progress indicators from the progress file.
384
+ 3. User picks a number -> start or resume that item directly. No track gating.
383
385
 
384
- **No progress (first time):**
386
+ Progress indicators: \`[ ]\` not started, \`[>]\` in progress, \`[x] YYYY-MM-DD\` complete.
385
387
 
386
- \`\`\`
387
- Welcome to the Elevasis Tutorial!
388
- ==================================
389
-
390
- What would you like to learn?
391
-
392
- 1. Orchestration Concepts (Core Path)
393
- Build workflows step-by-step: data schemas, platform tools,
394
- multi-step flows, decision points, and production deployment.
395
- 7 lessons -- estimated 2-3 hours total.
388
+ Example (first time, no progress):
396
389
 
397
- 2. Examples & Advanced Modules
398
- Hands-on deep-dives: human-in-the-loop, scheduling,
399
- notifications, integrations, LLM, agents, and more.
400
- 9 standalone modules -- pick any order.
401
-
402
- 3. Meta-Framework
403
- Learn the Claude Code context system: /meta, /work,
404
- rules, memory, and how to customize your workspace.
405
- 5 lessons -- estimated 1-2 hours total.
406
-
407
- Pick a number to start, or say "status" to see your progress.
408
390
  \`\`\`
409
-
410
- **With existing progress:**
411
-
412
- Show active tracks at the top, then offer resume options alongside new choices. Example:
413
-
414
- \`\`\`
415
- Progress: Core Path (Lesson 4/7) | Meta-Framework (MF2/5)
416
-
417
- 1. Resume Orchestration Concepts (Lesson 4)
418
- 2. Orchestration Concepts (Core Path -- start over)
419
- 3. Examples & Advanced Modules
420
- 4. Resume Meta-Framework (MF2)
421
- 5. Meta-Framework (start over)
422
- 6. Show full status
423
-
424
- Pick a number, or describe what you'd like to learn.
391
+ Elevasis Tutorial
392
+ ==================
393
+
394
+ ORCHESTRATION CONCEPTS 0/7
395
+ 1 Welcome & Orientation [ ]
396
+ 2 Your First Custom Workflow [ ]
397
+ 3 Understanding Data (Schemas) [ ]
398
+ 4 Using Platform Tools [ ]
399
+ 5 Multi-Step Workflows [ ]
400
+ 6 Decision Points [ ]
401
+ 7 Going to Production [ ]
402
+
403
+ EXAMPLES & ADVANCED MODULES 0/9
404
+ 8 Human-in-the-Loop [ ]
405
+ 9 Task Scheduling [ ]
406
+ 10 Notification System [ ]
407
+ 11 Real-World Integrations [ ]
408
+ 12 Error Handling Mastery [ ]
409
+ 13 Advanced Workflows [ ]
410
+ 14 Resource Composition [ ]
411
+ 15 LLM Integration [ ]
412
+ 16 AI Agents [ ]
413
+
414
+ META-FRAMEWORK 0/5
415
+ 17 The Agent Framework [ ]
416
+ 18 The /meta Command [ ]
417
+ 19 /work and /docs [ ]
418
+ 20 Rules, Memory, and Customization [ ]
419
+ 21 Template Lifecycle [ ]
420
+
421
+ Pick a number to start.
425
422
  \`\`\`
426
423
 
427
- After user picks:
428
- - Orchestration Concepts: Resume or start core lesson flow
429
- - Examples & Advanced Modules: Show module menu (see ## Module Menu)
430
- - Meta-Framework: Resume or start MF1 (see ## Meta-Framework Track)
431
- - "status": Display Phase, current position, completion counts
424
+ Always show this full table when \`/tutorial\` is invoked. Populate progress
425
+ indicators from completed/current state. \`"status"\` -> show the same table.
432
426
 
433
427
  ## Progress Logic
434
428
 
435
429
  1. Read \`.claude/memory/tutorial-progress.md\`
436
- 2. Show the menu (## Menu section) with progress summary if progress exists
437
- 3. After user picks a track:
438
- - **Orchestration Concepts**: If Completed Lessons < 7 -> start/resume at Current Lesson; if 7 complete -> note completion, offer module menu or repeat
439
- - **Examples & Advanced Modules**: Show module menu (## Module Menu section)
440
- - **Meta-Framework**: If Current MF Lesson is set -> resume at that lesson; otherwise start MF1
441
- 4. Track completion: mark the track done in progress file when all lessons/modules complete
442
- 5. If all three tracks complete -> set Phase to \`complete\`, congratulate, suggest exploring docs/ or /work
430
+ 2. Show the full menu table (## Menu) with progress filled in
431
+ 3. User picks a number -> start or resume that lesson or module directly
432
+ 4. After completion: mark done in progress file, show updated menu table
433
+ 5. All 21 items complete -> congratulate, suggest exploring docs/ or /work
443
434
 
444
435
  ## Lesson Flow
445
436
 
@@ -447,7 +438,7 @@ Each lesson follows this flow:
447
438
  1. Announce lesson title and what they'll learn (1-2 sentences)
448
439
  2. Explain the concept (read docs per skill level, adapt to user)
449
440
  3. Guide user to build or modify something (agent writes all code for automation: none)
450
- 4. Verify it works (Execution Runner is primary for none; CLI + UI are equal for others)
441
+ 4. Verify it works (CLI primary for all levels; Command Center for visual review -- Command View, Execution Logs)
451
442
  5. Celebrate success, record observations in \`.claude/memory/tutorial-progress.md\`
452
443
  6. Ask: "Ready for the next lesson, or want to practice more?"
453
444
 
@@ -461,7 +452,7 @@ from \`reference/developer/interaction-guidance.mdx\` (recipe, assembly line, ki
461
452
  appliance). Explain deployment plainly: "You write the recipe here, then deploy it so
462
453
  it's live." Deploy the starter echo workflow (\`elevasis check\` + \`elevasis deploy\`),
463
454
  THEN tour the Command Center so the user sees populated pages, not empty ones. Tour:
464
- Command View (echo node), Execution Runner (run echo from form), Execution Logs (result).
455
+ Command View (echo node), Execution Logs (result).
465
456
  Observation focus: automation value understanding, Command Center comfort.
466
457
 
467
458
  When automation is low-code or custom:
@@ -469,7 +460,7 @@ Tour project files: src/index.ts (registry), src/example/echo.ts (starter
469
460
  workflow), src/operations/platform-status.ts (platform API example),
470
461
  elevasis.config.ts, .env, docs/. Explain the execution model.
471
462
  Verify: run \`elevasis resources\`. Then open the Command Center and tour the
472
- main pages: Command View (resource graph), Execution Runner, Execution Logs.
463
+ main pages: Command View (resource graph), Execution Logs.
473
464
  Point out the echo workflow node in Command View.
474
465
  Observation focus: cloud deployment model, UI navigation comfort.
475
466
 
@@ -478,9 +469,9 @@ Observation focus: cloud deployment model, UI navigation comfort.
478
469
  When automation is none:
479
470
  Frame the workflow as "a recipe." Use plain language: "settings" not "config",
480
471
  "what data it needs" not "contract", "instructions" not "steps", "where it starts"
481
- not "entryPoint." Agent writes all code changes. Execution Runner form is PRIMARY
482
- verification -- show user how to fill the form and run it. CLI is secondary:
483
- "here's the power user way." Observation focus: recipe-to-result connection, form comfort.
472
+ not "entryPoint." Agent writes all code changes. Agent runs \`elevasis exec\` to verify
473
+ and narrates the result in plain terms.
474
+ Observation focus: recipe-to-result connection.
484
475
 
485
476
  When automation is low-code or custom:
486
477
  Modify the echo workflow. Walk through each part: config, contract, steps,
@@ -493,25 +484,25 @@ Observation focus: deployment-to-execution loop, TypeScript syntax comfort.
493
484
  **Lesson 3: Understanding Data (Schemas)**
494
485
 
495
486
  When automation is none:
496
- Frame as "What information does your automation need?" Each piece becomes a form
497
- field. Describe types in plain English: text, number, yes/no, a choice from a list.
498
- NO Zod, no z.string(), no z.infer(), no code shown. Agent reads identity.md goals
499
- and writes the workflow schema. User fills the form in Execution Runner to verify.
500
- Observation focus: data-to-form connection, required vs optional understanding.
487
+ Frame as "What information does your automation need?" Describe types in plain English:
488
+ text, number, yes/no, a choice from a list. NO Zod, no z.string(), no z.infer(), no
489
+ code shown. Agent reads identity.md goals and writes the workflow schema. Agent runs
490
+ \`elevasis exec\` with sample input and narrates the result.
491
+ Observation focus: data-to-input connection, required vs optional understanding.
501
492
 
502
493
  When automation is low-code:
503
494
  "Field mapping like Zapier, but with validation." Show Zod types briefly. Demonstrate
504
- how \`.describe()\` sets the form field label. Build schema based on identity.md goals.
505
- After deploy, open Execution Runner and point out each field.
506
- Observation focus: schema-to-form connection, optional fields, types.
495
+ how \`.describe()\` documents each field. Build schema based on identity.md goals.
496
+ After deploy, run with \`elevasis exec --input '{...}'\` to verify each field.
497
+ Observation focus: schema-to-input mapping, optional fields, types.
507
498
 
508
499
  When automation is custom:
509
500
  Explain schemas in plain English (concepts page). Show common Zod types.
510
501
  Explain \`z.infer\`. Build a new workflow with real-world input schema based
511
502
  on the user's goals (read .claude/memory/profile/identity.md). After deploy,
512
- open the Execution Runner and show how each Zod field becomes a form control.
513
- Point out how \`.describe()\` sets the field label.
514
- Observation focus: schema-to-form connection, optional fields, types.
503
+ run with \`elevasis exec --input '{...}'\` to verify the schema and inspect
504
+ the execution output.
505
+ Observation focus: schema-to-input mapping, optional fields, types.
515
506
 
516
507
  **Lesson 4: Using Platform Tools**
517
508
 
@@ -540,8 +531,8 @@ Observation focus: credential setup (CLI + UI), async/await.
540
531
  When automation is none:
541
532
  Frame as "Step 1 passes its result to Step 2, like a relay race." Command View is
542
533
  PRIMARY teaching tool -- show the visual graph before explaining code. Agent builds
543
- the 2-step workflow. User verifies in Command View (see the two nodes + arrow) and
544
- Execution Runner (see output flow). Code is secondary.
534
+ the 2-step workflow. Agent runs \`elevasis exec\` to verify and shows output flow.
535
+ User opens Command View to see the two nodes + arrow. Code is secondary.
545
536
  Observation focus: relay-race concept, visual graph comprehension.
546
537
 
547
538
  When automation is low-code or custom:
@@ -556,7 +547,7 @@ Observation focus: data flow reasoning, relationship visualization.
556
547
  When automation is none:
557
548
  Frame as "If the customer is VIP, do this -- otherwise, do that." No StepType.CONDITIONAL
558
549
  jargon -- focus on the concept, not the implementation. Agent adds the condition.
559
- User tests both paths via Execution Runner, then opens Execution Logs to see which
550
+ Agent runs \`elevasis exec\` for both paths. Open Execution Logs to see which
560
551
  path ran. Guide log navigation step-by-step.
561
552
  Observation focus: branching concept understanding, log navigation.
562
553
 
@@ -586,18 +577,10 @@ Observation focus: readiness for independent operation (CLI + UI).
586
577
 
587
578
  ## Module Menu
588
579
 
589
- Fixed module order: hitl, schedules, notifications, integrations, workflows,
590
- composition, llm, agents, error-handling.
580
+ Module order (items 8-16 in the main menu): hitl, schedules, notifications,
581
+ integrations, error-handling, workflows, composition, llm, agents.
591
582
 
592
- Show the next 2-3 uncompleted modules from the list. Format:
593
-
594
- "Core path complete! Here are your next modules:"
595
- 1. <Title> -- <one-line description>
596
- 2. <Title> -- <one-line description>
597
- 3. <Title> -- <one-line description>
598
- "Pick a number to start, or say 'show more' to see additional modules."
599
-
600
- If all 9 modules are complete -> set Phase to \`complete\`, congratulate.
583
+ After completing a module, show the updated full menu table (## Menu).
601
584
 
602
585
  ## Module Flow
603
586
 
@@ -607,7 +590,7 @@ Each module follows this flow:
607
590
  3. Guide user to build a resource exercising the module's concepts
608
591
  4. Verify it works (CLI + Command Center where applicable)
609
592
  5. Record observations in \`.claude/memory/tutorial-progress.md\`
610
- 6. Return to module menu (show next uncompleted modules)
593
+ 6. Show updated full menu table (## Menu)
611
594
 
612
595
  ## Modules
613
596
 
@@ -640,6 +623,15 @@ Key concepts: adapter pattern, credential scoping, error handling for external c
640
623
  Verify: Run workflow with real credential, confirm external service call, test error
641
624
  handling with invalid credential.
642
625
 
626
+ **Module: error-handling -- Error Handling Mastery**
627
+ Read: \`reference/resources/patterns.mdx\` (error handling),
628
+ \`reference/troubleshooting/common-errors.mdx\`.
629
+ Build: Create a workflow demonstrating all three error types. Add try/catch,
630
+ \`context.logger\`, and error recovery.
631
+ Key concepts: ExecutionError, PlatformToolError, ToolingError, recovery patterns.
632
+ Verify: Trigger each error type, confirm messages in Execution Logs with correct
633
+ categorization.
634
+
643
635
  **Module: workflows -- Advanced Workflows**
644
636
  Read: \`reference/resources/patterns.mdx\` (execution store, logging, organizing).
645
637
  Build: Refactor an existing workflow to use \`context.store\` for cross-step data,
@@ -670,15 +662,6 @@ Compare agent vs workflow for a task.
670
662
  Key concepts: agent definition, tool registration, LLM tool calling, execution trace.
671
663
  Verify: Run agent with \`elevasis exec\`, review tool call trace in Execution Logs.
672
664
 
673
- **Module: error-handling -- Error Handling Mastery**
674
- Read: \`reference/resources/patterns.mdx\` (error handling),
675
- \`reference/troubleshooting/common-errors.mdx\`.
676
- Build: Create a workflow demonstrating all three error types. Add try/catch,
677
- \`context.logger\`, and error recovery.
678
- Key concepts: ExecutionError, PlatformToolError, ToolingError, recovery patterns.
679
- Verify: Trigger each error type, confirm messages in Execution Logs with correct
680
- categorization.
681
-
682
665
  ## Meta-Framework Track
683
666
 
684
667
  The Meta-Framework track teaches you how the Claude Code workspace works -- the commands,
@@ -745,32 +728,46 @@ CLAUDE.md and commands. Note the template access model: templates read from
745
728
  Verify: Run /meta to see project status. Identify what a version mismatch looks like.
746
729
  Observation focus: full lifecycle coverage, pipeline internals.
747
730
 
748
- **MF3: /work -- Task Lifecycle**
731
+ **MF3: /work and /docs -- Task and Documentation Lifecycle**
749
732
 
750
733
  When automation is none:
751
734
  "You can ask the assistant to track work across conversations. When you start something
752
735
  complex, use /work create to save your place. Next session, /work resume picks up where
753
- you left off." Walk through the concept without deep command details. Show docs/ -- explain
754
- it's where project notes live.
736
+ you left off." Walk through the concept without deep command details. Then introduce /docs:
737
+ "When a task is finished, /work complete moves it to docs/ permanently. After that, /docs
738
+ helps you find and read what's there -- like a notebook for your project." Run /docs (no
739
+ args) to show the docs/ overview together.
755
740
  Verify: Create a task with \`/work create "practice task"\`, then run /work to see it listed.
756
- Observation focus: persistence concept, cross-session continuity.
741
+ Then run /docs to see the docs/ structure.
742
+ Observation focus: persistence concept, cross-session continuity, docs as permanent notes.
757
743
 
758
744
  When automation is low-code:
759
745
  Show /work operations: create (task doc with frontmatter + sections), save (updates
760
- Progress + Resume Context), resume (loads context for next session).
761
- Explain how task docs persist: they're workspace files, not memory -- they survive
762
- session compaction.
763
- Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the file.
764
- Observation focus: task tracking workflow, doc creation pattern.
746
+ Progress + Resume Context), resume (loads context for next session), complete (moves
747
+ to permanent docs/).
748
+ Then introduce /docs: "/docs is for permanent knowledge -- things that don't expire. Use
749
+ /docs create to document a workflow or integration. Use /docs verify to check if your
750
+ docs match the current code." Explain the boundary: /work manages in-progress/, /docs
751
+ manages permanent docs/.
752
+ Verify: Create a task with \`/work create "practice task"\`, run /work save, inspect the
753
+ file. Then run /docs to browse docs/.
754
+ Observation focus: task tracking workflow, /work vs /docs separation.
765
755
 
766
756
  When automation is custom:
767
- Read \`.claude/commands/work.md\`. Full coverage:
757
+ Read \`.claude/commands/work.md\`. Full /work coverage:
768
758
  /work create (kebab-case filename, frontmatter with status, Objective/Plan/Progress/
769
759
  Resume Context sections), /work save (Progress + Resume Context update), /work resume
770
760
  (multiple-task disambiguation), /work complete (moves to final location).
771
- Explain how Resume Context serves as the session handoff artifact.
772
- Verify: Create a task doc, save progress, inspect the generated file structure.
773
- Observation focus: task doc anatomy, resume context as handoff pattern.
761
+ Then read \`.claude/commands/docs.md\`. Cover /docs operations:
762
+ /docs (default): browse permanent docs/, categorized with read-only auto-generated files
763
+ separate; /docs create: interview-driven, resource-aware doc creation from src/ code
764
+ analysis; /docs verify: cross-references resource IDs, schema fields, platform tools in
765
+ docs against src/ -- standalone analog of /meta fix step 5.
766
+ Explain the relationship: /work owns docs/in-progress/ (task lifecycle), /work complete
767
+ moves docs to permanent location, /docs browses and verifies what's there.
768
+ Verify: Create a task doc, save progress, run /work complete to move it. Then run /docs
769
+ to see it in the permanent docs/ listing.
770
+ Observation focus: task doc anatomy, /work-to-/docs handoff, docs verification as standalone tool.
774
771
 
775
772
  **MF4: Rules, Memory, and Customization**
776
773
 
@@ -840,13 +837,13 @@ Observation focus: full template lifecycle, conflict resolution pattern.
840
837
 
841
838
  **automation: none**
842
839
  Use the non-technical variant for each lesson. Agent writes all code -- user
843
- never types code. User verifies visually (Execution Runner, Command View, Logs).
844
- Avoid all jargon; use analogies. Execution Runner is the primary verification tool.
840
+ never types code. Agent runs \`elevasis exec\` for verification and narrates results.
841
+ Avoid all jargon; use analogies. CLI is the primary verification tool.
845
842
  Always deploy before directing the user to the Command Center.
846
843
 
847
844
  **automation: low-code**
848
845
  Map concepts to Zapier/Make equivalents. Show code with plain-English explanations.
849
- Execution Runner and CLI are equal verification tools. Show Zod types with labels.
846
+ CLI is the primary verification tool. Show Zod types with labels.
850
847
 
851
848
  **automation: custom**
852
849
  Full technical content. Code-first. CLI and UI are equal. Condense explanations
@@ -856,26 +853,22 @@ for intermediate/advanced users.
856
853
  - If user is fast, acknowledge and offer to skip ahead within a lesson
857
854
  - After each lesson, update \`.claude/memory/tutorial-progress.md\`
858
855
  - If user demonstrates a level change, promote to skills.md Growth Log
859
- - After completing a module, return to the module menu
856
+ - After completing a module, show the updated full menu table
860
857
  - Adapt module depth to skill level as with lessons
861
858
 
862
859
  ## Progress Format
863
860
 
864
861
  Store in \`.claude/memory/tutorial-progress.md\`:
865
- - Phase (core | modules | meta-framework | complete)
866
- - Current Lesson number (during core phase)
867
- - Current Module (module id during modules phase)
868
- - Current MF Lesson (MF1-MF5, during meta-framework phase)
862
+ - Current (free-form, e.g. "L4: Using Platform Tools" or "M:integrations" or "MF2")
869
863
  - Started and Last Session dates
870
864
  - Completed Lessons table (lesson, title, completed, duration)
871
865
  - Completed Modules table (module, title, completed, duration)
872
866
  - Completed MF Lessons table (lesson, title, completed, notes)
873
- - Capability Observations table (lesson/module, observation) -- prefix L# for lessons, M:<id> for modules, MF# for meta-framework lessons
867
+ - Capability Observations table (source, observation) -- prefix L# for lessons, M:<id> for modules, MF# for MF lessons
874
868
  - Assessment Notes (bullet points)
875
869
 
876
- Backward-compatible: missing Phase is inferred from lesson count;
877
- missing Completed Modules is treated as empty;
878
- missing Completed MF Lessons is treated as empty.
870
+ Backward-compatible: missing Completed Modules treated as empty;
871
+ missing Completed MF Lessons treated as empty.
879
872
  `;
880
873
  }
881
874
  function claudeMetaCommandTemplate() {
@@ -996,6 +989,7 @@ Detect and repair all drift. Optionally upgrades the SDK first.
996
989
  c. Flag mismatches between documented schemas and actual resource definitions
997
990
  d. Check for undocumented resources (resources in src/ without docs coverage)
998
991
  e. Report discrepancies with suggested fixes
992
+ Note: \`/docs verify\` is available for standalone interactive verification outside this pipeline.
999
993
  6. **Settings consistency:** Verify expected fields
1000
994
  7. **Rules health:** Scan \`memory/errors/\` -- flag any entry that has recurred
1001
995
  3+ times and is not yet in \`.claude/rules/workspace-patterns.md\`.
@@ -1210,6 +1204,173 @@ Mark task complete, clean up, and move to permanent docs:
1210
1204
  When the agent observes that all plan steps for a task are marked COMPLETE and the user seems to be moving on, proactively suggest: "All steps for '{task}' are complete. Run \`/work complete\` to finalize it."
1211
1205
  `;
1212
1206
  }
1207
+ function claudeDocsCommandTemplate() {
1208
+ return `# /docs command
1209
+
1210
+ You are a documentation assistant for this Elevasis workspace. \`/docs\` manages the
1211
+ permanent \`docs/\` tree -- browsing, creating reference content, and verifying accuracy
1212
+ against code.
1213
+
1214
+ **Scope:** Everything in \`docs/\` EXCEPT:
1215
+ - \`docs/in-progress/\` -- \`/work\`'s territory
1216
+ - \`docs/project-map.mdx\` and \`docs/resource-map.mdx\` -- auto-generated, read-only
1217
+
1218
+ ## Context
1219
+
1220
+ Read \`.claude/memory/profile/skills.md\` first. The \`automation\` skill level controls
1221
+ how results are presented.
1222
+
1223
+ ## Operations
1224
+
1225
+ ### \`/docs\` (no arguments) -- Browse
1226
+
1227
+ Scan \`docs/\` recursively. Display:
1228
+
1229
+ \`\`\`
1230
+ Your Docs
1231
+ =========
1232
+
1233
+ Auto-generated (read-only):
1234
+ project-map.mdx Updated 2026-03-03
1235
+ resource-map.mdx Updated 2026-03-03
1236
+
1237
+ Reference (3):
1238
+ 1. index.mdx Workspace overview
1239
+ 2. priorities.mdx Current priorities
1240
+ 3. crm-integration/ CRM integration guide (2 files)
1241
+
1242
+ Pick a number to read and discuss, or say:
1243
+ "create" to write a new doc
1244
+ "verify" to check docs against current code
1245
+ \`\`\`
1246
+
1247
+ Steps:
1248
+ 1. Scan \`docs/\` recursively for \`.mdx\` files, excluding \`in-progress/\`
1249
+ 2. Separate auto-generated files (\`project-map.mdx\`, \`resource-map.mdx\`) into a
1250
+ read-only group -- show modification date, no number
1251
+ 3. Number all user-maintained docs. For directories, show \`index.mdx\` as primary
1252
+ with file count
1253
+ 4. Sort: \`index.mdx\` first, \`priorities.mdx\` second, then alphabetical
1254
+ 5. When user picks a number: read the file and present a summary. Ask what they
1255
+ want -- discuss, update, or go back
1256
+ 6. If only auto-generated files and \`index.mdx\` exist, suggest: "Your docs/ is
1257
+ mostly empty. Run \`/docs create\` to add reference documentation."
1258
+
1259
+ **automation: none** -- Frame as "your project's knowledge base." Plain language:
1260
+ "These are your project's permanent notes. Pick one to read or discuss."
1261
+
1262
+ **automation: low-code** -- Standard presentation. Map to "like a wiki for your automations."
1263
+
1264
+ **automation: custom** -- Compact. Show file sizes and last-modified dates.
1265
+
1266
+ ---
1267
+
1268
+ ### \`create [description]\` -- Reference Doc Creation
1269
+
1270
+ Interview-driven creation for permanent documentation. Task docs go through \`/work create\`.
1271
+
1272
+ 1. If no description given, ask: "What do you want to document?"
1273
+ 2. Determine doc type (infer or ask):
1274
+ - **Resource guide** -- documents a specific workflow or agent
1275
+ - **Integration guide** -- how a specific external tool is used
1276
+ - **Architecture notes** -- design decisions, system diagrams
1277
+ - **Process doc** -- operational procedures, runbooks
1278
+ - **General reference** -- glossaries, onboarding, anything else
1279
+ 3. If the doc is about a specific resource: scan \`src/\` for matching resource IDs.
1280
+ If found, pre-populate with resource config, schemas, step names, and platform
1281
+ tools used. The user does not need to describe what the resource does.
1282
+ 4. Determine placement:
1283
+ - Scan \`docs/\` for existing directories related to the topic
1284
+ - If related to an existing directory, propose adding to it
1285
+ - If the topic may grow into multiple files, create \`docs/<slug>/index.mdx\`
1286
+ - If small and standalone, create \`docs/<slug>.mdx\`
1287
+ 5. Create with proper frontmatter:
1288
+ \`\`\`yaml
1289
+ ---
1290
+ title: Guide Title
1291
+ description: What this covers
1292
+ ---
1293
+ \`\`\`
1294
+ Sections by doc type:
1295
+ - **Resource guide:** Overview, Input/Output, How It Works, Platform Tools Used, Configuration
1296
+ - **Integration guide:** Overview, Setup (credentials), Data Model, Usage Patterns, Troubleshooting
1297
+ - **Architecture notes:** Context, Decision, Consequences, Alternatives Considered
1298
+ - **Process doc:** Purpose, Prerequisites, Steps, Recovery
1299
+ - **General reference:** determined by content
1300
+ 6. Report what was created and suggest next steps.
1301
+
1302
+ **automation: none** -- Agent writes the full doc from code analysis. User reviews and
1303
+ approves. "I've written a guide for your CRM integration based on the code. Take a look
1304
+ and tell me if anything is missing."
1305
+
1306
+ **automation: low-code** -- Agent drafts, highlights sections the user should customize.
1307
+ Shows what was auto-detected vs what needs human input.
1308
+
1309
+ **automation: custom** -- Agent scaffolds structure and fills in code-derived content.
1310
+ Leaves technical prose to the user. Concise.
1311
+
1312
+ ---
1313
+
1314
+ ### \`verify [file?]\` -- Interactive Documentation Verification
1315
+
1316
+ Standalone interactive version of \`/meta fix\` step 5. Checks docs against current code.
1317
+
1318
+ **Without argument -- verify all:**
1319
+
1320
+ 1. Scan \`docs/\` for user-maintained \`.mdx\` files (skip \`in-progress/\`,
1321
+ \`project-map.mdx\`, \`resource-map.mdx\`)
1322
+ 2. For each file: cross-reference resource IDs, schema fields, and platform tools
1323
+ mentioned against \`src/\`
1324
+ 3. Check for undocumented resources: resources in \`src/\` without docs coverage
1325
+ 4. Present results interactively:
1326
+
1327
+ \`\`\`
1328
+ Docs Verification
1329
+ =================
1330
+
1331
+ crm-integration/index.mdx:
1332
+ - Line 23: references resourceId "attio-sync" but src/ has "attio-sync-v2"
1333
+ - Line 45: schema field "companyName" no longer exists in input schema
1334
+
1335
+ onboarding-guide.mdx:
1336
+ - No issues found
1337
+
1338
+ Undocumented resources (2):
1339
+ - email-sender (src/communications/email-sender.ts)
1340
+ - lead-scorer (src/scoring/lead-scorer.ts)
1341
+
1342
+ Fix crm-integration issues now? (yes/no/skip)
1343
+ \`\`\`
1344
+
1345
+ 5. When user says yes: read source code, apply fixes to doc, show the diff
1346
+ 6. For undocumented resources: offer to create a doc for each one (invokes \`create\` flow)
1347
+
1348
+ **With argument -- verify one file:**
1349
+
1350
+ Same but scoped to a single file. Resolves by substring match against \`docs/\` file names.
1351
+
1352
+ \`\`\`
1353
+ /docs verify crm-integration
1354
+ \`\`\`
1355
+
1356
+ **automation: none** -- Plain language: "Your CRM guide mentions a field called
1357
+ 'companyName' but that field was renamed to 'company'. Want me to fix it?"
1358
+
1359
+ **automation: low-code** -- Standard presentation with suggested fixes.
1360
+
1361
+ **automation: custom** -- Compact diff-style. Auto-fix obvious issues, ask only for
1362
+ ambiguous ones.
1363
+
1364
+ ---
1365
+
1366
+ ## What /docs Does NOT Do
1367
+
1368
+ - Touch \`docs/in-progress/\` -- \`/work\`'s territory
1369
+ - Handle task lifecycle (planned / in-progress / complete)
1370
+ - Edit \`project-map.mdx\` or \`resource-map.mdx\` -- auto-generated, read-only
1371
+ - Replace \`/meta fix\` step 5 -- it supplements it with interactivity
1372
+ `;
1373
+ }
1213
1374
  function claudeCredsSkillTemplate() {
1214
1375
  return `---
1215
1376
  name: creds
@@ -1621,6 +1782,7 @@ function getManagedTemplates(ctx = {}) {
1621
1782
  ".claude/commands/tutorial.md": claudeTutorialCommandTemplate,
1622
1783
  ".claude/commands/meta.md": claudeMetaCommandTemplate,
1623
1784
  ".claude/commands/work.md": claudeWorkCommandTemplate,
1785
+ ".claude/commands/docs.md": claudeDocsCommandTemplate,
1624
1786
  ".claude/skills/creds/SKILL.md": claudeCredsSkillTemplate,
1625
1787
  ".claude/rules/sdk-patterns.md": claudeSdkPatternsRuleTemplate,
1626
1788
  ".claude/rules/docs-authoring.md": claudeDocsAuthoringRuleTemplate,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/sdk",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "SDK for building Elevasis organization resources",
5
5
  "comment:bin": "IMPORTANT: This package shares the 'elevasis' binary name with @repo/cli. They never conflict because @elevasis/sdk must NEVER be added as a dependency of any workspace package (apps/*, packages/*, organizations/*). Workspace projects use @repo/cli for the 'elevasis' binary. External developers (outside the workspace) get this SDK's binary via npm install.",
6
6
  "type": "module",
@@ -34,11 +34,6 @@
34
34
  "dist/types/templates.d.ts",
35
35
  "reference/"
36
36
  ],
37
- "scripts": {
38
- "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.core-dts.json && tsc -p tsconfig.build.json && tsup && rollup -c rollup.dts.config.mjs && esbuild src/cli/index.ts --bundle --platform=node --outfile=dist/cli.cjs --format=cjs --external:esbuild --external:jiti --banner:js=\"#!/usr/bin/env node\" && node scripts/copy-reference-docs.mjs && node scripts/generate-navigation.mjs",
39
- "check-types": "tsc --noEmit",
40
- "test:bundle": "pnpm build && vitest run --config vitest.bundle.config.ts"
41
- },
42
37
  "dependencies": {
43
38
  "esbuild": "^0.25.0",
44
39
  "jiti": "^2.0.0"
@@ -47,8 +42,6 @@
47
42
  "zod": "^4.1.0"
48
43
  },
49
44
  "devDependencies": {
50
- "@repo/core": "workspace:*",
51
- "@repo/typescript-config": "workspace:*",
52
45
  "@types/node": "^22.0.0",
53
46
  "chalk": "^5.3.0",
54
47
  "commander": "^11.0.0",
@@ -59,6 +52,13 @@
59
52
  "rollup-plugin-dts": "^6.3.0",
60
53
  "tsup": "^8.0.0",
61
54
  "typescript": "5.9.2",
62
- "zod": "^4.1.0"
55
+ "zod": "^4.1.0",
56
+ "@repo/core": "0.0.0",
57
+ "@repo/typescript-config": "0.0.0"
58
+ },
59
+ "scripts": {
60
+ "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.core-dts.json && tsc -p tsconfig.build.json && tsup && rollup -c rollup.dts.config.mjs && esbuild src/cli/index.ts --bundle --platform=node --outfile=dist/cli.cjs --format=cjs --external:esbuild --external:jiti --banner:js=\"#!/usr/bin/env node\" && node scripts/copy-reference-docs.mjs && node scripts/generate-navigation.mjs",
61
+ "check-types": "tsc --noEmit",
62
+ "test:bundle": "pnpm build && vitest run --config vitest.bundle.config.ts"
63
63
  }
64
- }
64
+ }