---
title: Getting Started
description: Set up your Elevasis SDK project and run your first deployment
---

**Prerequisites:** Node.js 20+ and pnpm (`npm install -g pnpm`).

## Your Project

Your Elevasis project is a standalone git repo containing your platform workflows, frontend, and configuration. Clone the repo and install dependencies:

```bash
git clone <your-project-repo-url>
cd my-project
pnpm install
```

After `pnpm install`, all `elevasis-sdk` commands work via the scripts in `package.json` or `pnpm exec elevasis-sdk <command>`.

The project ships with 30 files covering configuration, source, documentation, and Claude Code integration:

```
my-project/
├── CLAUDE.md                       # Project instructions for Claude Code
├── .claude/
│   ├── settings.json               # autoCompact: false
│   ├── commands/
│   │   ├── docs.md                 # Documentation lifecycle
│   │   ├── meta.md                 # Project lifecycle (init, fix, deploy, health)
│   │   ├── tutorial.md             # Progressive learning
│   │   └── work.md                 # Task tracking
│   ├── hooks/
│   │   └── enforce-sdk-boundary.mjs # Blocks file modifications outside project (auto-loaded)
│   ├── scripts/
│   │   └── statusline-command.js   # Dynamic status line script
│   ├── skills/
│   │   └── creds/SKILL.md          # Credential management (auto-triggers)
│   └── rules/
│       ├── sdk-patterns.md         # SDK imports, structure, runtime (auto-loaded)
│       ├── docs-authoring.md       # MDX conventions (auto-loaded)
│       ├── memory-conventions.md   # Memory system conventions (auto-loaded)
│       ├── project-map.md          # Project map conventions (auto-loaded)
│       ├── task-tracking.md        # Task tracking conventions (auto-loaded)
│       └── workspace-patterns.md   # Project-specific patterns (you add these)
├── src/
│   ├── index.ts                    # Registry entry point (aggregates domain barrels)
│   ├── operations/
│   │   ├── index.ts                # Domain barrel (exports workflows + agents)
│   │   └── platform-status.ts     # Platform status workflow (real API example)
│   ├── example/
│   │   ├── index.ts                # Domain barrel (exports workflows + agents)
│   │   └── echo.ts                 # Starter workflow (replace with your own)
│   └── shared/
│       └── .gitkeep                # Cross-domain shared utilities
├── docs/
│   ├── index.mdx                   # Starter documentation page
│   └── in-progress/
│       └── .gitkeep                # Work-in-progress docs directory
├── elevasis.config.ts              # Config with workspace options
├── package.json                    # check-types + deploy scripts
├── tsconfig.json                   # TypeScript config (app-focused)
├── pnpm-workspace.yaml             # Standalone project workspace
├── .env                            # API key only
├── .npmrc                          # auto-install-peers
└── .gitignore                      # Excludes worker temp file, claude files
```

### Set Up Your API Key

Open `.env` and set your API key:

```
ELEVASIS_PLATFORM_KEY=sk_your_key_here
```

The `.env` file is gitignored -- never commit it.

**Note:** Do not add `NODE_ENV` to your `.env`. The SDK treats `undefined` as production by default, which means your project connects to the hosted Elevasis API. Adding `NODE_ENV=development` is the most common setup mistake.

### Guided Setup with Claude Code

After scaffolding, open the project in Claude Code. The agent detects that the project is new and automatically walks you through setup: installing dependencies, configuring `.env`, creating your developer profile in `.claude/memory/`, and optionally running your first deploy. No commands needed -- just answer the questions.

If the automatic setup doesn't trigger, you can start it manually with `/meta init`.

---

## First Deployment

Validate your resources and deploy:

```bash
elevasis-sdk check    # Validate resource definitions
elevasis-sdk deploy   # Bundle and deploy to the platform
```

`elevasis-sdk check` runs validation without deploying. Fix any errors it reports before running `elevasis-sdk deploy`.

`elevasis-sdk deploy` bundles your `src/` code and `docs/` documentation into a single deployment transaction. Both ship atomically -- there is no separate upload step for documentation.

After a successful deploy, confirm the resources are live:

```bash
elevasis-sdk resources       # List deployed resources
elevasis-sdk deployments     # Show deployment history
```

---

## First Execution

Execute the scaffolded echo workflow to verify end-to-end connectivity:

```bash
elevasis-sdk exec echo --input '{"message": "hello"}'
```

View the execution result:

```bash
elevasis-sdk executions echo    # Execution history
elevasis-sdk execution echo \<execution-id\>  # Full detail for one execution
```

Replace `<execution-id>` with the ID returned from the executions list.

---

## Next Steps

- **Open in Claude Code** -- Setup runs automatically on first session (installs deps, configures `.env`, creates your developer profile)
- [Development Framework](framework/index.mdx) -- How Claude Code helps you build
- [Resources](resources/index.mdx) -- Define workflows and agents
- [CLI Reference](cli.mdx) -- Full command reference with flags
- [Deployment](deployment/index.mdx) -- Deployment lifecycle and environment variables

When a new SDK version is released, run `/meta fix` in Claude Code for an interactive upgrade that includes SDK update, drift repair, and documentation verification. To update the SDK package itself directly, run `pnpm update @elevasis/sdk`.

---

**Last Updated:** 2026-02-27
