@elevasis/sdk 1.5.2 → 1.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/cli.cjs +899 -57
- package/dist/index.d.ts +94 -110
- package/package.json +3 -3
- package/reference/_navigation.md +11 -1
- package/reference/_reference-manifest.json +70 -0
- package/reference/claude-config/commands/submit-issue.md +12 -0
- package/reference/claude-config/hooks/post-edit-validate.mjs +109 -0
- package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -0
- package/reference/claude-config/rules/deployment.md +57 -0
- package/reference/claude-config/rules/docs.md +26 -0
- package/reference/claude-config/rules/error-handling.md +56 -0
- package/reference/claude-config/rules/execution.md +40 -0
- package/reference/claude-config/rules/frontend.md +43 -0
- package/reference/claude-config/rules/observability.md +31 -0
- package/reference/claude-config/rules/organization-os.md +62 -0
- package/reference/claude-config/rules/platform.md +41 -0
- package/reference/claude-config/rules/shared-types.md +46 -0
- package/reference/claude-config/rules/task-tracking.md +47 -0
- package/reference/claude-config/scripts/statusline-command.js +18 -0
- package/reference/claude-config/settings.json +30 -0
- package/reference/claude-config/skills/deploy/SKILL.md +166 -0
- package/reference/claude-config/skills/dsp/SKILL.md +66 -0
- package/reference/claude-config/skills/elevasis/SKILL.md +239 -0
- package/reference/claude-config/skills/explore/SKILL.md +78 -0
- package/reference/claude-config/skills/project/SKILL.md +918 -0
- package/reference/claude-config/skills/save/SKILL.md +197 -0
- package/reference/claude-config/skills/setup/SKILL.md +210 -0
- package/reference/claude-config/skills/status/SKILL.md +60 -0
- package/reference/claude-config/skills/submit-issue/SKILL.md +179 -0
- package/reference/claude-config/skills/sync/SKILL.md +81 -0
- package/reference/cli.mdx +35 -20
- package/reference/deployment/index.mdx +6 -5
- package/reference/deployment/provided-features.mdx +62 -40
- package/reference/deployment/ui-execution.mdx +1 -2
- package/reference/framework/agent.mdx +50 -50
- package/reference/framework/index.mdx +13 -10
- package/reference/framework/project-structure.mdx +76 -70
- package/reference/packages/core/src/README.md +24 -17
- package/reference/packages/core/src/business/README.md +52 -0
- package/reference/packages/core/src/organization-model/README.md +25 -26
- package/reference/packages/ui/src/app/README.md +24 -0
- package/reference/packages/ui/src/provider/README.md +8 -7
- package/reference/platform-tools/type-safety.mdx +0 -10
- package/reference/roadmap.mdx +6 -4
- package/reference/scaffold/core/organization-graph.mdx +37 -28
- package/reference/scaffold/core/organization-model.mdx +34 -36
- package/reference/scaffold/index.mdx +14 -9
- package/reference/scaffold/operations/propagation-pipeline.md +133 -0
- package/reference/scaffold/operations/scaffold-maintenance.md +125 -0
- package/reference/scaffold/operations/workflow-recipes.md +18 -1
- package/reference/scaffold/recipes/add-a-feature.md +37 -21
- package/reference/scaffold/recipes/add-a-resource.md +16 -12
- package/reference/scaffold/recipes/customize-organization-model.md +400 -0
- package/reference/scaffold/recipes/extend-a-base-entity.md +140 -0
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +18 -12
- package/reference/scaffold/recipes/index.md +3 -3
- package/reference/scaffold/reference/contracts.md +11 -32
- package/reference/scaffold/reference/feature-registry.md +10 -9
- package/reference/scaffold/reference/glossary.md +14 -18
- package/reference/scaffold/ui/customization.md +2 -2
- package/reference/scaffold/ui/feature-flags-and-gating.md +40 -54
- package/reference/scaffold/ui/feature-shell.mdx +23 -24
- package/reference/scaffold/ui/recipes.md +118 -3
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sync
|
|
3
|
+
description: Pull latest changes, wipe all node_modules and caches, fresh reinstall
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sync
|
|
7
|
+
|
|
8
|
+
Pull latest changes, wipe all stale packages and caches, fresh reinstall.
|
|
9
|
+
|
|
10
|
+
**Usage:** `/sync`
|
|
11
|
+
|
|
12
|
+
Use this when: packages feel stale, Vite cache is serving old code, `pnpm install` didn't fully clean up after a package version bump, or after pulling a branch with dependency changes.
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
### Step 1: Check for Uncommitted Changes
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
git status --short
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
If there are uncommitted changes (modified, staged, or untracked files), ask the user:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
You have uncommitted changes:
|
|
26
|
+
<git status --short output>
|
|
27
|
+
|
|
28
|
+
Commit and push before syncing? (yes/no)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
- **Yes** — ask for a commit message (or auto-generate one from the diff), then:
|
|
32
|
+
```bash
|
|
33
|
+
git add -A
|
|
34
|
+
git commit -m "<message>"
|
|
35
|
+
git push
|
|
36
|
+
```
|
|
37
|
+
If commit or push fails, stop and report the error.
|
|
38
|
+
- **No** — stop and let the user decide:
|
|
39
|
+
```
|
|
40
|
+
Sync cancelled. Commit, stash, or discard your changes, then re-run /sync.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Step 2: Pull
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
git pull
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Report any merge conflicts and stop.
|
|
50
|
+
|
|
51
|
+
### Step 3: Wipe
|
|
52
|
+
|
|
53
|
+
Remove all `node_modules` and build caches across the workspace in parallel:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
rm -rf node_modules
|
|
57
|
+
rm -rf ui/node_modules
|
|
58
|
+
rm -rf ui/node_modules/.vite
|
|
59
|
+
rm -rf operations/node_modules
|
|
60
|
+
rm -rf shared/node_modules
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Step 4: Reinstall
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm install
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Report success or any errors.
|
|
70
|
+
|
|
71
|
+
### Step 5: Report
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Sync Complete
|
|
75
|
+
=============
|
|
76
|
+
Git: pulled (<branch>)
|
|
77
|
+
Wiped: node_modules (root, ui, operations, shared) + Vite cache
|
|
78
|
+
Install: success
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
If `pnpm install` fails, report the error and stop — do not attempt to start the dev server.
|
package/reference/cli.mdx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: CLI Reference
|
|
3
|
-
description: Full reference for every elevasis-sdk CLI command -- validate, deploy, execute, inspect resources, and
|
|
3
|
+
description: Full reference for every elevasis-sdk CLI command -- validate, deploy, execute, inspect resources, and manage Projects through the canonical SDK CLI surface
|
|
4
4
|
loadWhen: "Running CLI operations"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
The `elevasis-sdk` CLI is the primary interface for working with your Elevasis SDK project. Install it as part of `@elevasis/sdk` and use it to validate resource definitions, deploy to the platform, inspect execution history, and
|
|
7
|
+
The `elevasis-sdk` CLI is the primary interface for working with your Elevasis SDK project. Install it as part of `@elevasis/sdk` and use it to validate resource definitions, deploy to the platform, inspect execution history, and manage Projects through `project:*`.
|
|
8
8
|
|
|
9
9
|
**Installation:**
|
|
10
10
|
|
|
@@ -402,23 +402,23 @@ elevasis-sdk describe onboard-client
|
|
|
402
402
|
|
|
403
403
|
---
|
|
404
404
|
|
|
405
|
-
## elevasis-sdk
|
|
405
|
+
## elevasis-sdk creds
|
|
406
406
|
|
|
407
|
-
Manage
|
|
407
|
+
Manage credentials for your project.
|
|
408
408
|
|
|
409
409
|
**Synopsis:**
|
|
410
410
|
|
|
411
411
|
```
|
|
412
|
-
elevasis-sdk
|
|
413
|
-
elevasis-sdk
|
|
414
|
-
elevasis-sdk
|
|
412
|
+
elevasis-sdk creds list
|
|
413
|
+
elevasis-sdk creds set <key> <value>
|
|
414
|
+
elevasis-sdk creds remove <key>
|
|
415
415
|
```
|
|
416
416
|
|
|
417
417
|
**Behavior:**
|
|
418
418
|
|
|
419
|
-
- `list` -- display all
|
|
420
|
-
- `set` -- add or update
|
|
421
|
-
- `remove` -- delete
|
|
419
|
+
- `list` -- display all credentials configured for the project
|
|
420
|
+
- `set` -- add or update a credential
|
|
421
|
+
- `remove` -- delete a credential
|
|
422
422
|
|
|
423
423
|
**Flags:**
|
|
424
424
|
|
|
@@ -429,9 +429,9 @@ elevasis-sdk env remove <key>
|
|
|
429
429
|
**Examples:**
|
|
430
430
|
|
|
431
431
|
```bash
|
|
432
|
-
elevasis-sdk
|
|
433
|
-
elevasis-sdk
|
|
434
|
-
elevasis-sdk
|
|
432
|
+
elevasis-sdk creds list
|
|
433
|
+
elevasis-sdk creds set OPENAI_API_KEY sk-proj-***
|
|
434
|
+
elevasis-sdk creds remove OPENAI_API_KEY
|
|
435
435
|
```
|
|
436
436
|
|
|
437
437
|
---
|
|
@@ -503,9 +503,17 @@ elevasis-sdk rename ist-upload-workflow --to ist-upload-contacts-workflow --exec
|
|
|
503
503
|
|
|
504
504
|
---
|
|
505
505
|
|
|
506
|
-
## elevasis-sdk project
|
|
506
|
+
## elevasis-sdk project:\*
|
|
507
507
|
|
|
508
|
-
|
|
508
|
+
`elevasis-sdk project:*` is the canonical project-management surface. Use it for project, milestone, task, and note operations whether the caller is a human, a scripted workflow, or a slash-command router like `/project`.
|
|
509
|
+
|
|
510
|
+
This CLI family is SDK-first, but it is not semantically standalone. It operates on the same Organization OS contract that the shared delivery UI uses:
|
|
511
|
+
|
|
512
|
+
- UI manifest key: `delivery`
|
|
513
|
+
- Organization model feature ID: `projects`
|
|
514
|
+
- Default surface: `projects.index`
|
|
515
|
+
- Semantic domain fields: `organizationModel.delivery`
|
|
516
|
+
- Core entity/capability IDs: `delivery.project`, `delivery.milestone`, `delivery.task`, `delivery.projects.view`
|
|
509
517
|
|
|
510
518
|
### Projects
|
|
511
519
|
|
|
@@ -566,13 +574,20 @@ elevasis-sdk project:note:delete <id>
|
|
|
566
574
|
|
|
567
575
|
Most `project:*` commands support:
|
|
568
576
|
|
|
569
|
-
| Flag
|
|
570
|
-
|
|
|
571
|
-
| `--pretty`
|
|
572
|
-
| `--api-url <url>` | Override the API base URL
|
|
577
|
+
| Flag | Description |
|
|
578
|
+
| ----------------- | -------------------------------------------------- |
|
|
579
|
+
| `--pretty` | Human-readable terminal output instead of raw JSON |
|
|
580
|
+
| `--api-url <url>` | Override the API base URL |
|
|
573
581
|
|
|
574
582
|
For exact required flags and accepted enum values, see the command source under `packages/sdk/src/cli/commands/project/`.
|
|
575
583
|
|
|
584
|
+
### Command Boundary
|
|
585
|
+
|
|
586
|
+
- `/project` is a convenience router to these `elevasis-sdk project:*` commands. It is not a separate project system.
|
|
587
|
+
- `/work` is for docs-backed in-progress task tracking and session resume, not project CRUD.
|
|
588
|
+
- `/external` is for managing standalone apps in `external/`, not project records inside a deployed system.
|
|
589
|
+
- `/adev` is for implementation, debugging, testing, and platform execution flows. Use it when you need to build or run agent/workflow code rather than update project data.
|
|
590
|
+
|
|
576
591
|
---
|
|
577
592
|
|
|
578
593
|
## Global Flags
|
|
@@ -593,4 +608,4 @@ These flags are accepted by all commands:
|
|
|
593
608
|
|
|
594
609
|
---
|
|
595
610
|
|
|
596
|
-
**Last Updated:** 2026-04-
|
|
611
|
+
**Last Updated:** 2026-04-17
|
|
@@ -37,7 +37,8 @@ elevasis-sdk deploy
|
|
|
37
37
|
Uploading... done
|
|
38
38
|
|
|
39
39
|
Deployed! 4 resources live.
|
|
40
|
-
|
|
40
|
+
Version: v1.0.0
|
|
41
|
+
Duration: 4.2s
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
Each deploy creates a new deployment record. The previous active deployment is automatically stopped. You can view all deployments with `elevasis-sdk deployments`.
|
|
@@ -62,9 +63,8 @@ The CLI validates your resources before bundling. Validation uses the same `Reso
|
|
|
62
63
|
Authenticating... done (acme-corp)
|
|
63
64
|
Validating...
|
|
64
65
|
ERROR Duplicate resource ID 'onboard-client' in organization 'Acme Corp'
|
|
65
|
-
ERROR Workflow step 'send-email' references non-existent next step 'notify'
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Deploy aborted.
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Run `elevasis-sdk check` at any time to validate without deploying.
|
|
@@ -98,8 +98,9 @@ The CLI also accepts a `--api-url` flag on every command, which takes priority o
|
|
|
98
98
|
**API URL resolution order:**
|
|
99
99
|
|
|
100
100
|
1. `--api-url` flag (highest priority)
|
|
101
|
-
2. `
|
|
102
|
-
3. `
|
|
101
|
+
2. `--prod` flag (forces production URL, overrides `NODE_ENV=development`)
|
|
102
|
+
3. `ELEVASIS_API_URL` environment variable
|
|
103
|
+
4. `NODE_ENV`-based default (production: `https://api.elevasis.io`, development: localhost)
|
|
103
104
|
|
|
104
105
|
**Setting `ELEVASIS_PLATFORM_KEY` via `.env` file:**
|
|
105
106
|
|
|
@@ -4,7 +4,7 @@ description: Shared UI and API surfaces for packaged business systems like Lead
|
|
|
4
4
|
loadWhen: "Building against packaged app features, list-oriented lead gen, CRM, or project-management surfaces"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
The SDK now covers more than raw workflow execution. The published `@elevasis/ui@2.
|
|
7
|
+
The SDK now covers more than raw workflow execution. The published `@elevasis/ui@2.9.0` package includes:
|
|
8
8
|
|
|
9
9
|
- manifest-backed shared features under `@elevasis/ui/features/<name>`
|
|
10
10
|
- headless shell/provider exports under `@elevasis/ui/provider`
|
|
@@ -16,7 +16,7 @@ Use this page to understand what the shared shell actually owns, which surfaces
|
|
|
16
16
|
|
|
17
17
|
## Shared Shell Contract
|
|
18
18
|
|
|
19
|
-
`ElevasisFeaturesProvider` and `FeatureShell` give you a shared manifest-driven shell layer, not a full application shell. In `2.
|
|
19
|
+
`ElevasisFeaturesProvider` and `FeatureShell` give you a shared manifest-driven shell layer, not a full application shell. In `2.9.0` they handle:
|
|
20
20
|
|
|
21
21
|
- feature registration
|
|
22
22
|
- feature-gated nav contribution
|
|
@@ -79,27 +79,27 @@ Dashboard is not part of that shared manifest shell by default. `@elevasis/ui/fe
|
|
|
79
79
|
|
|
80
80
|
## Contract Matrix
|
|
81
81
|
|
|
82
|
-
This is the published contract split in `@elevasis/ui@2.
|
|
82
|
+
This is the published contract split in `@elevasis/ui@2.9.0`:
|
|
83
83
|
|
|
84
|
-
| Contract type
|
|
85
|
-
|
|
|
86
|
-
| Manifest-backed shared subshell features | Feature manifest plus shared sidebar/pages, mounted through `@elevasis/ui/provider`
|
|
87
|
-
| Manifest-backed nav/app sections
|
|
88
|
-
| Exported compatibility components
|
|
89
|
-
| Compatibility barrel
|
|
84
|
+
| Contract type | What is published | Current examples |
|
|
85
|
+
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
86
|
+
| Manifest-backed shared subshell features | Feature manifest plus shared sidebar/pages, mounted through `@elevasis/ui/provider` | Lead Gen, CRM, Projects, Operations, SEO |
|
|
87
|
+
| Manifest-backed nav/app sections | Feature manifest contributes gated nav and route metadata, but the host still owns the route pages or shell chrome | Monitoring, Settings |
|
|
88
|
+
| Exported compatibility components | Reusable components exported without a manifest-backed shell contract | Dashboard components such as `Dashboard`, `OperationsOverview`, `ResourceOverview`, `RecentExecutionsByResource`, `UnresolvedErrorsTeaser` |
|
|
89
|
+
| Compatibility barrel | Existing imports remain available from `@elevasis/ui/components`, but new host integrations should prefer feature/provider subpaths | Manifests, sidebars, and page components re-exported for compatibility |
|
|
90
90
|
|
|
91
|
-
Projects is currently the only packaged system with a first-class `elevasis-sdk project:*` CLI family. Lead Gen and CRM are still primarily UI + API + workflow/runtime surfaces, and browser-facing interactions remain REST-driven even when runtime tools exist.
|
|
91
|
+
Projects is currently the only packaged system with a first-class `elevasis-sdk project:*` CLI family. Treat that CLI family as the canonical project-management path. Lead Gen and CRM are still primarily UI + API + workflow/runtime surfaces, and browser-facing interactions remain REST-driven even when runtime tools exist.
|
|
92
92
|
|
|
93
93
|
## System Map
|
|
94
94
|
|
|
95
|
-
| System
|
|
96
|
-
|
|
|
97
|
-
| Lead Gen
|
|
98
|
-
| CRM
|
|
99
|
-
| Projects
|
|
100
|
-
| Dashboard
|
|
101
|
-
| Monitoring | `/monitoring/*`
|
|
102
|
-
| Settings
|
|
95
|
+
| System | Primary route space | Shared UI surface | Main data surface | Best SDK entry point |
|
|
96
|
+
| ---------- | ------------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
97
|
+
| Lead Gen | `/lead-gen/*` | Lead Gen pages, sidebars, list detail page, run dialogs | Acquisition list APIs + list/acqDb platform tools | `@elevasis/ui/features/lead-gen`, `@elevasis/ui/hooks`, `@elevasis/sdk/worker` |
|
|
98
|
+
| CRM | `/crm/*` | CRM sidebar, overview widgets, deal/detail pages, workbench panels | Deal APIs, recent-activity API, acquisition-backed hooks, and the `crm` runtime adapter | `@elevasis/ui/features/crm`, `@elevasis/ui/hooks`, `@elevasis/sdk/worker` |
|
|
99
|
+
| Projects | `/projects/*` | Projects list page, milestones/tasks/notes sidebars and pages | Project, milestone, task, note REST endpoints + CLI | `@elevasis/ui/features/delivery`, `@elevasis/ui/hooks/delivery`, `elevasis-sdk project:*` |
|
|
100
|
+
| Dashboard | host-owned | Dashboard and overview components only; no shared manifest-backed nav contract | Host-chosen API composition | `@elevasis/ui/features/dashboard` |
|
|
101
|
+
| Monitoring | `/monitoring/*` | Monitoring nav metadata plus exported pages/components; no shared `FeatureShell` sidebar today | Monitoring REST APIs | `@elevasis/ui/features/monitoring` |
|
|
102
|
+
| Settings | `/settings/*` | Settings nav metadata plus exported settings components; no shared `FeatureShell` sidebar today | Settings/account/org REST APIs | `@elevasis/ui/features/settings` |
|
|
103
103
|
|
|
104
104
|
---
|
|
105
105
|
|
|
@@ -131,17 +131,17 @@ The most important page for downstream agents is `LeadGenListDetailPage`. It com
|
|
|
131
131
|
|
|
132
132
|
`@elevasis/ui/hooks` exposes list-aware hooks backed by the acquisition API:
|
|
133
133
|
|
|
134
|
-
| Hook
|
|
135
|
-
|
|
|
136
|
-
| `useLists()`
|
|
137
|
-
| `useList(listId)`
|
|
138
|
-
| `useListsTelemetry()`
|
|
139
|
-
| `useListProgress(listId)`
|
|
140
|
-
| `useListExecutions(listId)`
|
|
141
|
-
| `useCreateList()`
|
|
142
|
-
| `useUpdateList(listId)`
|
|
143
|
-
| `useUpdateListConfig(listId)` | `PATCH /acquisition/lists/:listId/config`
|
|
144
|
-
| `useDeleteList()`
|
|
134
|
+
| Hook | HTTP path |
|
|
135
|
+
| ----------------------------- | ------------------------------------------- |
|
|
136
|
+
| `useLists()` | `GET /acquisition/lists` |
|
|
137
|
+
| `useList(listId)` | `GET /acquisition/lists/:listId` |
|
|
138
|
+
| `useListsTelemetry()` | `GET /acquisition/lists/telemetry` |
|
|
139
|
+
| `useListProgress(listId)` | `GET /acquisition/lists/:listId/progress` |
|
|
140
|
+
| `useListExecutions(listId)` | `GET /acquisition/lists/:listId/executions` |
|
|
141
|
+
| `useCreateList()` | `POST /acquisition/lists` |
|
|
142
|
+
| `useUpdateList(listId)` | `PATCH /acquisition/lists/:listId` |
|
|
143
|
+
| `useUpdateListConfig(listId)` | `PATCH /acquisition/lists/:listId/config` |
|
|
144
|
+
| `useDeleteList()` | `DELETE /acquisition/lists/:listId` |
|
|
145
145
|
|
|
146
146
|
Lead Gen also sits on broader acquisition endpoints for companies and contacts:
|
|
147
147
|
|
|
@@ -233,6 +233,15 @@ That means downstream users can build against CRM with shared UI, API, and runti
|
|
|
233
233
|
|
|
234
234
|
Projects is the packaged delivery/project-management system. It has both a shared UI surface and a first-class CLI surface in `elevasis-sdk`, plus a dedicated runtime adapter for workflow and agent use.
|
|
235
235
|
|
|
236
|
+
Within Organization OS, this packaged system sits on the **delivery** semantic domain but is exposed as the first-class feature ID **`projects`**. In practice that means:
|
|
237
|
+
|
|
238
|
+
- the published UI manifest is `deliveryManifest`
|
|
239
|
+
- the manifest gates against `featureId: 'projects'`
|
|
240
|
+
- the default navigation surface is `projects.index`
|
|
241
|
+
- the underlying semantic entities and capabilities still use delivery-scoped IDs such as `delivery.project`, `delivery.milestone`, `delivery.task`, and `delivery.projects.view`
|
|
242
|
+
|
|
243
|
+
Treat `elevasis-sdk project:*` as the operational interface to that same contract, not as a separate project system layered beside Organization OS.
|
|
244
|
+
|
|
236
245
|
### Shared UI Surface
|
|
237
246
|
|
|
238
247
|
`@elevasis/ui/features/delivery` exports:
|
|
@@ -247,20 +256,20 @@ Projects is the packaged delivery/project-management system. It has both a share
|
|
|
247
256
|
|
|
248
257
|
`@elevasis/ui/hooks/delivery` talks to the project-management API:
|
|
249
258
|
|
|
250
|
-
| Hook
|
|
251
|
-
|
|
|
252
|
-
| `useProjects()`
|
|
253
|
-
| `useProject(id)`
|
|
254
|
-
| `useTasks({ projectId })`
|
|
255
|
-
| `useMilestones({ projectId })`
|
|
256
|
-
| `useProjectNotes({ projectId })` | `GET /projects/:projectId/notes`
|
|
257
|
-
| `useCreateTask()`
|
|
258
|
-
| `useUpdateTask()`
|
|
259
|
-
| `useCreateNote()`
|
|
259
|
+
| Hook | HTTP path |
|
|
260
|
+
| -------------------------------- | ------------------------------------- |
|
|
261
|
+
| `useProjects()` | `GET /projects` |
|
|
262
|
+
| `useProject(id)` | `GET /projects/:id` |
|
|
263
|
+
| `useTasks({ projectId })` | `GET /projects/:projectId/tasks` |
|
|
264
|
+
| `useMilestones({ projectId })` | `GET /projects/:projectId/milestones` |
|
|
265
|
+
| `useProjectNotes({ projectId })` | `GET /projects/:projectId/notes` |
|
|
266
|
+
| `useCreateTask()` | `POST /project-tasks` |
|
|
267
|
+
| `useUpdateTask()` | `PATCH /project-tasks/:id` |
|
|
268
|
+
| `useCreateNote()` | `POST /project-notes` |
|
|
260
269
|
|
|
261
270
|
### CLI Surface
|
|
262
271
|
|
|
263
|
-
The SDK CLI
|
|
272
|
+
The SDK CLI exposes the canonical project-management commands:
|
|
264
273
|
|
|
265
274
|
```bash
|
|
266
275
|
elevasis-sdk project:list
|
|
@@ -277,6 +286,19 @@ elevasis-sdk project:task:save <task-id> --current-state "Implemented the API sl
|
|
|
277
286
|
|
|
278
287
|
This matters for downstream user agents because project tasks now have a resumable machine-readable surface. `project:task:resume` returns `resume_context`, and `project:task:save` updates it.
|
|
279
288
|
|
|
289
|
+
For semantic context, the CLI maps onto the same Organization OS contract that drives the shared shell:
|
|
290
|
+
|
|
291
|
+
- project records correspond to the `projects` feature in the organization model
|
|
292
|
+
- the shared UI route space resolves through `projects.index`
|
|
293
|
+
- status semantics still come from `organizationModel.delivery`, not from a separate CLI-only schema
|
|
294
|
+
|
|
295
|
+
### Command Boundary
|
|
296
|
+
|
|
297
|
+
- `/project` should route here. It is a convenience layer over `elevasis-sdk project:*`, not a separate system.
|
|
298
|
+
- `/work` should stay focused on docs-backed task tracking and resume notes.
|
|
299
|
+
- `/external` applies only to standalone apps in `external/`.
|
|
300
|
+
- `/adev` applies when building, testing, debugging, or executing resources, not when managing project records.
|
|
301
|
+
|
|
280
302
|
---
|
|
281
303
|
|
|
282
304
|
## Choosing The Right Surface
|
|
@@ -88,9 +88,8 @@ import { useState } from 'react'
|
|
|
88
88
|
import { Modal, Button, Text } from '@mantine/core'
|
|
89
89
|
import { ResourceExecuteForm } from '@elevasis/ui/features/operations'
|
|
90
90
|
import { useExecuteAsync } from '@elevasis/ui/hooks'
|
|
91
|
-
import type { SerializedExecutionFormSchema } from '@elevasis/ui/hooks'
|
|
92
91
|
|
|
93
|
-
const formSchema
|
|
92
|
+
const formSchema = {
|
|
94
93
|
fields: [
|
|
95
94
|
{ name: 'topic', label: 'Topic', type: 'text', required: true },
|
|
96
95
|
],
|
|
@@ -40,67 +40,55 @@ At the start of every session the agent runs these steps silently before respond
|
|
|
40
40
|
|
|
41
41
|
## Slash Commands
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Skills are Markdown instruction files in `.claude/skills/`. When you type `/skill-name` in a Claude Code session, the agent reads the corresponding `SKILL.md` and follows its instructions.
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
The following skills are scaffolded by `elevasis-sdk init` and committed to version control so collaborators get the same experience:
|
|
46
46
|
|
|
47
|
-
|
|
|
48
|
-
| ----------- |
|
|
49
|
-
| `/
|
|
50
|
-
| `/
|
|
51
|
-
| `/
|
|
52
|
-
| `/
|
|
47
|
+
| Skill | File | Purpose |
|
|
48
|
+
| ----------- | -------------------------- | -------------------------------------------------------- |
|
|
49
|
+
| `/work` | `skills/work/SKILL.md` | Task tracking -- list, create, save, resume, complete |
|
|
50
|
+
| `/elevasis` | `skills/elevasis/SKILL.md` | SDK operations -- check, deploy, exec |
|
|
51
|
+
| `/deploy` | `skills/deploy/skill.md` | Full deploy pipeline (test, build, commit, push) |
|
|
52
|
+
| `/setup` | `skills/setup/SKILL.md` | First-time project setup (placeholder replacement, deps) |
|
|
53
|
+
| `/status` | `skills/status/SKILL.md` | Quick project health check |
|
|
54
|
+
| `/continue` | `skills/continue/SKILL.md` | Resume in-progress work from docs |
|
|
55
|
+
| `/project` | `skills/project/SKILL.md` | Route project management to `elevasis-sdk project:*` |
|
|
56
|
+
| `/sync` | `skills/sync/SKILL.md` | Pull latest, wipe caches, fresh reinstall |
|
|
57
|
+
| `/explore` | `skills/explore/SKILL.md` | Codebase exploration anchored to docs |
|
|
58
|
+
| `/save` | `skills/save/SKILL.md` | Auto-manage docs from conversation context |
|
|
59
|
+
| `/dsp` | `skills/dsp/SKILL.md` | Parallel agent dispatch for implementation tasks |
|
|
53
60
|
|
|
54
|
-
|
|
61
|
+
### Key Skills
|
|
55
62
|
|
|
56
|
-
|
|
63
|
+
**`/setup`** -- First-time project setup. Replaces template placeholders, installs dependencies, configures `.env`, verifies the project, and optionally runs a first deploy.
|
|
57
64
|
|
|
58
|
-
|
|
65
|
+
**`/deploy`** -- Full deploy pipeline: type-check, validate resources, commit, deploy (auto-regenerates `docs/index.md` and `docs/resources.md`), verify platform, and optionally push.
|
|
59
66
|
|
|
60
|
-
|
|
61
|
-
- **`/meta`** (no arguments) -- Project health status. Shows current template version, SDK version, profile summary, a quick drift check, and last deployment status.
|
|
62
|
-
- **`/meta fix`** -- SDK upgrade check and drift repair. Step 0 offers to run `pnpm update @elevasis/sdk` and merge template changes. Steps 1-8 repair drift: missing managed files, gitignore entries, CLAUDE.md sections, memory structure, doc cross-references, settings, rules health, and project map freshness.
|
|
63
|
-
- **`/meta deploy`** -- Full 9-step deploy pipeline: validate, type-check, verify docs, commit, deploy (auto-regenerates `docs/project-map.mdx`), verify platform, update deployment state, and optionally push.
|
|
64
|
-
- **`/meta health`** -- Execution debugging and resource status; shows recent executions, analyzes failures, and checks environment connectivity.
|
|
67
|
+
**`/elevasis`** -- SDK operations entry point: `check` validates resource definitions, `deploy` bundles and uploads, `exec` runs a resource with input.
|
|
65
68
|
|
|
66
|
-
|
|
69
|
+
**`/work`** -- File-based task lifecycle. Creates, resumes, saves, and completes task docs in `docs/in-progress/`. It tracks in-progress work state, not project records.
|
|
67
70
|
|
|
68
|
-
|
|
71
|
+
**`/status`** -- Quick project health check: shows SDK version, deployed resources, last deploy date, and environment status.
|
|
69
72
|
|
|
70
|
-
|
|
71
|
-
- **`/docs create [description]`** -- Interview-driven reference doc creation. If the doc is about a specific resource, the agent scans `src/` and pre-populates from code (config, schemas, step names, platform tools). Scaffolds sections appropriate to the doc type (resource guide, integration guide, architecture notes, process doc, or general reference).
|
|
72
|
-
- **`/docs verify [file?]`** -- Interactive standalone version of `/meta fix` step 5. Cross-references resource IDs, schema fields, and platform tools in docs against `src/`. Shows a summary, then guides fixes interactively. Can be scoped to a single file.
|
|
73
|
+
**`/save`** -- Auto-manages docs from conversation context: writes or updates docs based on what was discussed in the session.
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
**`/explore`** -- Codebase exploration anchored to `docs/`. Reads the doc map first, then drills into source as needed.
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
**`/continue`** -- Resumes in-progress work by reading `docs/in-progress/` and picking up where the last session left off.
|
|
77
78
|
|
|
78
|
-
|
|
79
|
+
**`/project`** -- Project-management routing for milestones, tasks, notes, and status. It should call the canonical `elevasis-sdk project:*` CLI surface rather than inventing a parallel workflow.
|
|
79
80
|
|
|
80
|
-
-
|
|
81
|
-
- **Auto-create** -- When the user describes work that doesn't match an existing task, the agent creates a task doc automatically. If intent is clear, it skips the interview; if ambiguous, it asks 1-2 focused questions.
|
|
82
|
-
- **Auto-save** -- The agent saves progress silently when the conversation context is getting heavy, the user is wrapping up, or 2+ steps have been completed without saving. Updates progress markers, files modified, and resume context.
|
|
83
|
-
- **Auto-resume** -- When the user picks an existing task (by number, name, or keyword), the agent loads context and resumes automatically.
|
|
84
|
-
- **Suggest complete** -- When all plan steps are marked COMPLETE, the agent suggests finalizing: "All steps for '`{task}`' look done. Want me to finalize it?" It never auto-invokes completion. The complete flow validates readiness, cleans the doc (strips resume context, removes progress markers, targets 200-400 lines), determines destination in `docs/`, confirms with user, moves, and verifies.
|
|
81
|
+
That routing is interface-first, not a separate semantic model. `/project` should treat the SDK CLI as the operational entrypoint for the Organization OS delivery/projects contract: `deliveryManifest` in the shared UI, `featureId: 'projects'` in the organization model, and `organizationModel.delivery` for project/milestone/task status semantics.
|
|
85
82
|
|
|
86
|
-
|
|
83
|
+
When these command families overlap conceptually, use this boundary:
|
|
87
84
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
│ ├── index.mdx # Main task doc
|
|
92
|
-
│ └── attio-schema.mdx # Supporting analysis
|
|
93
|
-
├── email-templates.mdx # Small standalone task
|
|
94
|
-
└── ui-dashboard/
|
|
95
|
-
├── index.mdx # Main task doc
|
|
96
|
-
└── component-list.mdx # Supporting analysis
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
The numbered list is derived from scanning this directory. `index.mdx` is treated as the primary task doc for a directory. On complete, destination in `docs/` is determined by scanning for related existing directories.
|
|
85
|
+
- `/project` -- update or inspect project data in the shared Projects system
|
|
86
|
+
- `/work` -- capture implementation progress and resume context in docs
|
|
87
|
+
- `/adev` -- build, debug, test, or execute resources
|
|
100
88
|
|
|
101
|
-
|
|
89
|
+
**`/dsp`** -- Dispatches subagents in parallel for implementation tasks that can run concurrently.
|
|
102
90
|
|
|
103
|
-
|
|
91
|
+
**`/sync`** -- Pulls latest changes, wipes all `node_modules` and caches, and runs a fresh reinstall.
|
|
104
92
|
|
|
105
93
|
## Developer Profile
|
|
106
94
|
|
|
@@ -138,14 +126,26 @@ The agent does not prompt for confirmation on minor updates. Major changes (leve
|
|
|
138
126
|
|
|
139
127
|
## Rules System
|
|
140
128
|
|
|
141
|
-
|
|
129
|
+
Ten rule files are scaffolded in `.claude/rules/`. Rule files are auto-injected by Claude Code when their path patterns match the current file being edited -- no manual loading needed.
|
|
130
|
+
|
|
131
|
+
Rules injected for operations source files (`operations/src/`):
|
|
132
|
+
|
|
133
|
+
- **`platform.md`** -- SDK adapter patterns, typed adapters, platform tool usage.
|
|
134
|
+
- **`error-handling.md`** -- Error types (`ExecutionError`, `PlatformToolError`), retry behavior.
|
|
135
|
+
- **`execution.md`** -- Worker thread model, timeouts, concurrency, org isolation.
|
|
136
|
+
- **`observability.md`** -- Logging with `context.logger`, step-level auto-logging, debugging.
|
|
137
|
+
- **`deployment.md`** -- Deploy commands, dev vs prod, version bumping, common errors.
|
|
138
|
+
|
|
139
|
+
Rules injected for docs files (`docs/`):
|
|
142
140
|
|
|
143
|
-
|
|
141
|
+
- **`docs.md`** -- Documentation structure, frontmatter conventions, auto-generated files.
|
|
142
|
+
- **`task-tracking.md`** -- Task doc conventions, injected for in-progress files.
|
|
144
143
|
|
|
145
|
-
|
|
146
|
-
- **`workspace-patterns.md`** (INIT_ONLY) -- Injected project-wide. Starts empty; grows via error promotion (3+ recurrences of the same error become a rule). Never overwritten by updates.
|
|
144
|
+
Additional contextual rules:
|
|
147
145
|
|
|
148
|
-
|
|
146
|
+
- **`frontend.md`** -- React/Mantine patterns, injected for UI source files.
|
|
147
|
+
- **`shared-types.md`** -- Cross-runtime type conventions, injected for foundations files.
|
|
148
|
+
- **`organization-os.md`** -- Organization model and feature shell conventions.
|
|
149
149
|
|
|
150
150
|
## Interaction Guidance
|
|
151
151
|
|
|
@@ -153,4 +153,4 @@ The `CLAUDE.md` Interaction Guidance section translates skill dimensions from `m
|
|
|
153
153
|
|
|
154
154
|
---
|
|
155
155
|
|
|
156
|
-
**Last Updated:** 2026-
|
|
156
|
+
**Last Updated:** 2026-04-17
|
|
@@ -14,22 +14,25 @@ Running `elevasis-sdk init my-project` produces the following agent infrastructu
|
|
|
14
14
|
|
|
15
15
|
```
|
|
16
16
|
.claude/
|
|
17
|
-
├── settings.json #
|
|
18
|
-
├── commands/
|
|
19
|
-
│ ├── meta.md # Project lifecycle (init, fix, deploy, health)
|
|
20
|
-
│ ├── docs.md # Browse, create, and verify permanent docs
|
|
21
|
-
│ ├── tutorial.md # Progressive learning path (3 tracks)
|
|
22
|
-
│ └── work.md # Task tracking
|
|
17
|
+
├── settings.json # Hook registrations (PostToolUse, PostToolUseFailure)
|
|
23
18
|
├── hooks/
|
|
24
|
-
│
|
|
19
|
+
│ ├── post-edit-validate.mjs # Formatting/type-check hook (after Write/Edit/MultiEdit)
|
|
20
|
+
│ └── tool-failure-recovery.mjs # Error recovery hook (after Bash failures)
|
|
25
21
|
├── skills/
|
|
26
|
-
│
|
|
22
|
+
│ ├── work/SKILL.md # Task tracking across sessions
|
|
23
|
+
│ ├── elevasis/SKILL.md # SDK operations (check, deploy, exec)
|
|
24
|
+
│ ├── deploy/skill.md # Deploy pipeline
|
|
25
|
+
│ ├── setup/SKILL.md # First-time project setup
|
|
26
|
+
│ ├── status/SKILL.md # Project health check
|
|
27
|
+
│ └── ... # Additional skills (dsp, continue, project, sync, explore, save)
|
|
28
|
+
├── scripts/
|
|
29
|
+
│ └── statusline-command.js # Status line command
|
|
27
30
|
└── rules/
|
|
28
31
|
├── sdk-patterns.md # SDK patterns (auto-loaded for src/ files)
|
|
29
32
|
├── docs-authoring.md # MDX conventions (auto-loaded for docs/ files)
|
|
30
|
-
├── memory-conventions.md # Memory conventions (auto-loaded)
|
|
31
|
-
├── project-map.md # Project map conventions (auto-loaded)
|
|
32
33
|
├── task-tracking.md # Task tracking conventions (auto-loaded)
|
|
34
|
+
├── platform.md # Platform tool patterns
|
|
35
|
+
├── error-handling.md # Error handling patterns
|
|
33
36
|
└── workspace-patterns.md # Project-specific patterns (grows over time)
|
|
34
37
|
```
|
|
35
38
|
|